From chekunkov at gmail.com Sat Aug 1 19:13:34 2015 From: chekunkov at gmail.com (=?UTF-8?B?0JDQu9C10LrRgdCw0L3QtNGAINCn0LXQutGD0L3QutC+0LI=?=) Date: Sat, 1 Aug 2015 20:13:34 +0300 Subject: [code-quality] Python source analyzer which is able to detect TypeError when using `in` with dict.get() Message-ID: Hi there! Recently I submitted such piece of code to one of my projects: if 'text' in d.get('a'): # do something Obviously that was expected to be something like: if 'text' in d.get('a', ''): # do something because .get() might return None, and checking if something is contained in None gives you TypeError. Maybe it was too late, I was trying to finish this piece of code asap and I expected flakes8 to detect this for me, so when PR became green I merged it. When I realized this piece of code is buggy it was too late :) As I don't want to repeat this mistake I decided to take measures. As I was using flakes8 at the moment and it didn't notice this bug - I thought "Hm, maybe I should use some better tool, maybe pyflakes is too simple to catch that". So I tried pylint and prospector. They do almost everything, I believe both tools can bring you coffee in the bed. But they cannot detect such a simple error. No success. And that makes me really unhappy. Do you guys know any Python code analyzer which is able to catch such problem? Is there a chance this can be implemented in pyflakes? If so - should I create bug on https://bugs.launchpad.net/pyflakes/+filebug? -- Best regards, Alexander Chekunkov -------------- next part -------------- An HTML attachment was scrubbed... URL: From me at the-compiler.org Sat Aug 1 19:57:51 2015 From: me at the-compiler.org (Florian Bruhin) Date: Sat, 1 Aug 2015 19:57:51 +0200 Subject: [code-quality] Python source analyzer which is able to detect TypeError when using `in` with dict.get() In-Reply-To: References: Message-ID: <20150801175751.GS18503@tonks> * ????????? ???????? [2015-08-01 20:13:34 +0300]: > Hi there! > > Recently I submitted such piece of code to one of my projects: > > if 'text' in d.get('a'): > # do something > > Obviously that was expected to be something like: > > if 'text' in d.get('a', ''): > # do something > > because .get() might return None, and checking if something is contained in > None gives you TypeError. Maybe it was too late, I was trying to finish > this piece of code asap and I expected flakes8 to detect this for me, so > when PR became green I merged it. When I realized this piece of code is > buggy it was too late :) > > As I don't want to repeat this mistake I decided to take measures. As I was > using flakes8 at the moment and it didn't notice this bug - I thought "Hm, > maybe I should use some better tool, maybe pyflakes is too simple to catch > that". pyflakes is indeed rather simple (compared to pylint). In return it's much faster and reporting less noise ;) Of course your best bet is to write unittests - static analysis will never be a substitute for them :) > So I tried pylint and prospector. They do almost everything, I > believe both tools can bring you coffee in the bed. But they cannot detect > such a simple error. No success. And that makes me really unhappy. Do you > guys know any Python code analyzer which is able to catch such problem? Is > there a chance this can be implemented in pyflakes? If so - should I create > bug on https://bugs.launchpad.net/pyflakes/+filebug? I'm not too aware on how pyflakes works internally, but this seems more like a candidate for pylint than for pyflakes for me. Note it's not *that* simple - the tool has to find out that: - d is a dictionary - dict.get can possibly return None - NoneType doesn't implement __contains__. See https://bitbucket.org/logilab/pylint/issues/589/ for the third part. And all that without running any of the code. I'm guessing Claudiu Popa of pylint will chime in later as well (he reads this list as well), and he'll probably be able to tell you which one of those is missing. Florian -- http://www.the-compiler.org | me at the-compiler.org (Mail/XMPP) GPG: 916E B0C8 FD55 A072 | http://the-compiler.org/pubkey.asc I love long mails! | http://email.is-not-s.ms/ -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 819 bytes Desc: not available URL: From mark at qtrac.eu Tue Aug 4 08:58:34 2015 From: mark at qtrac.eu (Mark Summerfield) Date: Tue, 4 Aug 2015 07:58:34 +0100 Subject: [code-quality] flake8 - finer control Message-ID: <20150804075834.3ec5af87@dino> Hi, I've recently started using flake8 and rather like it. However, there are some cases where I want to turn off particular warnings per-file. For example, in one .py file I have many lines like this: if DEBUG: print(...) Using # noqa on these doesn't work. What I'd like to do is put at the top of this file: # flake8: ignore = E701 since normally I do want this warning. I'm using Debian stable: $ py3 -m flake8 --version 2.2.2 (pep8: 1.4.6, pyflakes: 0.8.1, mccabe: 0.2.1) CPython 3.4.3+ on Linux Best wishes, -- Mark Summerfield, Qtrac Ltd. "Python in Practice" - Dr Dobbs JOLT best book award winner http://www.qtrac.eu/pipbook.html From ahirnish at arista.com Wed Aug 5 10:19:39 2015 From: ahirnish at arista.com (Ahirnish Pareek) Date: Wed, 5 Aug 2015 13:49:39 +0530 Subject: [code-quality] Adding python function arguments related customized rule in pylint In-Reply-To: References: Message-ID: Hi, I have never patched anything to the open-source code and I am confused as to what are the right steps to follow. I need to patch a function argument related checker into the pylint code base. Can someone point me to the steps need to follow to ensure my changes go upstream? Thanks. On Fri, Jul 3, 2015 at 3:02 PM, Claudiu Popa wrote: > On Thu, Jul 2, 2015 at 9:45 AM, Ahirnish Pareek > wrote: > > Hi all, > > > > I was wondering if there's a pattern to calculate Pylint's message-id > > numbers? I know that first alphabet indicates if its a warning, error, > > convention, refactor or fatal but how do we come up with 4-digit number > > after that? > > > > Like - E1605. E = Error but what is 1605? > > > > Thanks. > > > Base id of standard checkers (used in msg and report ids): > 01: base > 02: classes > 03: format > 04: import > 05: misc > 06: variables > 07: exceptions > 08: similar > 09: design_analysis > 10: newstyle > 11: typecheck > 12: logging > 13: string_format > 14: string_constant > 15: stdlib > 16: python3 > > So for E1605, that would be from the python 3 checker. Since it's pretty > hard to remember all this, the message ids will be deprecated at some > point, in favor of using symbolic names. > -- Regards, Ahirnish -------------- next part -------------- An HTML attachment was scrubbed... URL: From me at the-compiler.org Wed Aug 5 10:49:32 2015 From: me at the-compiler.org (Florian Bruhin) Date: Wed, 5 Aug 2015 10:49:32 +0200 Subject: [code-quality] Adding python function arguments related customized rule in pylint In-Reply-To: References: Message-ID: <20150805084932.GC18503@tonks> * Ahirnish Pareek [2015-08-05 13:49:39 +0530]: > I have never patched anything to the open-source code and I am confused as > to what are the right steps to follow. I need to patch a function argument > related checker into the pylint code base. Can someone point me to the > steps need to follow to ensure my changes go upstream? Can you share the plugin in its current state? Then we can probably help you better and see what goes where. Also see the contributing documentation: http://docs.pylint.org/contribute.html Florian -- http://www.the-compiler.org | me at the-compiler.org (Mail/XMPP) GPG: 916E B0C8 FD55 A072 | http://the-compiler.org/pubkey.asc I love long mails! | http://email.is-not-s.ms/ -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 819 bytes Desc: not available URL: From mark at qtrac.eu Tue Aug 4 17:24:29 2015 From: mark at qtrac.eu (Mark Summerfield) Date: Tue, 4 Aug 2015 16:24:29 +0100 Subject: [code-quality] flake8 on windows Message-ID: <20150804162429.7fc21e03@dino> Hi, According to the flake8 docs you can set your preferences in ~/.config/flake8 on Linux -- and this works fine. But the docs don't mention Windows. I tried \User\mark\ and I tried the root of my Python project (as flake8, as tox.ini, and as setup.cfg), but nothing seemed to work. Best wishes, -- Mark Summerfield, Qtrac Ltd. DiffPDFc windows command line PDF comparison tool http://www.qtrac.eu/diffpdfc.html From graffatcolmingov at gmail.com Wed Aug 5 15:01:40 2015 From: graffatcolmingov at gmail.com (Ian Cordasco) Date: Wed, 5 Aug 2015 08:01:40 -0500 Subject: [code-quality] flake8 on windows In-Reply-To: <20150804162429.7fc21e03@dino> References: <20150804162429.7fc21e03@dino> Message-ID: On Tue, Aug 4, 2015 at 10:24 AM, Mark Summerfield wrote: > Hi, > > According to the flake8 docs you can set your preferences in > ~/.config/flake8 on Linux -- and this works fine. > > But the docs don't mention Windows. I tried \User\mark\ and I tried the > root of my Python project (as flake8, as tox.ini, and as setup.cfg), but > nothing seemed to work. > > Best wishes, > -- > Mark Summerfield, Qtrac Ltd. > DiffPDFc windows command line PDF comparison tool > http://www.qtrac.eu/diffpdfc.html > _______________________________________________ > code-quality mailing list > code-quality at python.org > https://mail.python.org/mailman/listinfo/code-quality Mark, Please cross reference Flake8's bug tracker before making more posts to this mailing list. Further if you plan to participate here, you'll need to join the list to avoid moderation. -- Ian From ahirnish at arista.com Tue Aug 11 07:50:25 2015 From: ahirnish at arista.com (Ahirnish Pareek) Date: Tue, 11 Aug 2015 11:20:25 +0530 Subject: [code-quality] Adding python function arguments related customized rule in pylint In-Reply-To: References: Message-ID: Hi, The idea of plugin is very simple and I felt the need of it in my organization's code base where we use python 2.7 to write the tests. There are a lot of functions which looks like this: def foo( var1, name1=value, *args ): The problem that I want to deal with is that we should not have keyword arguments( *name1* ) before positional arguments( **args* ). Although the function can still be called by passing *name1* as positional argument but there would be no way to not specify *name1* but specify **args*. def foo(a, b=3, *args): print a, b, args Case1: a = 0, b = 2, args = (4, 5) foo(0, 2, 4, 5) => 0 2 (4, 5) Case2: a = 0, b = , args = (4, 5) foo(0, 4, 5) => 0 4 (5, ) ==> args list modified as well as value of 'b' And of course, we cant do this: foo(0, b=2, 4, 5) I plan to put this in design_analysis checker and the check looks like this: from astroid.test_utils import extract_node n = extract_node(''' def test(a, b=2, *args, c=3, **kwargs): pass ''') *if n.args.defaults and n.args.varargs:* print I already checked it by loading this plugin as an external plugin in my pylintrc file and it worked as expected. Claudio suggested that this might be a useful check, so I plan to merge it in the developing code-base. Do let me know your thoughts! On Wed, Aug 5, 2015 at 1:49 PM, Ahirnish Pareek wrote: > Hi, > > I have never patched anything to the open-source code and I am confused as > to what are the right steps to follow. I need to patch a function argument > related checker into the pylint code base. Can someone point me to the > steps need to follow to ensure my changes go upstream? > > Thanks. > > On Fri, Jul 3, 2015 at 3:02 PM, Claudiu Popa > wrote: > >> On Thu, Jul 2, 2015 at 9:45 AM, Ahirnish Pareek >> wrote: >> > Hi all, >> > >> > I was wondering if there's a pattern to calculate Pylint's message-id >> > numbers? I know that first alphabet indicates if its a warning, error, >> > convention, refactor or fatal but how do we come up with 4-digit number >> > after that? >> > >> > Like - E1605. E = Error but what is 1605? >> > >> > Thanks. >> >> >> Base id of standard checkers (used in msg and report ids): >> 01: base >> 02: classes >> 03: format >> 04: import >> 05: misc >> 06: variables >> 07: exceptions >> 08: similar >> 09: design_analysis >> 10: newstyle >> 11: typecheck >> 12: logging >> 13: string_format >> 14: string_constant >> 15: stdlib >> 16: python3 >> >> So for E1605, that would be from the python 3 checker. Since it's pretty >> hard to remember all this, the message ids will be deprecated at some >> point, in favor of using symbolic names. >> > > > > -- > Regards, > Ahirnish > -- Regards, Ahirnish -------------- next part -------------- An HTML attachment was scrubbed... URL: From pcmanticore at gmail.com Wed Aug 19 00:00:27 2015 From: pcmanticore at gmail.com (Claudiu Popa) Date: Wed, 19 Aug 2015 01:00:27 +0300 Subject: [code-quality] Pylint reports, is anyone using them? Message-ID: Hello, For quite some time, since the very first 'Forget the past' commit I have access to, pylint had the ability of providing additional reports, such as Global evaluation, Messages by category, Statistics by type etc. For those of you who are unfamiliar with them, they look like this http://paste.openstack.org/show/421040/ pylint provides an easy way to disable them, by using the --reports flag, as in `--reports=y|n`. After using pylint for some time, they're started to feel useless for me and I'm always disabling them when running pylint. They don't provide that much value, except maybe scaring new users with all sorts of numbers, percentages and negative scores (yes, the default formula allows the global evaluation score to become negative). For pylint users, what do you think about the removal of these reports from pylint? Would it cause problems for you? Are these reports in any sense useful for you? If there's no negative push-back, we'll go through the normal deprecation procedures, so they won't be removed until two releases for now or until Pylint 2.0. As a benefit, we'll get rid of a lot of code that no one is happy to maintain and the maintainers can focus on developing the analysis capabilities instead. Thank you, Claudiu From contact at jeffquast.com Wed Aug 19 01:46:04 2015 From: contact at jeffquast.com (Jeff Quast) Date: Tue, 18 Aug 2015 16:46:04 -0700 Subject: [code-quality] Pylint reports, is anyone using them? In-Reply-To: References: Message-ID: <1B5ACEE4-26D2-45D7-912F-1B87D1F6E449@jeffquast.com> As a long time pylint user, certainly have seen this before, never found it particularly useful. In retrospect, a bit of a time waster for the consumer, too! When a novice discovers this feature, they may be misdirected to attempt to make use of it, when independent aggregation and reporting tools that integrate with your VCS or CI are so much more comprehensive. the 'coverage' tool forgoes all this complexity of reporting, yet http://coveralls.io ? possibly written in another language all together ? performs all such functions perfectly fine. jq > On Aug 18, 2015, at 3:00 PM, Claudiu Popa wrote: > > Hello, > > > For quite some time, since the very first 'Forget the past' commit I have > access to, pylint had the ability of providing additional reports, such as > Global evaluation, Messages by category, Statistics by type etc. > For those of you who are unfamiliar with them, they look like this > http://paste.openstack.org/show/421040/ > pylint provides an easy way to disable them, by using the --reports > flag, as in `--reports=y|n`. > > After using pylint for some time, they're started to feel useless for me > and I'm always disabling them when running pylint. > They don't provide that much value, except maybe scaring new users > with all sorts of numbers, percentages and negative scores > (yes, the default formula allows the global evaluation > score to become negative). > > For pylint users, what do you think about the removal of these > reports from pylint? Would it cause problems for you? > Are these reports in any sense useful for you? > > If there's no negative push-back, we'll go through the normal deprecation > procedures, so they won't be removed until two releases for now > or until Pylint 2.0. As a benefit, we'll get rid of a lot of code that no one > is happy to maintain and the maintainers can focus on developing > the analysis capabilities instead. > > > Thank you, > Claudiu > _______________________________________________ > code-quality mailing list > code-quality at python.org > https://mail.python.org/mailman/listinfo/code-quality From pycodequal at rebertia.com Wed Aug 19 01:44:20 2015 From: pycodequal at rebertia.com (Chris Rebert) Date: Tue, 18 Aug 2015 16:44:20 -0700 Subject: [code-quality] Pylint reports, is anyone using them? In-Reply-To: References: Message-ID: On Tue, Aug 18, 2015 at 3:00 PM, Claudiu Popa wrote: > Hello, > > > For quite some time, since the very first 'Forget the past' commit I have > access to, pylint had the ability of providing additional reports, such as > Global evaluation, Messages by category, Statistics by type etc. > For those of you who are unfamiliar with them, they look like this > http://paste.openstack.org/show/421040/ > pylint provides an easy way to disable them, by using the --reports > flag, as in `--reports=y|n`. > > After using pylint for some time, they're started to feel useless for me > and I'm always disabling them when running pylint. Likewise. They are always the first thing I disable when setting up a pylint.rc file, and I am perpetually annoyed when I forget to include "-r n" when pylinting a one-off script via terminal. > They don't provide that much value, except maybe scaring new users > with all sorts of numbers, percentages and negative scores > (yes, the default formula allows the global evaluation > score to become negative). > > For pylint users, what do you think about the removal of these > reports from pylint? Yes please. Or at least make it default to disabled instead of enabled. > Would it cause problems for you? I guess removing the command-line option could break some build scripts, but the fix would be trivial and removing it would still definitely be a net win for me. > Are these reports in any sense useful for you? No. If I want an overview of or historical trends for pylint errors for a nontrivial project, I use Jenkins' Violations plugin, which doesn't rely on pylint's --report. Cheers, Chris -- http://chrisrebert.com From skip.montanaro at gmail.com Wed Aug 19 03:35:33 2015 From: skip.montanaro at gmail.com (Skip Montanaro) Date: Tue, 18 Aug 2015 20:35:33 -0500 Subject: [code-quality] Pylint reports, is anyone using them? In-Reply-To: References: Message-ID: On Tue, Aug 18, 2015 at 5:00 PM, Claudiu Popa wrote: > For pylint users, what do you think about the removal of these > reports from pylint? Would it cause problems for you? > Are these reports in any sense useful for you? > No problem removing them. Not really useful in my experience, except very rarely as a relative indicator of the direction things are moving. As a corollary, I will note that some users where I work seemed mesmerized by high scores (10/10, etc) and relied on them, not being aware that pylint wasn't some all-seeing-all-knowing Python code genie. I tried to disabuse them of that notion. I think it would be better to remove them and make people (especially Python newbies) focus on individual messages. Skip -------------- next part -------------- An HTML attachment was scrubbed... URL: From me at the-compiler.org Wed Aug 19 05:57:38 2015 From: me at the-compiler.org (Florian Bruhin) Date: Wed, 19 Aug 2015 05:57:38 +0200 Subject: [code-quality] Pylint reports, is anyone using them? In-Reply-To: References: Message-ID: <20150819035738.GH729@tonks> * Chris Rebert [2015-08-18 16:44:20 -0700]: > On Tue, Aug 18, 2015 at 3:00 PM, Claudiu Popa wrote: > > Hello, > > > > > > For quite some time, since the very first 'Forget the past' commit I have > > access to, pylint had the ability of providing additional reports, such as > > Global evaluation, Messages by category, Statistics by type etc. > > For those of you who are unfamiliar with them, they look like this > > http://paste.openstack.org/show/421040/ > > pylint provides an easy way to disable them, by using the --reports > > flag, as in `--reports=y|n`. > > > > After using pylint for some time, they're started to feel useless for me > > and I'm always disabling them when running pylint. > > Likewise. They are always the first thing I disable when setting up a > pylint.rc file, and I am perpetually annoyed when I forget to include > "-r n" when pylinting a one-off script via terminal. This. :) > > Would it cause problems for you? > > I guess removing the command-line option could break some build > scripts, but the fix would be trivial and removing it would still > definitely be a net win for me. Hopefully the deprecation would help with that - other than that, it might make sense to keep -r/--reports as valid but ignore it? > > Are these reports in any sense useful for you? As discussed in IRC: For a non-trivial project they're long[1] and you have to search the actual output in that mess. I use the "lines of code" feature from time to time, but I'm sure I can find another tool which does this for me. [1] http://paste.the-compiler.org/view/892e50d1 Florian -- http://www.the-compiler.org | me at the-compiler.org (Mail/XMPP) GPG: 916E B0C8 FD55 A072 | http://the-compiler.org/pubkey.asc I love long mails! | http://email.is-not-s.ms/ -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 819 bytes Desc: not available URL: From sylvain.thenault at logilab.fr Wed Aug 19 07:46:53 2015 From: sylvain.thenault at logilab.fr (Sylvain =?utf-8?B?VGjDqW5hdWx0?=) Date: Wed, 19 Aug 2015 07:46:53 +0200 Subject: [code-quality] Pylint reports, is anyone using them? In-Reply-To: References: Message-ID: <20150819054653.GC29957@logilab.fr> On 18 ao?t 20:35, Skip Montanaro wrote: > On Tue, Aug 18, 2015 at 5:00 PM, Claudiu Popa wrote: > > > For pylint users, what do you think about the removal of these > > reports from pylint? Would it cause problems for you? > > Are these reports in any sense useful for you? > > > > No problem removing them. > Not really useful in my experience, except very rarely as a relative > indicator of the direction things are moving. > > As a corollary, I will note that some users where I work seemed mesmerized > by high scores (10/10, etc) and relied on them, not being aware that pylint > wasn't some all-seeing-all-knowing Python code genie. I tried to disabuse > them of that notion. I think it would be better to remove them and make > people (especially Python newbies) focus on individual messages. though that's a point advanced python/pylint users shouldn't ignore. In my experience, the score mecanism of pylint has catched a lot of new comers' attention and, as Skip mentioned, magnetized most of them through the wish of getting an higher score. This is also useful for "smoke test" in CI tools ("pylint score must be greater than 8"). So while a agree most other reports could be disabled by default, and probably simply dropped, I wish to keep this distinguishing feature, and even think it should still be activated by default. -- Sylvain Th?nault, LOGILAB, Paris (01.45.32.03.12) - Toulouse (05.62.17.16.42) Formations Python, Debian, M?th. Agiles: http://www.logilab.fr/formations D?veloppement logiciel sur mesure: http://www.logilab.fr/services CubicWeb, the semantic web framework: http://www.cubicweb.org From ben+python at benfinney.id.au Wed Aug 19 08:14:59 2015 From: ben+python at benfinney.id.au (Ben Finney) Date: Wed, 19 Aug 2015 16:14:59 +1000 Subject: [code-quality] Pylint reports, is anyone using them? References: <20150819035738.GH729@tonks> Message-ID: <85d1yjg5y4.fsf@benfinney.id.au> Florian Bruhin writes: > I use the "lines of code" feature from time to time, but I'm sure I > can find another tool which does this for me. For simplicity, breadth, and availability (it's already packaged in Debian), I like the ?CLOC? command-line tool. -- \ ?Sittin' on the fence, that's a dangerous course / You can even | `\ catch a bullet from the peace-keeping force? ?Dire Straits, | _o__) _Once Upon A Time In The West_ | Ben Finney From ceridwen.mailing.lists at gmail.com Wed Aug 19 15:33:16 2015 From: ceridwen.mailing.lists at gmail.com (Cara) Date: Wed, 19 Aug 2015 09:33:16 -0400 Subject: [code-quality] Pylint reports, is anyone using them? In-Reply-To: References: Message-ID: <1439991196.29078.0.camel@gmail.com> I use some of the reports some of the time. The external dependencies report is by far the most important for me, my typical use is for analyzing packages to figure out what blocks a given package from running on PyPy or Python 3. I haven't been able to find a good replacement, so I'd be sad to see it go. I sometimes use the raw metrics to get a picture of how much actual code there is in messy projects, my own or others'. Duplicated lines is something I find useful mostly in hunting for duplication in code written by other people I need to refactor. I could probably write scripts to replace this functionality, though, or use other tools. The rest I can't ever remember using. The numeric evaluation is actively misleading, which I think is reason enough to eliminate it. Cara From graffatcolmingov at gmail.com Wed Aug 19 16:15:36 2015 From: graffatcolmingov at gmail.com (Ian Cordasco) Date: Wed, 19 Aug 2015 09:15:36 -0500 Subject: [code-quality] Pylint reports, is anyone using them? In-Reply-To: <20150819054653.GC29957@logilab.fr> References: <20150819054653.GC29957@logilab.fr> Message-ID: On Wed, Aug 19, 2015 at 12:46 AM, Sylvain Th?nault wrote: > On 18 ao?t 20:35, Skip Montanaro wrote: >> On Tue, Aug 18, 2015 at 5:00 PM, Claudiu Popa wrote: >> >> > For pylint users, what do you think about the removal of these >> > reports from pylint? Would it cause problems for you? >> > Are these reports in any sense useful for you? >> > >> >> No problem removing them. >> Not really useful in my experience, except very rarely as a relative >> indicator of the direction things are moving. >> >> As a corollary, I will note that some users where I work seemed mesmerized >> by high scores (10/10, etc) and relied on them, not being aware that pylint >> wasn't some all-seeing-all-knowing Python code genie. I tried to disabuse >> them of that notion. I think it would be better to remove them and make >> people (especially Python newbies) focus on individual messages. > > though that's a point advanced python/pylint users shouldn't ignore. In my > experience, the score mecanism of pylint has catched a lot of new comers' > attention and, as Skip mentioned, magnetized most of them through the wish of > getting an higher score. This is also useful for "smoke test" in CI tools > ("pylint score must be greater than 8"). > > So while a agree most other reports could be disabled by default, and probably > simply dropped, I wish to keep this distinguishing feature, and even think it > should still be activated by default. I'm not a PyLint user (so I'm not very familiar with it), so my thoughts below are merely based on Sylvain and Cara's comments. I think the deprecation path might look like providing a way for people to register reports as third party plugins. PyLint can provide an entry-point and then pass in the results so the report plugin can generate a report. PyLint can either take the approach of "you installed it so it's on by default" or all users to select which reports to show. This will definitely be much less code, and will allow PyLint to say "we're deprecating these reports, if you want them to continue working, please take the code and maintain it in a third-party plugin registered on PyPI". People seem to use different reports so this seems fair: allow the people who are interested in those reports to maintain them. This achieves the goal of removing the reports from PyLint itself, thus relieving your maintenance burden while not depriving users of reports. I'd be happy to help with adding entry-points to PyLint for reports if it doesn't already have them. As an aside, any users who want to maintain a third-party plugin like this are welcome to do so in the PyCQA organizations on GitHub or GitLab (or we could make a group for BitBucket too if the maintainer(s) would prefer mercurial). Cheers, Ian From balparda at google.com Fri Aug 21 20:36:17 2015 From: balparda at google.com (=?UTF-8?B?RGFuaWVsIEJhbHBhcmRhICjmooXlt7TpgZQp?=) Date: Fri, 21 Aug 2015 11:36:17 -0700 Subject: [code-quality] Introducing Rene Zhang Message-ID: Hi, Rene Zhang is doing his internship at Google, and has helped debug some parts of our internal pylint stack. Doing this he has uncovered some issues for which he will be sending in some patches he developed at Google. Thank you, Daniel ?????????????????????????????????????????????????????????? *Daniel Balparda de Carvalho* ??? Python Team, Google US-MTV-CL2 3K5B, +1-650-933-8587 -------------- next part -------------- An HTML attachment was scrubbed... URL: From pcmanticore at gmail.com Sat Aug 22 11:42:21 2015 From: pcmanticore at gmail.com (Claudiu Popa) Date: Sat, 22 Aug 2015 12:42:21 +0300 Subject: [code-quality] Introducing Rene Zhang In-Reply-To: References: Message-ID: On Fri, Aug 21, 2015 at 9:36 PM, Daniel Balparda (???) wrote: > > Hi, > > Rene Zhang is doing his internship at Google, and has helped debug some > parts of our internal pylint stack. Doing this he has uncovered some issues > for which he will be sending in some patches he developed at Google. > > Thank you, > > Daniel > > ?????????????????????????????????????????????????????????? > Daniel Balparda de Carvalho ??? > Python Team, Google US-MTV-CL2 3K5B, +1-650-933-8587 > Hi Daniel and Rene, Thank so much you for your contributions, some of the crashes were really ugly. Claudiu From pcmanticore at gmail.com Sat Aug 22 12:16:25 2015 From: pcmanticore at gmail.com (Claudiu Popa) Date: Sat, 22 Aug 2015 13:16:25 +0300 Subject: [code-quality] Pylint reports, is anyone using them? In-Reply-To: References: <20150819054653.GC29957@logilab.fr> Message-ID: On Wed, Aug 19, 2015 at 5:15 PM, Ian Cordasco wrote: > On Wed, Aug 19, 2015 at 12:46 AM, Sylvain Th?nault > wrote: >> On 18 ao?t 20:35, Skip Montanaro wrote: >>> On Tue, Aug 18, 2015 at 5:00 PM, Claudiu Popa wrote: >>> >>> > For pylint users, what do you think about the removal of these >>> > reports from pylint? Would it cause problems for you? >>> > Are these reports in any sense useful for you? >>> > >>> >>> No problem removing them. >>> Not really useful in my experience, except very rarely as a relative >>> indicator of the direction things are moving. >>> >>> As a corollary, I will note that some users where I work seemed mesmerized >>> by high scores (10/10, etc) and relied on them, not being aware that pylint >>> wasn't some all-seeing-all-knowing Python code genie. I tried to disabuse >>> them of that notion. I think it would be better to remove them and make >>> people (especially Python newbies) focus on individual messages. >> >> though that's a point advanced python/pylint users shouldn't ignore. In my >> experience, the score mecanism of pylint has catched a lot of new comers' >> attention and, as Skip mentioned, magnetized most of them through the wish of >> getting an higher score. This is also useful for "smoke test" in CI tools >> ("pylint score must be greater than 8"). >> >> So while a agree most other reports could be disabled by default, and probably >> simply dropped, I wish to keep this distinguishing feature, and even think it >> should still be activated by default. > Thank you all for your responses, As it seems, a couple of the reports are actually useful for some of you and they tend to be used differently. > I think the deprecation path might look like providing a way for > people to register reports as third party plugins. PyLint can provide > an entry-point and then pass in the results so the report plugin can > generate a report. PyLint can either take the approach of "you > installed it so it's on by default" or all users to select which > reports to show. This will definitely be much less code, and will > allow PyLint to say "we're deprecating these reports, if you want them > to continue working, please take the code and maintain it in a > third-party plugin registered on PyPI". > People seem to use different reports so this seems fair: allow the > people who are interested in those reports to maintain them. This > achieves the goal of removing the reports from PyLint itself, thus > relieving your maintenance burden while not depriving users of > reports. I'd be happy to help with adding entry-points to PyLint for > reports if it doesn't already have them. I'm really enjoying this idea of providing entry-points for Pylint's reports. Currently we have a way to customize the format of the reporting, either it be text, html, json or anything else that the user needs, but no way of providing a hook into pylint's analysis for generating reports such as the ones we have right now. They're currently "hardcoded" and entwined within pylint's internals. Ian, I'll appreciate your help on this one. Most probably, after having this mechanism, the reports will be moved into a third party package, which can be activated on a need by need basis, so that no one loses the current functionality if they're using it and no one needs to install third party reports if they don't need reports at all. > > As an aside, any users who want to maintain a third-party plugin like > this are welcome to do so in the PyCQA organizations on GitHub or > GitLab (or we could make a group for BitBucket too if the > maintainer(s) would prefer mercurial). Having a group for BitBucket as well would be great, pylint could be part of it. Unfortunately, I don't think switching to github could work for us (I'm enjoying mercurial more). Thank you, Claudiu From graffatcolmingov at gmail.com Sat Aug 22 15:14:18 2015 From: graffatcolmingov at gmail.com (Ian Cordasco) Date: Sat, 22 Aug 2015 08:14:18 -0500 Subject: [code-quality] Pylint reports, is anyone using them? In-Reply-To: References: <20150819054653.GC29957@logilab.fr> Message-ID: On Sat, Aug 22, 2015 at 5:16 AM, Claudiu Popa wrote: > On Wed, Aug 19, 2015 at 5:15 PM, Ian Cordasco >> I think the deprecation path might look like providing a way for >> people to register reports as third party plugins. PyLint can provide >> an entry-point and then pass in the results so the report plugin can >> generate a report. PyLint can either take the approach of "you >> installed it so it's on by default" or all users to select which >> reports to show. This will definitely be much less code, and will >> allow PyLint to say "we're deprecating these reports, if you want them >> to continue working, please take the code and maintain it in a >> third-party plugin registered on PyPI". >> People seem to use different reports so this seems fair: allow the >> people who are interested in those reports to maintain them. This >> achieves the goal of removing the reports from PyLint itself, thus >> relieving your maintenance burden while not depriving users of >> reports. I'd be happy to help with adding entry-points to PyLint for >> reports if it doesn't already have them. > > I'm really enjoying this idea of providing entry-points for > Pylint's reports. Currently we have a way to customize the format > of the reporting, either it be text, html, json or anything > else that the user needs, but no way of providing a hook > into pylint's analysis for generating reports such as the ones > we have right now. They're currently "hardcoded" and entwined > within pylint's internals. Ian, I'll appreciate your help on this one. I'm happy to help! I may bug you for Mercurial help because it's been a *long* time since I've used it. :D > Most probably, after having this mechanism, the reports will be > moved into a third party package, which can be activated on a need > by need basis, so that no one loses the current functionality > if they're using it and no one needs to install third party > reports if they don't need reports at all. > > >> >> As an aside, any users who want to maintain a third-party plugin like >> this are welcome to do so in the PyCQA organizations on GitHub or >> GitLab (or we could make a group for BitBucket too if the >> maintainer(s) would prefer mercurial). > > Having a group for BitBucket as well would be great, pylint > could be part of it. Unfortunately, I don't think switching > to github could work for us (I'm enjoying mercurial more). The group is now here: https://bitbucket.org/pycqa/ and I made you an administrator right off the bat so you can do whatever you need. Naturally, there's no pressure to move PyLint over there, but it would be pretty cool to have a gigantic collection of these tools under one umbrella. As a side note, in the interest of transparency, Ian Lee (the pep8 maintainer) is an Admin on the GitHub organization as well. We had discussed this previously off-list but I never did it until now and thought y'all would like to know. From sylvain.thenault at logilab.fr Mon Aug 24 08:39:24 2015 From: sylvain.thenault at logilab.fr (Sylvain =?utf-8?B?VGjDqW5hdWx0?=) Date: Mon, 24 Aug 2015 08:39:24 +0200 Subject: [code-quality] Pylint reports, is anyone using them? In-Reply-To: References: <20150819054653.GC29957@logilab.fr> Message-ID: <20150824063924.GA1504@logilab.fr> On 22 ao?t 13:16, Claudiu Popa wrote: > I'm really enjoying this idea of providing entry-points for > Pylint's reports. Currently we have a way to customize the format > of the reporting, either it be text, html, json or anything > else that the user needs, but no way of providing a hook > into pylint's analysis for generating reports such as the ones > we have right now. They're currently "hardcoded" and entwined > within pylint's internals. Ian, I'll appreciate your help on this one. I'm not sure about what you want here. Reports are currently declarated by checkers, because they usually rely on data gathered using the checker API. Do you mean we should avoid checker that mix actual checks and data gathering for reports? > Most probably, after having this mechanism, the reports will be > moved into a third party package, which can be activated on a need > by need basis, so that no one loses the current functionality > if they're using it and no one needs to install third party > reports if they don't need reports at all. I'm fine with that, though I still think the note thing should be kept activated by default, especially for new comers. This could be as simple as one extra line at the end of the analysis. -- Sylvain Th?nault, LOGILAB, Paris (01.45.32.03.12) - Toulouse (05.62.17.16.42) Formations Python, Debian, M?th. Agiles: http://www.logilab.fr/formations D?veloppement logiciel sur mesure: http://www.logilab.fr/services CubicWeb, the semantic web framework: http://www.cubicweb.org From sylvain.thenault at logilab.fr Mon Aug 24 08:40:23 2015 From: sylvain.thenault at logilab.fr (Sylvain =?utf-8?B?VGjDqW5hdWx0?=) Date: Mon, 24 Aug 2015 08:40:23 +0200 Subject: [code-quality] Pylint reports, is anyone using them? In-Reply-To: References: <20150819054653.GC29957@logilab.fr> Message-ID: <20150824064023.GB1504@logilab.fr> On 22 ao?t 08:14, Ian Cordasco wrote: > The group is now here: https://bitbucket.org/pycqa/ and I made you an > administrator right off the bat so you can do whatever you need. Claudiu, would you add me there please? -- Sylvain Th?nault, LOGILAB, Paris (01.45.32.03.12) - Toulouse (05.62.17.16.42) Formations Python, Debian, M?th. Agiles: http://www.logilab.fr/formations D?veloppement logiciel sur mesure: http://www.logilab.fr/services CubicWeb, the semantic web framework: http://www.cubicweb.org From pcmanticore at gmail.com Mon Aug 24 08:42:56 2015 From: pcmanticore at gmail.com (Claudiu Popa) Date: Mon, 24 Aug 2015 09:42:56 +0300 Subject: [code-quality] Pylint reports, is anyone using them? In-Reply-To: <20150824064023.GB1504@logilab.fr> References: <20150819054653.GC29957@logilab.fr> <20150824064023.GB1504@logilab.fr> Message-ID: On Mon, Aug 24, 2015 at 9:40 AM, Sylvain Th?nault wrote: > On 22 ao?t 08:14, Ian Cordasco wrote: >> The group is now here: https://bitbucket.org/pycqa/ and I made you an >> administrator right off the bat so you can do whatever you need. > > Claudiu, would you add me there please? > Added. From pcmanticore at gmail.com Mon Aug 24 08:49:57 2015 From: pcmanticore at gmail.com (Claudiu Popa) Date: Mon, 24 Aug 2015 09:49:57 +0300 Subject: [code-quality] Pylint reports, is anyone using them? In-Reply-To: <20150824063924.GA1504@logilab.fr> References: <20150819054653.GC29957@logilab.fr> <20150824063924.GA1504@logilab.fr> Message-ID: On Mon, Aug 24, 2015 at 9:39 AM, Sylvain Th?nault wrote: > On 22 ao?t 13:16, Claudiu Popa wrote: >> I'm really enjoying this idea of providing entry-points for >> Pylint's reports. Currently we have a way to customize the format >> of the reporting, either it be text, html, json or anything >> else that the user needs, but no way of providing a hook >> into pylint's analysis for generating reports such as the ones >> we have right now. They're currently "hardcoded" and entwined >> within pylint's internals. Ian, I'll appreciate your help on this one. > > I'm not sure about what you want here. Reports are currently declarated by > checkers, because they usually rely on data gathered using the checker API. Do > you mean we should avoid checker that mix actual checks and data gathering for > reports? The initial problem occurred when I looked into removing logilab-common as a dependency for pylint. The only dependent modules left were components used by the reports and the cohesion with logilab.common is so high, that it is a real pain to remove the dependency right now. Instead, if we'll have some hooks into the reporting checkers, then the dependency can be moved outside of the project, into third party utilities. > >> Most probably, after having this mechanism, the reports will be >> moved into a third party package, which can be activated on a need >> by need basis, so that no one loses the current functionality >> if they're using it and no one needs to install third party >> reports if they don't need reports at all. > > I'm fine with that, though I still think the note thing should be kept activated > by default, especially for new comers. This could be as simple as one extra line > at the end of the analysis. The note will remain, it's especially useful for newcomers. /Claudiu From sylvain.thenault at logilab.fr Mon Aug 24 09:01:00 2015 From: sylvain.thenault at logilab.fr (Sylvain =?utf-8?B?VGjDqW5hdWx0?=) Date: Mon, 24 Aug 2015 09:01:00 +0200 Subject: [code-quality] Pylint reports, is anyone using them? In-Reply-To: References: <20150819054653.GC29957@logilab.fr> <20150824063924.GA1504@logilab.fr> Message-ID: <20150824070100.GD1504@logilab.fr> On 24 ao?t 09:49, Claudiu Popa wrote: > On Mon, Aug 24, 2015 at 9:39 AM, Sylvain Th?nault > wrote: > > On 22 ao?t 13:16, Claudiu Popa wrote: > >> I'm really enjoying this idea of providing entry-points for > >> Pylint's reports. Currently we have a way to customize the format > >> of the reporting, either it be text, html, json or anything > >> else that the user needs, but no way of providing a hook > >> into pylint's analysis for generating reports such as the ones > >> we have right now. They're currently "hardcoded" and entwined > >> within pylint's internals. Ian, I'll appreciate your help on this one. > > > > I'm not sure about what you want here. Reports are currently declarated by > > checkers, because they usually rely on data gathered using the checker API. Do > > you mean we should avoid checker that mix actual checks and data gathering for > > reports? > > The initial problem occurred when I looked into removing logilab-common > as a dependency for pylint. The only dependent modules left were components > used by the reports and the cohesion with logilab.common is so high, that > it is a real pain to remove the dependency right now. Instead, if > we'll have some hooks into the reporting checkers, then the dependency > can be moved outside of the project, into third party utilities. Ah so you mean the ureport thing? This is there only to support report in different formats (mainly text and html). > >> Most probably, after having this mechanism, the reports will be > >> moved into a third party package, which can be activated on a need > >> by need basis, so that no one loses the current functionality > >> if they're using it and no one needs to install third party > >> reports if they don't need reports at all. > > > > I'm fine with that, though I still think the note thing should be kept activated > > by default, especially for new comers. This could be as simple as one extra line > > at the end of the analysis. > > The note will remain, it's especially useful for newcomers. Glad we agree on that :) -- Sylvain Th?nault, LOGILAB, Paris (01.45.32.03.12) - Toulouse (05.62.17.16.42) Formations Python, Debian, M?th. Agiles: http://www.logilab.fr/formations D?veloppement logiciel sur mesure: http://www.logilab.fr/services CubicWeb, the semantic web framework: http://www.cubicweb.org From mmueller at python-academy.de Mon Aug 24 09:15:06 2015 From: mmueller at python-academy.de (=?UTF-8?Q?Mike_M=c3=bcller?=) Date: Mon, 24 Aug 2015 09:15:06 +0200 Subject: [code-quality] Pylint reports, is anyone using them? In-Reply-To: References: Message-ID: <55DAC47A.1020404@python-academy.de> Am 19.08.15 um 03:35 schrieb Skip Montanaro: > > On Tue, Aug 18, 2015 at 5:00 PM, Claudiu Popa > wrote: > > For pylint users, what do you think about the removal of these > reports from pylint? Would it cause problems for you? > Are these reports in any sense useful for you? > > > No problem removing them. > Not really useful in my experience, except very rarely as a relative indicator > of the direction things are moving. > > As a corollary, I will note that some users where I work seemed mesmerized by > high scores (10/10, etc) and relied on them, not being aware that pylint wasn't > some all-seeing-all-knowing Python code genie. I tried to disabuse them of that > notion. I think it would be better to remove them and make people (especially > Python newbies) focus on individual messages. As a Python trainer, I do have contact with many Python beginners. I use pylint in all of my introductory and many of my more advanced courses. Based on feedback from these users, I would suggest: 1. Make all these long-winded metrics and other reports optional, i.e. not default. 2. Keep the score. The score makes it a bit like a game. People really have fun with it. I think for the most part this is a good thing. Of course, there are always a few people who put too much emphasis on the score. But I think the advantages of the score are much bigger the disadvantages. Mike > > Skip > > > > _______________________________________________ > code-quality mailing list > code-quality at python.org > https://mail.python.org/mailman/listinfo/code-quality > From saa1330 at gmail.com Wed Aug 26 16:37:07 2015 From: saa1330 at gmail.com (=?UTF-8?B?0JDQvdGPINCh0LLQsNC70L7QstCw?=) Date: Wed, 26 Aug 2015 19:37:07 +0500 Subject: [code-quality] pylint + pony.orm Message-ID: Hi, ? I decided to check my ?project via pylint, but this ?check failed with error "Unexpected keyword argument 'field1' in constructor call (unexpected-keyword-arg)". What should I do to ?do to fix this error? ? ?In t he test project two files: __init __. ?py? and test.p ?y? . test.p ?? ?y? ?? ?# coding: utf-8 from pony.orm import sql_debug, db_session, Database, Required db = Database() class MyClass(db.Entity): field1=Required(unicode) db.bind('sqlite', '/tmp/dns11.sqlite', create_db=True) db.generate_mapping(create_tables=True) with db_session: MyClass(field1='aaa') ? ?Regards, Anna.? -------------- next part -------------- An HTML attachment was scrubbed... URL: From pcmanticore at gmail.com Wed Aug 26 19:20:12 2015 From: pcmanticore at gmail.com (Claudiu Popa) Date: Wed, 26 Aug 2015 20:20:12 +0300 Subject: [code-quality] pylint + pony.orm In-Reply-To: References: Message-ID: On Wed, Aug 26, 2015 at 5:37 PM, ??? ??????? wrote: > Hi, > I decided to check my > project > via pylint, but this > check > failed with error "Unexpected keyword argument 'field1' in constructor call > (unexpected-keyword-arg)". What should I do to > do to fix this error? > ? > > In t > he test project two files: __init __. > py > and test.p > y > . > > test.p > y > > # coding: utf-8 > > from pony.orm import sql_debug, db_session, Database, Required > > db = Database() > > > class MyClass(db.Entity): > field1=Required(unicode) > > > db.bind('sqlite', '/tmp/dns11.sqlite', create_db=True) > db.generate_mapping(create_tables=True) > > with db_session: > MyClass(field1='aaa') > > > Regards, > Anna. > > _______________________________________________ Hi Anna, Could you create an issue with these details on https://bitbucket.org/logilab/pylint/? Most probably it's a false positive that needs to be fixed in pylint, if the code works without any issues. /Claudiu From ahirnish at arista.com Thu Aug 27 12:11:01 2015 From: ahirnish at arista.com (Ahirnish Pareek) Date: Thu, 27 Aug 2015 15:41:01 +0530 Subject: [code-quality] Adding python function arguments related customized rule in pylint In-Reply-To: References: Message-ID: Hi, I was being told to share my plugin in the current state. It would be helpful if someone take a look about it in my previous mail and provide feedback. Thanks. On Tue, Aug 11, 2015 at 11:20 AM, Ahirnish Pareek wrote: > Hi, > > The idea of plugin is very simple and I felt the need of it in my > organization's code base where we use python 2.7 to write the tests. > > There are a lot of functions which looks like this: def foo( var1, > name1=value, *args ): > > The problem that I want to deal with is that we should not have keyword > arguments( *name1* ) before positional arguments( **args* ). Although the > function can still be called by passing *name1* as positional argument > but there would be no way to not specify *name1* but specify **args*. > def foo(a, b=3, *args): > print a, b, args > > Case1: a = 0, b = 2, args = (4, 5) > foo(0, 2, 4, 5) => 0 2 (4, 5) > > Case2: a = 0, b = , args = (4, 5) > foo(0, 4, 5) => 0 4 (5, ) ==> args list modified as well as value of 'b' > > And of course, we cant do this: > foo(0, b=2, 4, 5) > > I plan to put this in design_analysis checker and the check looks like > this: > > from astroid.test_utils import extract_node > n = extract_node(''' > def test(a, b=2, *args, c=3, **kwargs): > pass > ''') > > *if n.args.defaults and n.args.varargs:* > print > > I already checked it by loading this plugin as an external plugin in my > pylintrc file and it worked as expected. > > Claudio suggested that this might be a useful check, so I plan to merge it > in the developing code-base. > > Do let me know your thoughts! > > On Wed, Aug 5, 2015 at 1:49 PM, Ahirnish Pareek > wrote: > >> Hi, >> >> I have never patched anything to the open-source code and I am confused >> as to what are the right steps to follow. I need to patch a function >> argument related checker into the pylint code base. Can someone point me to >> the steps need to follow to ensure my changes go upstream? >> >> Thanks. >> >> On Fri, Jul 3, 2015 at 3:02 PM, Claudiu Popa >> wrote: >> >>> On Thu, Jul 2, 2015 at 9:45 AM, Ahirnish Pareek >>> wrote: >>> > Hi all, >>> > >>> > I was wondering if there's a pattern to calculate Pylint's message-id >>> > numbers? I know that first alphabet indicates if its a warning, error, >>> > convention, refactor or fatal but how do we come up with 4-digit number >>> > after that? >>> > >>> > Like - E1605. E = Error but what is 1605? >>> > >>> > Thanks. >>> >>> >>> Base id of standard checkers (used in msg and report ids): >>> 01: base >>> 02: classes >>> 03: format >>> 04: import >>> 05: misc >>> 06: variables >>> 07: exceptions >>> 08: similar >>> 09: design_analysis >>> 10: newstyle >>> 11: typecheck >>> 12: logging >>> 13: string_format >>> 14: string_constant >>> 15: stdlib >>> 16: python3 >>> >>> So for E1605, that would be from the python 3 checker. Since it's pretty >>> hard to remember all this, the message ids will be deprecated at some >>> point, in favor of using symbolic names. >>> >> >> >> >> -- >> Regards, >> Ahirnish >> > > > > -- > Regards, > Ahirnish > -- Regards, Ahirnish -------------- next part -------------- An HTML attachment was scrubbed... URL: From pcmanticore at gmail.com Mon Aug 31 08:36:49 2015 From: pcmanticore at gmail.com (Claudiu Popa) Date: Mon, 31 Aug 2015 09:36:49 +0300 Subject: [code-quality] Adding python function arguments related customized rule in pylint In-Reply-To: References: Message-ID: On Thu, Aug 27, 2015 at 1:11 PM, Ahirnish Pareek wrote: > Hi, > > I was being told to share my plugin in the current state. It would be > helpful if someone take a look about it in my previous mail and provide > feedback. > > Thanks. > Hi, This should probably go into typecheck.py, rather than in design_analysis.py. The next step would be to submit a pull request with your changes on https://bitbucket.org/logilab/pylint/. Thanks, Claudiu From ahirnish at arista.com Mon Aug 31 08:48:15 2015 From: ahirnish at arista.com (Ahirnish Pareek) Date: Mon, 31 Aug 2015 12:18:15 +0530 Subject: [code-quality] Adding python function arguments related customized rule in pylint In-Reply-To: References: Message-ID: Thanks for the suggestion Claudio. I'll do the same. On Mon, Aug 31, 2015 at 12:06 PM, Claudiu Popa wrote: > On Thu, Aug 27, 2015 at 1:11 PM, Ahirnish Pareek > wrote: > > Hi, > > > > I was being told to share my plugin in the current state. It would be > > helpful if someone take a look about it in my previous mail and provide > > feedback. > > > > Thanks. > > > > Hi, > > This should probably go into typecheck.py, rather than > in design_analysis.py. The next step would be to submit > a pull request with your changes on https://bitbucket.org/logilab/pylint/. > > > Thanks, > Claudiu > -- Regards, Ahirnish -------------- next part -------------- An HTML attachment was scrubbed... URL: