I'm fishing for pointers here, this isn't really a specific question I'm expecting a magic answer to - though one such would certainly be gratefully accepted :)
I work on the scons project - scons is a software build system tool, which is controlled by configuration scripts which are written in Python; scons is itself written in Python as well. It would be nice to have the ability for users to be able to check their configuration scripts for errors, poor programming style, etc. We certainly get enough questions about people who have actually botched the Python in their scripts, rather than finding errors in scons itself.
However - scons is not a Python module that you import to make its methods and attributes visible. Rather you run scons the program, and it finds the build scripts and interprets them using Python within the context of the already running program (i.e. exec(compile(scriptdata, ... ). That means if you run, for example, pylint on a perfectly valid script, it will certainly complain, because of the use of the scons "API" which will be well known during the run context but completely unknown to a static checker tool that does not operate in that context.
So the scons model seems to be at odds with how all of the checkers I've looked at operate. I'm thinking that any possible way forward would be to have the checker operate in the scons context - that is, rather than expecting to run it from the command line, it would be activated by something like "scons --check". Anybody have any ideas how one could adapt something to this model? How would one teach a checker what it needs to know about the API? Or is it simpler than I'm making it out to be?
thanks -- mats _______________________________________________ code-quality mailing list -- code-quality@python.org To unsubscribe send an email to code-quality-le...@python.org https://mail.python.org/mailman3/lists/code-quality.python.org/