Mypy plugin to add type promotions between NumPy and builtin data types.
The main use case for this plugin is to enable generic use of bool
, int
and float
type annotations with NumPy arrays, e.g.
import numpy as np
import numpy.typing as npt
x: npt.NDArray[float] = np.array((42.0))
Dependencies:
Install it with:
python -m pip install npt-promote
Alternatively, add npt-promote
as a project dependency wherever mypy
is used,
e.g. as an optional dev requirement in pyproject.toml
:
[project.optional-dependencies]
dev = ["mypy", "npt-promote"]
To enable the plugin, it must be added to your project's mypy configuration file
along with NumPy's mypy plugin. E.g. add the following to pyproject.toml
:
[tool.mypy]
plugins = [
'numpy.typing.mypy_plugin',
'npt_promote',
]
To use the plugin with mypy
as a pre-commit
hook, it must be added as a
dependency, e.g. add the following to .pre-commit-config.yaml
:
- repo: https://github.com/pre-commit/mirrors-mypy
hooks:
- id: mypy
additional_dependencies: [
"npt-promote"
]
First, install npt-promote
with dev requirements:
python -m pip install npt-promote[dev]
To run the tests, execute:
pytest