Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Python 3.6 support #1072

Closed
PCManticore opened this issue Aug 14, 2016 · 23 comments
Closed

Python 3.6 support #1072

PCManticore opened this issue Aug 14, 2016 · 23 comments
Assignees
Labels
Blocker 🙅 Blocks the next release
Milestone

Comments

@PCManticore
Copy link
Contributor

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
@rogalski
Copy link
Contributor

#1257 #1263 needs to be mentioned here

@PCManticore
Copy link
Contributor Author

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

@rogalski
Copy link
Contributor

rogalski commented Mar 1, 2017

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...

@degustaf
Copy link
Contributor

degustaf commented Mar 1, 2017

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.

@theacodes
Copy link

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

jorisroovers pushed a commit to jorisroovers/gitlint that referenced this issue Mar 11, 2017
Adding experimental support for python 3.6, temporarily disabling
running pylint for 3.6 because of pylint-dev/pylint#1072
@fermulator
Copy link

NOTE:

@rogalski
Copy link
Contributor

rogalski commented Mar 23, 2017

@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.

@PCManticore
Copy link
Contributor Author

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.

@The-Compiler
Copy link
Contributor

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! 😄

@degustaf
Copy link
Contributor

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.

@fermulator
Copy link

fermulator commented Mar 27, 2017

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

@fermulator
Copy link

Also, does the work done thus far address pylint-dev/astroid#362?

@rogalski
Copy link
Contributor

@orenbenkiki
Copy link

+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.

@rogalski
Copy link
Contributor

rogalski commented Apr 2, 2017

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

@PCManticore
Copy link
Contributor Author

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:

@PCManticore
Copy link
Contributor Author

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.

@PCManticore
Copy link
Contributor Author

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

@The-Compiler
Copy link
Contributor

Thanks Claudiu! 🎉

@rogalski
Copy link
Contributor

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

@sthenault
Copy link
Contributor

sthenault commented Apr 14, 2017 via email

@derekriemer
Copy link

derekriemer commented Sep 16, 2017

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__}"

@rogalski
Copy link
Contributor

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Blocker 🙅 Blocks the next release
Projects
None yet
Development

No branches or pull requests

9 participants