-
-
Notifications
You must be signed in to change notification settings - Fork 278
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
Planning for astroid 3.0
#1868
Comments
Agree with that, the 2.12 maintenance was very long already. I think we waited for #1189 but it can be merged when it's ready. (Edit: #1189 seems to be ready for review, and already 2 persons approved, we should probably add this one in the TODO list.) |
TODO list seems good to me. I'd like to help work on stuff, but I think we should try and do some concentrated efforts as that avoid the risks of many PRs ending up in review limbo. |
I'll try to take a look at it soon ™️ If it's good, it could make sense to include it with
Agreed, I opened the issue since I wanted to start the discussion early (and had the Fortunately, most of the changes are strait forward and easy to implement. The most challenging one left is probably the Since the overlap between the changes is minimal, that can be done for some of the other ones too, although not strictly necessary.
These ones only require some time
There is also the separate docs page, i.e. some kind of upgrade guide. Laying the foundation for it would help (create a file, add link to it from the main page, etc.). After that, everyone can start contributing to it much more easily. |
#1873 😄 Least I could do! |
I just released 2.12.13, I think it should be the last patch version based on 2.12. I'm wondering if we should release 2.13.0 without #1189. Marc reviewed and there's a lot of comments. We can always release 2.14.0 fast if the situation evolve. |
The downside is that it's blocking several pylint PRs, and the unresolved comments are almost entirely cosmetic/small. |
If @cdce8p is interested in this I would be happy to do some cooperation on that PR and implement his comments in a back-and-forth process to just merge this somewhere this week. I have some free time in GMT+1 evening this week so if that would work for you I think we can help move that PR along. |
I will try to make some time, although I can't promise it. -- |
Duplicate of #2148, the two issues already linked. |
With the breaking change for the new
Try
node we should probably start planning for version3.0
. We might as well use the major version bump to bundle other breaking changes as well.How to update pylint
With the tight coupling between pylint and astroid, one of the main challenges will be how to keep the changes to pylint manageable. After each major change, we could
Either way would help us keep the pylint changes reviewable.
Any bugfix release would only be merged in the pylint maintenance branch.
ToDo's
Try
nodeAdd
Try
node #1867Alias
nodeAdd ImportAlias node as children of Import nodes #912
Turn
ImportFrom.names
into a list ofNamedTuple
#1339Ellipsis
,Index
,ExtSlice
Remove deprecated nodes #2152
None
for arguments which should never beNone
. That will help simplify typing.doc
attributesRemove deprecated
doc
attribute #2154Maybe?
Uninferable
. Just an idea, with a breaking change we could change the class toUninferableType
andUninferable
being an instance of it.Consider creating a
UninferableType
or_Uninferable
class #1680__init__
andpostinit
for nodes keyword only args.astroid.__init__
.astroid.scoped_nodes
module (not the package)--
Those are just some things I had in mind. Happy to add additional things to it.
/CC: @Pierre-Sassoulas, @DanielNoord, @jacobtylerwalls
Open Questions
Until we're done with all changes, I don't think it make sense to release a new minor version. Should we release
2.13
before we start the process just to get the last features out there? Any bug fixes could be backported as usual. The breaking changes are mostly for downstream libraries, not astroid itself.The text was updated successfully, but these errors were encountered: