Mypy plugin to add type promotions between NumPy and builtin data types.
Project description
npt-promote
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 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))
Installation
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"]
Usage
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',
]
pre-commit
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"
]
Testing
First, install npt-promote
with dev requirements:
python -m pip install npt-promote[dev]
To run the tests, execute:
pytest
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
File details
Details for the file npt_promote-0.1-py3-none-any.whl
.
File metadata
- Download URL: npt_promote-0.1-py3-none-any.whl
- Upload date:
- Size: 4.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.18
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 550bea11867e248b2484d9672c66a082c2832898fcef5637ca0008c0bf8bba1e |
|
MD5 | 37c5624821257241bf48c9ad87bdcd0f |
|
BLAKE2b-256 | 435e0dd9f0b8b2313b0c13302e1ee2ce6b3b6cfca31c42eb8b529b8e6c6f5576 |