./devel/py-pytype, Static type analyzer for Python code

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 2024.9.13, Package name: py312-pytype-2024.9.13, Maintainer: pkgsrc-users

Pytype checks and infers types for your Python code - without
requiring type annotations. Pytype can:

* Lint plain Python code, flagging common mistakes such as misspelled
attribute names, incorrect function calls, and much more, even
across file boundaries.
* Enforce user-provided type annotations. While annotations are
optional for pytype, it will check and apply them where present.
* Generate type annotations in standalone files ("pyi files"),
which can be merged back into the Python source with a provided
merge-pyi tool.

Pytype is a static analyzer; it does not execute the code it runs
on.


Master sites:

Filesize: 2722.147 KB

Version history: (Expand)


CVS history: (Expand)


   2024-11-26 13:45:44 by Nia Alarie | Files touched by this commit (3)
Log message:
py-msgspec: Fails to build with Python 3.13
   2024-11-11 08:29:31 by Thomas Klausner | Files touched by this commit (862)
Log message:
py-*: remove unused tool dependency

py-setuptools includes the py-wheel functionality nowadays
   2024-10-14 08:46:10 by Thomas Klausner | Files touched by this commit (325)
Log message:
*: clean-up after python38 removal
   2024-09-21 11:15:33 by Thomas Klausner | Files touched by this commit (1)
Log message:
ipy-pytype: uses c++20
   2024-09-16 12:56:43 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
py-pytype: updated to 2024.9.13

Version 2024.09.13:

Updates:
* Basic support for Python 3.12.

  With this release you can run pytype with Python 3.12. But pytype has no
  support for any new features added in Python 3.12.

  Look out for type checking changes caused by different bytecode emit:
  * dict/list/set comprehensions are type checked 1 level deeper.
  * Errors after `if` statements can be printed differently.

* Add support for pickled pyi files in merge_pyi.py.

* Several performance improvements.

* Stop validating imports map. Pytype used to validate that each file in an
  import map exists. This has proved too costly, especially on network file
  systems. Pytype now assumes import maps specified via --imports_info are
  correct.

* Add support for flag files (required for Bazel workers).

* Change the format of errors printed to the console.

  Errors now also include the column number and a code snippet, which highlights
  the part that's broken.

  Old:
    File "test.py", line 4, in foo: unsupported operand type(s) for +: \ 
str and int [unsupported-operands]
      Function __add__ on str expects str
  New:
    test.py:4:10: error: in foo: unsupported operand type(s) for +: str and int \ 
[unsupported-operands]
      Function __add__ on str expects str
        print(arg + 3)
              ~~~~~~~

Bug fixes:
* Add type definitions for `aiter()` and `anext()`.
* Don't include deleted top-level variables in module types.
* Don't crash when a Generic subtype uses a TypeVar differently.
* Fix type inference for `iter(func, None)`.
   2024-08-06 13:23:30 by Adam Ciarcinski | Files touched by this commit (1)
Log message:
py-pytype: not for Python 3.8 nor 3.9
   2024-06-28 17:33:11 by Thomas Klausner | Files touched by this commit (1)
Log message:
ipy-pytype: doesn't support Python 3.12 yet
   2024-05-12 19:48:09 by Thomas Klausner | Files touched by this commit (5)
Log message:
devel/py-pytype: import py-pytype-2024.4.11

Pytype checks and infers types for your Python code - without
requiring type annotations. Pytype can:

* Lint plain Python code, flagging common mistakes such as misspelled
  attribute names, incorrect function calls, and much more, even
  across file boundaries.
* Enforce user-provided type annotations. While annotations are
  optional for pytype, it will check and apply them where present.
* Generate type annotations in standalone files ("pyi files"),
  which can be merged back into the Python source with a provided
  merge-pyi tool.

Pytype is a static analyzer; it does not execute the code it runs
on.