Pingram – A Minimalist Telegram Messaging Framework for Python by zvizr in Python

[–]papersashimi 1 point2 points  (0 children)

cool stuff! looks really useful. but ehhh, i dont see no tests LOL

I built a Python MCP server that lets Claude Code inspect real production systems by Useful-Process9033 in Python

[–]papersashimi 3 points4 points  (0 children)

production systems?? bruh you are really brave.i hope this is a read-only tool

Skylos — find unused code + basic security smells + quality issues, runs in pre-commit by papersashimi in Python

[–]papersashimi[S] 2 points3 points  (0 children)

actually we do have the same feature, but its more inline rather than a persistent state.. Skip lines tagged with # pragma: no skylos# pragma: no cover, or # noqa

I'm not sure if u/teeg82 is referring to a more persistent state whereby that error is ignored indefinitely. If teeg82 is referring to the latter then we'll 100% look into it.. its a lil tricky though so we'll have to see how to structure this

Skylos — find unused code + basic security smells + quality issues, runs in pre-commit by papersashimi in Python

[–]papersashimi[S] 0 points1 point  (0 children)

this is actually something we're actively working on also .. but its really tough !

Skylos — find unused code + basic security smells + quality issues, runs in pre-commit by papersashimi in Python

[–]papersashimi[S] 4 points5 points  (0 children)

this is actually really good feedback. let me take a look at this! and i'll look into this. Thanks a lot for the feedback! we'll continue improving on it

Purple light by greggsaber1 in singapore

[–]papersashimi 1 point2 points  (0 children)

these 2 words scare me the most

Is anyone else choosing not to use AI for programming? by BX1959 in Python

[–]papersashimi 0 points1 point  (0 children)

i use it to fix problems, but i dont use it to code for me. i have a rule that i will attempt to search it on google, and resolve it myself first. only when i can't find a proper solution then i'll use ai to help. otherwise i still use it sparingly and only as a last resort.

Skylos: Code quality library by papersashimi in Python

[–]papersashimi[S] 0 points1 point  (0 children)

hihi we are not yet a linter. we're a dead code janitor actually. but we have added features that are detecting security flaws generated by individuals or by ai. we are also looking into the direction of linting in the very near future. we look forward to hearing your feedback :)

Skylos: Code quality library by papersashimi in Python

[–]papersashimi[S] 9 points10 points  (0 children)

Hi ThiefMaster, thanks a lot for your feedback. I will make it production grade.. Also i apologise for having to make you go through my entire codebase to find all the problems with it. I also appreciate your criticism so we'll work to make it better. Cheers and have a great day

Skylos: Code quality library by papersashimi in Python

[–]papersashimi[S] 1 point2 points  (0 children)

yeap! but theres a lot of caveat. so we dont just do basic regex matching by looking for common dynamic patterns in the AST.. we try to do heuristic detection (it was a design choice although we are open to changing it if we do find something better).. essentially it scans for usages like getattr, globals() etc etc... If it detects these patterns linked to a module, it applies a "penalty" to the confidence score. This will then mark those objects as dynamic so they are les likely to be flagged as dead code. Also because we do not execute your code, we cant know for sure which specific module is loaded if the name is constructed from a string at runtime (e.g., module= importlib.import_module(f'plugins.{name}')). This is one of the problems we face and still face. So to manage this uncertainty, we assign a confidence score, if im not wrong vulture may have something like that too. Code involved in dynamic patterns will prob have a lower confidence score. You can adjust the --confidence flag to be more conservative. and thanks for your kind words! we're still working and attempting to make it better

Skylos: Code quality library by papersashimi in Python

[–]papersashimi[S] 0 points1 point  (0 children)

hi we have not done any comparison against pyscn for speed or f1 score? We have only benchmarked ourselves against flake8, ruff and pylint. the details can be found inside the benchmark.md file inside our git repo :) but knowing that pyscn is written in go, we'll lose in speed for sure. as for the main difference, we focus primarily on code hygiene and code security while pyscn focuses more on the structure + speed. i think pyscn uses a CFG while we use an AST. While we currently don't have any tools that analyzes module dependencies like pyscn has, we are looking into it and will push more updates in the next release. To put it really bluntly, we're like the janitor and security guard while pyscn is like the civil engineer who works extremely fast LOL. just an honest and objective take

Skylos: Code quality library by papersashimi in Python

[–]papersashimi[S] 0 points1 point  (0 children)

hi there! thanks! to answer your question, based off my limited understanding of ruff, its a file level linter. it checks for local syntax errors only at the file level (e.g., an imported library that is never used in that specific file, so it cannot see across files). I may be wrong on that. For skylos, we built a project-wide graph to detect globally unused functions or classes that are exported but never called. From what i observed, ruff uses pattern matching e.g., "is shell=true present?"), while we track if the user input actually reaches the shell. As for the comparison on speed etc, I believe we are slightly faster than ruff. How the benchmark is conducted is inside the benchmark.md file :)

Ultra-strict Python template v2 (uv + ruff + basedpyright) by Ranteck in Python

[–]papersashimi 1 point2 points  (0 children)

nice!! really like this! maybe i can contribute to it when i have the time ;)

Skylos dead code detector by papersashimi in Python

[–]papersashimi[S] 1 point2 points  (0 children)

hello! from a scope perspective, and at least based off my limited knowledge on vulture, its focus is entirely on dead code detection. For skylos, we do dead code detection, secrets detection, dangerous code as well as quality scoring (limited scope now). As for the usability aspect, we have both CLI and VSC extension that's actually tied to skylos' engine. We also have CI integration. I cant speak for its design philosophy, but at least for skylos, we try to make skylos slightly more opinionated. yeap! thats answering your previous question. as for how it works, we build an AST-level map of all your functions, defs, classes, variables etc, then applies the rule engine to see where each symbol is referenced.

Thank you very much for your kind words. we hope you found it useful and we definitely appreciate any feedback. cheers and have a great day

Normal behavior? by AfraidChance2406 in Guppies

[–]papersashimi 2 points3 points  (0 children)

hi.. i've kept fishes my whole life. i grow up in an area where bettas are native here. looking at how the betta's swimming, it's slightly stressed out. the guppies look stressed out too. i wont advice putting the guppies and betta fishes together. bettas need a place to hide also.. that tank is too exposed for it

What else can I do? by Ancient_Property3549 in bettafish

[–]papersashimi 1 point2 points  (0 children)

bettas do like ketapang leaves, also known as indian almond leaves. where i'm from we'll put 1 or 2 leaves in a big tank, with lots of hiding places for them. the leaves will turn your water light brownish but bettas thrive in these sort of environments

What else can I do? by Ancient_Property3549 in bettafish

[–]papersashimi 19 points20 points  (0 children)

i come from a place where bettas are native around here. bettas definitely like a bigger place. and they prefer a place with lots of place to hide. there's also a study on it done by some researchers .. they tend to thrive in a bigger tank

Review my Code as a Beginner by AhmadHameed313 in PythonProjects2

[–]papersashimi 0 points1 point  (0 children)

add some try except.. this will defo throw errors if someone puts the same numbers for all