On 11/7/15 4:04 PM, Noam Yorav-Raphael wrote:
(I'm sorry, I accidentally had mail delivery turned off, so I reply to
myself)
> This sounds like a great feature. Have you considered contributing it
> as a pull request into pylint?
I will be glad to - you can use the code for whatever you like - but I
think that a member of the team should review my code and say what he
thinks and how it should be integrated into the main code.
> I tried this on my large project (Open edX), and it generally worked
> great, but was one crash:
I updated the gist so now I hope it would work - can you check?
Thanks, the crash is fixed. On our code, which has a ton of violations
that we are slowly working through, it's about the same speed as regular
pylint though. I think we need to shift the balance so that more files
have no violations before the caching pays off.
Thanks, this is very interesting, and I hope it's pursued as a pylint
feature.
--Ned.
Cheers,
Noam
On Thu, Nov 5, 2015 at 12:21 PM, Noam Yorav-Raphael
<noamr...@gmail.com <mailto:noamr...@gmail.com>> wrote:
Hi,
Take a look at cached_pylint.py at
https://gist.github.com/noamraph/c933b32deb8304ac7ccd
It records module dependencies, and when a module passes with no
warnings, it records it together with the sha1 of the contents of
each of its dependencies, so when run again it could pass without
checking it.
Dependencies are recorded by using infer and by using
ImportsChecker, so if module A imports something from module B
that was actually defined in module C, both B and C will be
recorded as dependencies of A.
We have a medium sized code repository that took two minutes for
each check. Now pylint only checks the modified modules, and it
takes two seconds.
I tested it with pylint 1.4.3.
Hope this helps someone,
Noam
_______________________________________________
code-quality mailing list
code-quality@python.org
https://mail.python.org/mailman/listinfo/code-quality