Open Technologicat opened 8 months ago
Hello, I am a frequent user of this tool and would really love to help out. I can start with investigating what support is needed for anything after Python 3.6 as well as adding automated tests.
@mschleu Hi! Thanks for the interest!
Automated tests would be much appreciated!
If I recall, Python 3.7 didn't change the AST, but 3.8 did.
To help get started on support for 3.8+, see my notes in #51, in https://github.com/Technologicat/unpythonic/issues/1#issuecomment-819152810, and optionally also the source code of mcpyrate.unparser.
@Technologicat Great, thank you for the material. I will get started on it this week.
@mschleu Ok. Let me know if you have any questions. I've done a fair bit of work with the AST (up to Python 3.10) in unpythonic
and in mcpyrate
, so I may be able to answer questions if needed.
Hello! Thank you for your hard work!
I'm a Junior Pipeline and Tools Developer in a small animation studio based in Spain. I stumbled across pyan
looking for something exactly like this, something that could extend documentation for our projects and future personal side-projects.
I wanted to help you, albeit my experience is reduced, by any means that I can, maybe small contributions or just being here from time to time.
I'll surf the issues from time to time and if i'm able to contribute, I'll gladly help.
For several years now, I have no longer had the resources to actively contribute to the codebase of
pyan
, as I have not needed the tool myself.Since there is a continuing community interest in
pyan
, I would like to hand over development to the community. Therefore, as posted in README.md as of November 2023, thepyan
project is looking for volunteer contributors.While I have no time to work on the codebase, I will remain available to discuss the design and issues, review PRs, and possibly provide help with Python metaprogramming, provided that my free time allows (which is not 100% guaranteed).
If you are interested in helping, post a comment here, and we'll work out the details. See also #52 (general discussion of the future of
pyan
) and #63 (setting up PyPI write access).What you will need to be prepared for:
:=
walrus operator.pyan
's analyzer does not know about it, thus missing some assignments. Adding that would be a good place to start.symtable
to not report the scopes for comprehensions (#93).pyan
.Examples of things that need doing:
pyan
is trying too hard to be a dynamic analyzer (simple is better than complex). Briefly put, it shouldn't even attempt anything that, if done manually, would require running code in your head. Looking at definitions, and at their placement in the source code, and drawing conclusions from that information, is all that a static analyzer should do.