Changelogs » Pytype

Pytype

2019.08.09

* Partially support typing[_extensions].Literal in pyi files.
* Adopt a unicode pytype logo.
* Add a traces library for accessing pytype's inferred type information.
* Add `annotate-ast` subtool for annotating ASTs with type information (WIP).

2019.07.30

* Allow trailing commas in lists in type stubs.

2019.07.26

* Update typeshed pin to commit 40215d1 from July 18.
* Improve support for subprocess.Popen in Python 3.

2019.07.11

* Update typeshed pin to commit e1e5c83 from July 1.
* Support `async def` in pyi files.

2019.06.28

* Fix attrs bugs.
* Check exception types in `except` blocks.

2019.06.21

* Support typing.overload in source files.
* Fix merge-pyi bugs.
* Support basic attrs usage.

2019.05.31

* Add an xref output mode that creates a (lineno, column) -> type map.
* Fix an AnyStr bug in the Python 2 filter() definitions.

2019.05.24

* Fix an import bug.
* Support extracting pytype types from xref.

2019.05.15

* Update typeshed pin to commit 50d98ac from May 13.
* Support nested classes in pyi files.

2019.05.08

* Fix a bug in pyi lookup of re-exported imports.

2019.05.06

* Update typeshed pin to commit 4e572ae from April 23.
* Support collections.namedtuple in pyi files.
* Support module aliases in pyi files.

2019.04.26

* Improve typegraph performance.

2019.04.19

* Support method matching for custom PEP 544 protocols.

2019.04.12

* Update typeshed pin to commit cfa65b8 from April 8.
* Fix comparisons of primitive objects of the same type.
* Limit the number of tracebacks shown for one error.

2019.04.05

* Improve Python 3 definitions in pytype's enum and typing stubs.

2019.04.02.1

* Require typed_ast only in Python 3.3+.

2019.04.02

* Simplify the text pytype prints to the terminal.
* Rename the default pytype output directory from pytype_output to .pytype.
* Add a --no-cache option to send pytype output to a temporary directory.
* Update typeshed pin to commit 9b9ff64 from March 29.
* Support typing.ChainMap and typing.Counter.

2019.03.27

* Support ` type: ignore` on import lines in pyi files.

2019.03.21

* Update typeshed pin to commit afe6656 from March 16.
* Add missing Python 3 methods {bytearray,list}.{clear,copy}.

2019.03.15

* Make --parse-pyi verify that the AST has been resolved.
* Fix pyi parsing of `typing` aliases.
* Remove mirror of asyncio.tasks stub in favor of the canonical typeshed one.
* Support type macros in pyi files.

2019.03.08

* Fix bad type definitions for builtins reversed and enumerate.

2019.03.01

* Make pytype's type stubs loadable in Python 3.4.

2019.02.13

* Support asynchronous generators.
* Fix variable annotations in Python 3.7.
* Fix a pyi circular import bug.

2019.01.30

* Support future.utils.with_metaclass.
* Support coroutine annotation.

2019.01.18

* Add support for unittest.TestCase.setUp().
* Open-source a user guide.
* Open-source the FAQ.

2018.12.21

* Improve support and add testing framework for target Python 3.7.
* Handle files that generate parse errors more gracefully.

2018.12.11

* Add rudimentary support for target Python 3.7.
* Make error messages for Python operators friendlier.
* Set the default target python version to the host version.
* Change default behavior to stop at first error and add a --keep-going option.
* Flag annotations with the wrong parameter count and invalid uses of NoReturn.
* Improve pytype and merge-pyi status messages.
* Support PEP-526 variable annotation syntax.

2018.11.06

* Use --imports_info to allow preserving generated type stubs between runs.
* Handle TypeParameter inheritance more robustly with a union-find approach.
* Get more precise deps from importlab to allow build parallelization.
* Trim the dependencies of builtin and system files from the import graph.
* Generate a build.ninja file and call pytype-single via ninja.

2018.10.30

* Improve the display of tracebacks in error messages.
* Make several Python 3 fixes and improvements, including better enum support.
* Fix evaluation of conditionals inside closures.
* Improve handling of comparison operators.
* Add a --strict-import option to not load submodules not explicitly imported.

2018.09.26

* Generate default type stubs for pip-installed dependencies.
* Remove the output directory at the start of each pytype run.

2018.09.25

* Improve Python 3 varargs and kwargs support.
* Support user-defined generic types.
* Improve --generate-config to show a full sample config file.

2018.09.19

* Allow the command-line `inputs` option to be specified in a config file.
* Support hidden files.
* Make the behavior of --exclude more intuitive.

2018.09.18

* Support setting --exclude in a config file.
* Add support for annotations in inner functions.
* Officially support running under Python 3.7.

2018.09.07.1

* Update typeshed pin to commit c968124 from September 6.

2018.09.07

* Make typing.NamedTuple a class for Python 3.6+.

2018.08.10

* Add --exclude flag to support excluding files or directories from analysis.

2018.07.13

* Improve type checking of typing.Generator.
* Enable logging from C++ in debug builds.
* Expose pytype-single's return code.
* Add the ability to record trace data during bytecode execution.

2018.06.19

* Tweak the installation instructions and add a quickstart guide.

2018.06.18

* Document pytype's platform support.

2018.06.15

* Officially support running under Python 3.5 and 3.6.
* Expose pytype-single's --version option.
* Optimization: skip argument parameter combinations we've already seen.
* Bring back pytype-single's --timeout option.
* Add --return-success to pytype-single to report errors but return success.

2018.06.05

* Print transient progress messages.
* Rename pytype to pytype-single and pytype-all to pytype.
* Use the system and site package dependencies found by importlab in pytype-all.
* Make the pytype-all help message friendlier.
* Allow pytype-single args to be specified in a config file.
* Add a merge-pyi subtool to merge pyi files into their Python sources.
* Expose some pytype-single options to pytype-all.
* Add a script which runs pytype tests.
* Allow specifying config file variables for pytype-all on the command line.
* Add a --version option to display the pytype version.

2018.05.22.1

* Use different flags when compiling with gcc or clang.

2018.05.22

* Add flags for building with clang on Mac OS X.
* Allow pytype-all to accept directories as input.
* Change pytype-all's config file to INI style, and fall back to setup.cfg.
* Make analyze_annotated a command-line option.
* Add pythonpath guessing to pytype-all.

2018.05.15

* Make some fixes to the release packaging.

2018.05.14

* Release pytype-all.

0.2

* Release pytype.