typed-ast is being phased out (python/typed_ast#170). As far as I can tell, stubs as used in typeshed should always be parsable with Python 3.6 and higher, because 3.7 introduced no new features relevant to stubs and 3.8 (which brought positional-only param syntax) was never ported to typed-ast. Therefore, we should be able to get away with just using ast.parse.
This will break the major consumer of typeshed_client (pyanalyze), because it does a lot of isinstance checks on ast3 objects. Therefore, my tentative plan is:
Make pyanalyze pin typeshed-client to <2 and make a release.
Switch to ast in typeshed-client and release typeshed-client 2.0.
Switch pyanalyze to the new types and require typeshed-client 2.0.
typed-ast is being phased out (python/typed_ast#170). As far as I can tell, stubs as used in typeshed should always be parsable with Python 3.6 and higher, because 3.7 introduced no new features relevant to stubs and 3.8 (which brought positional-only param syntax) was never ported to typed-ast. Therefore, we should be able to get away with just using
ast.parse
.This will break the major consumer of typeshed_client (pyanalyze), because it does a lot of isinstance checks on ast3 objects. Therefore, my tentative plan is: