Pylint: Python 3.6 support

Created on 14 Aug 2016  ·  23Comments  ·  Source: PyCQA/pylint

Check what we need to support 3.6 for Pylint 2.0:

  • f-string support, plus checkers for its misuses
  • any other new syntax
  • deprecated features and whatnot
blocker

Most helpful comment

I just released pylint==1.7.0 and astroid==1.5.0. Let me know if you encounter any problems.

All 23 comments

1257 #1263 needs to be mentioned here

Yep, this should be more of a meta-issue, but we can definitely create new issues for smaller chunk of work.

I guess we are quite close...

I am not aware of any major blockers, but maybe we should do extra sanity checks like running pylint over stdlib or bunch of open source projects (although I can't think of any that uses Python 3.6 exclusive features) and making sure there are no crashes on any of these modules / packages...

I would expect that most opensource codebases will be slow to add new features of the language, as they need to support older versions. I think running on the stdlib, and its tests would give us a reasonable snapshot of the use of new features.

I'm also happy to re-run against google-auth. :)

NOTE:

  • the delivery of 1.7.0 includes a fix for #1282, is blocking on this issue the right thing?

@PCManticore @degustaf are we blocked by anything particular except of finishing up some minor pull requests and maybe tweaking astroid.brain? There are a lot of issues that ale already fixed but generate quite a lot of noise, since people base them on year-old code. It may be beneficial to ship 1.7.0 as soon as those minor issues are merged. Sure, we may have some uncovered issues but I think that's the price worth paying. Worst case scenario is that we ship 1.7.1 very soon after 1.7.0.

We are not blocked by anything, just by my lack of time to do the actual release. This should happen this week though. I'll have to check the latest issues regarding 3.6 to see if there is something critical.

FWIW I just checked the lastest pylint/astroid master with qutebrowser, and it looks ready to go for me. I don't use any Python 3.5/3.6 features though. But even if those won't work, having a release which at least runs with 3.6 would be awesome! 😄

The acceptance tests are still failing. But, they are basically failing the same as they do for earlier versions of python. I think we're good to release.

For the record, the FAQ _does not_ make it clear that pylint doesn't support Python3.6...
https://pylint.readthedocs.io/en/latest/faq.html#what-versions-of-python-is-pylint-supporting

Since Pylint 1.4, we support only Python 2.7+ and Python 3.3+. Using this strategy really helps in maintaining a code base compatible with both versions and from this benefits not only the maintainers, but the end users as well, because it’s easier to add and test new features.

--> submitted: #1399

Also, does the work done thus far address https://github.com/PyCQA/astroid/issues/362?

+1 vote for what @The-Compiler said. Just having pylint run in Python 3.6, even without any new features, would be great. Right now I have to maintain an older Python installation just so I'll have a pylint that runs, which is a PITA.

I also restrict my usage of Python 3.6 new features to the minimum - in particular, I still use # type: ... comments. I understand that we'll have to wait for a "proper" pylint release to solve that part.

In the meanwhile, I do use some Python 3.6 features, such as enums, and relying on the order of members in class dictionaries, and so on. Just staying with an older Python version until a "full" pylint release comes out isn't an option for me.

Of course, if a "full" release arrives "soon", I'll be even happier - but if we have the option of getting "now" a release that runs in Python 3.6 but doesn't handle all its features, I'll definitely take it.

I strongly feel like merging #1406 makes us ready to push new release.

There are only two issues which block this release for now. I'll try to address these issues this week and hopefully next week I will do the release:

On second thought, I think we can move these issues for the next milestone. The rationale is that they are not tied to Python 3.6 in particular and they also need a bit more work before getting integrated.

I just released pylint==1.7.0 and astroid==1.5.0. Let me know if you encounter any problems.

Thanks Claudiu! 🎉

Thanks to everyone that was involved in developing this release, great job!

Yeah ! All of you have done a great job, thanks!

2017-04-13 17:52 GMT+02:00 Łukasz Rogalski notifications@github.com:

Thanks to everyone that was involved in developing this release, great job!


You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/PyCQA/pylint/issues/1072#issuecomment-293936145, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ABxJDDDuNfm6E17U_iDMxfVOJ1bXk2C-ks5rvkTOgaJpZM4Jj5hk
.

--
Sylvain

is this in the latest pylint on pip? Just curious, as if I try linting with vs code, I get a curious warning,
[pylint] E0001:invalid syntax (<string>, line 3)
where line 3 is
return F"{self.__class__.__name__}"

@derekriemer yes, it's on pypi. You are either not running Python 3.6 or running older version of pylint / astroid.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

GergelyKalmar picture GergelyKalmar  ·  3Comments

pylint-bot picture pylint-bot  ·  3Comments

pylint-bot picture pylint-bot  ·  3Comments

elirnm picture elirnm  ·  3Comments

DevynCJohnson picture DevynCJohnson  ·  3Comments