%global _empty_manifest_terminate_build 0
Name: python-nptyping
Version: 2.5.0
Release: 1
Summary: Type hints for NumPy.
License: MIT
URL: https://github.com/ramonhagenaars/nptyping
Source0: https://mirrors.nju.edu.cn/pypi/web/packages/e1/b7/ffe533358c32506b1708feec0fb04ba0a35a959a94163fff5333671909da/nptyping-2.5.0.tar.gz
BuildArch: noarch
Requires: python3-typing-extensions
Requires: python3-numpy
Requires: python3-numpy
Requires: python3-invoke
Requires: python3-pip-tools
Requires: python3-pandas
Requires: python3-pandas-stubs-fork
Requires: python3-invoke
Requires: python3-pip-tools
Requires: python3-autoflake
Requires: python3-black
Requires: python3-coverage
Requires: python3-codecov
Requires: python3-feedparser
Requires: python3-isort
Requires: python3-mypy
Requires: python3-pylint
Requires: python3-pyright
Requires: python3-setuptools
Requires: python3-typeguard
Requires: python3-wheel
Requires: python3-pandas
Requires: python3-beartype
Requires: python3-beartype
Requires: python3-pandas-stubs-fork
Requires: python3-pandas
Requires: python3-pandas-stubs-fork
Requires: python3-autoflake
Requires: python3-black
Requires: python3-coverage
Requires: python3-codecov
Requires: python3-feedparser
Requires: python3-isort
Requires: python3-mypy
Requires: python3-pylint
Requires: python3-pyright
Requires: python3-setuptools
Requires: python3-typeguard
Requires: python3-wheel
Requires: python3-beartype
Requires: python3-beartype
%description
[![PyPI version](https://img.shields.io/pypi/pyversions/nptyping.svg)](https://img.shields.io/pypi/pyversions/nptyping.svg)
[![Downloads](https://pepy.tech/badge/nptyping/month)](https://pepy.tech/project/nptyping)
[![PyPI version](https://badge.fury.io/py/nptyping.svg)](https://badge.fury.io/py/nptyping)
[![codecov](https://codecov.io/gh/ramonhagenaars/nptyping/branch/master/graph/badge.svg)](https://codecov.io/gh/ramonhagenaars/nptyping)
[![Code style](https://img.shields.io/badge/code%20style-black-black)](https://img.shields.io/badge/code%20style-black-black)
🧊 *Type hints for `NumPy`*
🐼 *Type hints for `pandas.DataFrame`*
💡 *Extensive dynamic type checks for dtypes shapes and structures*
🚀 *[Jump to the Quickstart](https://github.com/ramonhagenaars/nptyping/blob/master/USERDOCS.md#Quickstart)*
Example of a hinted `numpy.ndarray`:
```python
>>> from nptyping import NDArray, Int, Shape
>>> arr: NDArray[Shape["2, 2"], Int]
```
Example of a hinted `pandas.DataFrame`:
```python
>>> from nptyping import DataFrame, Structure as S
>>> df: DataFrame[S["name: Str, x: Float, y: Float"]]
```
### Installation
| Command | Description |
|:---------------------------------|-------------------------------|
| `pip install nptyping` | Install the basics |
| `pip install nptyping[pandas]` | Install with pandas extension |
| `pip install nptyping[complete]` | Install with all extensions |
### Instance checking
Example of instance checking:
```python
>>> import numpy as np
>>> isinstance(np.array([[1, 2], [3, 4]]), NDArray[Shape["2, 2"], Int])
True
>>> isinstance(np.array([[1., 2.], [3., 4.]]), NDArray[Shape["2, 2"], Int])
False
>>> isinstance(np.array([1, 2, 3, 4]), NDArray[Shape["2, 2"], Int])
False
```
`nptyping` also provides `assert_isinstance`. In contrast to `assert isinstance(...)`, this won't cause IDEs or MyPy
complaints. Here is an example:
```python
>>> from nptyping import assert_isinstance
>>> assert_isinstance(np.array([1]), NDArray[Shape["1"], Int])
True
```
### NumPy Structured arrays
You can also express structured arrays using `nptyping.Structure`:
```python
>>> from nptyping import Structure
>>> Structure["name: Str, age: Int"]
Structure['age: Int, name: Str']
```
Here is an example to see it in action:
```python
>>> from typing import Any
>>> import numpy as np
>>> from nptyping import NDArray, Structure
>>> arr = np.array([("Peter", 34)], dtype=[("name", "U10"), ("age", "i4")])
>>> isinstance(arr, NDArray[Any, Structure["name: Str, age: Int"]])
True
```
Subarrays can be expressed with a shape expression between square brackets:
```python
>>> Structure["name: Int[3, 3]"]
Structure['name: Int[3, 3]']
```
### NumPy Record arrays
The recarray is a specialization of a structured array. You can use `RecArray`
to express them.
```python
>>> from nptyping import RecArray
>>> arr = np.array([("Peter", 34)], dtype=[("name", "U10"), ("age", "i4")])
>>> rec_arr = arr.view(np.recarray)
>>> isinstance(rec_arr, RecArray[Any, Structure["name: Str, age: Int"]])
True
```
### Pandas DataFrames
Pandas DataFrames can be expressed with `Structure` also. To make it more concise, you may want to alias `Structure`.
```python
>>> from nptyping import DataFrame, Structure as S
>>> df: DataFrame[S["x: Float, y: Float"]]
```
### More examples
Here is an example of a rich expression that can be done with `nptyping`:
```python
def plan_route(
locations: NDArray[Shape["[from, to], [x, y]"], Float]
) -> NDArray[Shape["* stops, [x, y]"], Float]:
...
```
More examples can be found in the [documentation](https://github.com/ramonhagenaars/nptyping/blob/master/USERDOCS.md#Examples).
## Documentation
* [User documentation](https://github.com/ramonhagenaars/nptyping/blob/master/USERDOCS.md)
The place to go if you are using this library.
* [Release notes](https://github.com/ramonhagenaars/nptyping/blob/master/HISTORY.md)
To see what's new, check out the release notes.
* [Contributing](https://github.com/ramonhagenaars/nptyping/blob/master/CONTRIBUTING.md)
If you're interested in developing along, find the guidelines here.
* [License](https://github.com/ramonhagenaars/nptyping/blob/master/LICENSE)
If you want to check out how open source this library is.
%package -n python3-nptyping
Summary: Type hints for NumPy.
Provides: python-nptyping
BuildRequires: python3-devel
BuildRequires: python3-setuptools
BuildRequires: python3-pip
%description -n python3-nptyping
[![PyPI version](https://img.shields.io/pypi/pyversions/nptyping.svg)](https://img.shields.io/pypi/pyversions/nptyping.svg)
[![Downloads](https://pepy.tech/badge/nptyping/month)](https://pepy.tech/project/nptyping)
[![PyPI version](https://badge.fury.io/py/nptyping.svg)](https://badge.fury.io/py/nptyping)
[![codecov](https://codecov.io/gh/ramonhagenaars/nptyping/branch/master/graph/badge.svg)](https://codecov.io/gh/ramonhagenaars/nptyping)
[![Code style](https://img.shields.io/badge/code%20style-black-black)](https://img.shields.io/badge/code%20style-black-black)
🧊 *Type hints for `NumPy`*
🐼 *Type hints for `pandas.DataFrame`*
💡 *Extensive dynamic type checks for dtypes shapes and structures*
🚀 *[Jump to the Quickstart](https://github.com/ramonhagenaars/nptyping/blob/master/USERDOCS.md#Quickstart)*
Example of a hinted `numpy.ndarray`:
```python
>>> from nptyping import NDArray, Int, Shape
>>> arr: NDArray[Shape["2, 2"], Int]
```
Example of a hinted `pandas.DataFrame`:
```python
>>> from nptyping import DataFrame, Structure as S
>>> df: DataFrame[S["name: Str, x: Float, y: Float"]]
```
### Installation
| Command | Description |
|:---------------------------------|-------------------------------|
| `pip install nptyping` | Install the basics |
| `pip install nptyping[pandas]` | Install with pandas extension |
| `pip install nptyping[complete]` | Install with all extensions |
### Instance checking
Example of instance checking:
```python
>>> import numpy as np
>>> isinstance(np.array([[1, 2], [3, 4]]), NDArray[Shape["2, 2"], Int])
True
>>> isinstance(np.array([[1., 2.], [3., 4.]]), NDArray[Shape["2, 2"], Int])
False
>>> isinstance(np.array([1, 2, 3, 4]), NDArray[Shape["2, 2"], Int])
False
```
`nptyping` also provides `assert_isinstance`. In contrast to `assert isinstance(...)`, this won't cause IDEs or MyPy
complaints. Here is an example:
```python
>>> from nptyping import assert_isinstance
>>> assert_isinstance(np.array([1]), NDArray[Shape["1"], Int])
True
```
### NumPy Structured arrays
You can also express structured arrays using `nptyping.Structure`:
```python
>>> from nptyping import Structure
>>> Structure["name: Str, age: Int"]
Structure['age: Int, name: Str']
```
Here is an example to see it in action:
```python
>>> from typing import Any
>>> import numpy as np
>>> from nptyping import NDArray, Structure
>>> arr = np.array([("Peter", 34)], dtype=[("name", "U10"), ("age", "i4")])
>>> isinstance(arr, NDArray[Any, Structure["name: Str, age: Int"]])
True
```
Subarrays can be expressed with a shape expression between square brackets:
```python
>>> Structure["name: Int[3, 3]"]
Structure['name: Int[3, 3]']
```
### NumPy Record arrays
The recarray is a specialization of a structured array. You can use `RecArray`
to express them.
```python
>>> from nptyping import RecArray
>>> arr = np.array([("Peter", 34)], dtype=[("name", "U10"), ("age", "i4")])
>>> rec_arr = arr.view(np.recarray)
>>> isinstance(rec_arr, RecArray[Any, Structure["name: Str, age: Int"]])
True
```
### Pandas DataFrames
Pandas DataFrames can be expressed with `Structure` also. To make it more concise, you may want to alias `Structure`.
```python
>>> from nptyping import DataFrame, Structure as S
>>> df: DataFrame[S["x: Float, y: Float"]]
```
### More examples
Here is an example of a rich expression that can be done with `nptyping`:
```python
def plan_route(
locations: NDArray[Shape["[from, to], [x, y]"], Float]
) -> NDArray[Shape["* stops, [x, y]"], Float]:
...
```
More examples can be found in the [documentation](https://github.com/ramonhagenaars/nptyping/blob/master/USERDOCS.md#Examples).
## Documentation
* [User documentation](https://github.com/ramonhagenaars/nptyping/blob/master/USERDOCS.md)
The place to go if you are using this library.
* [Release notes](https://github.com/ramonhagenaars/nptyping/blob/master/HISTORY.md)
To see what's new, check out the release notes.
* [Contributing](https://github.com/ramonhagenaars/nptyping/blob/master/CONTRIBUTING.md)
If you're interested in developing along, find the guidelines here.
* [License](https://github.com/ramonhagenaars/nptyping/blob/master/LICENSE)
If you want to check out how open source this library is.
%package help
Summary: Development documents and examples for nptyping
Provides: python3-nptyping-doc
%description help
[![PyPI version](https://img.shields.io/pypi/pyversions/nptyping.svg)](https://img.shields.io/pypi/pyversions/nptyping.svg)
[![Downloads](https://pepy.tech/badge/nptyping/month)](https://pepy.tech/project/nptyping)
[![PyPI version](https://badge.fury.io/py/nptyping.svg)](https://badge.fury.io/py/nptyping)
[![codecov](https://codecov.io/gh/ramonhagenaars/nptyping/branch/master/graph/badge.svg)](https://codecov.io/gh/ramonhagenaars/nptyping)
[![Code style](https://img.shields.io/badge/code%20style-black-black)](https://img.shields.io/badge/code%20style-black-black)
🧊 *Type hints for `NumPy`*
🐼 *Type hints for `pandas.DataFrame`*
💡 *Extensive dynamic type checks for dtypes shapes and structures*
🚀 *[Jump to the Quickstart](https://github.com/ramonhagenaars/nptyping/blob/master/USERDOCS.md#Quickstart)*
Example of a hinted `numpy.ndarray`:
```python
>>> from nptyping import NDArray, Int, Shape
>>> arr: NDArray[Shape["2, 2"], Int]
```
Example of a hinted `pandas.DataFrame`:
```python
>>> from nptyping import DataFrame, Structure as S
>>> df: DataFrame[S["name: Str, x: Float, y: Float"]]
```
### Installation
| Command | Description |
|:---------------------------------|-------------------------------|
| `pip install nptyping` | Install the basics |
| `pip install nptyping[pandas]` | Install with pandas extension |
| `pip install nptyping[complete]` | Install with all extensions |
### Instance checking
Example of instance checking:
```python
>>> import numpy as np
>>> isinstance(np.array([[1, 2], [3, 4]]), NDArray[Shape["2, 2"], Int])
True
>>> isinstance(np.array([[1., 2.], [3., 4.]]), NDArray[Shape["2, 2"], Int])
False
>>> isinstance(np.array([1, 2, 3, 4]), NDArray[Shape["2, 2"], Int])
False
```
`nptyping` also provides `assert_isinstance`. In contrast to `assert isinstance(...)`, this won't cause IDEs or MyPy
complaints. Here is an example:
```python
>>> from nptyping import assert_isinstance
>>> assert_isinstance(np.array([1]), NDArray[Shape["1"], Int])
True
```
### NumPy Structured arrays
You can also express structured arrays using `nptyping.Structure`:
```python
>>> from nptyping import Structure
>>> Structure["name: Str, age: Int"]
Structure['age: Int, name: Str']
```
Here is an example to see it in action:
```python
>>> from typing import Any
>>> import numpy as np
>>> from nptyping import NDArray, Structure
>>> arr = np.array([("Peter", 34)], dtype=[("name", "U10"), ("age", "i4")])
>>> isinstance(arr, NDArray[Any, Structure["name: Str, age: Int"]])
True
```
Subarrays can be expressed with a shape expression between square brackets:
```python
>>> Structure["name: Int[3, 3]"]
Structure['name: Int[3, 3]']
```
### NumPy Record arrays
The recarray is a specialization of a structured array. You can use `RecArray`
to express them.
```python
>>> from nptyping import RecArray
>>> arr = np.array([("Peter", 34)], dtype=[("name", "U10"), ("age", "i4")])
>>> rec_arr = arr.view(np.recarray)
>>> isinstance(rec_arr, RecArray[Any, Structure["name: Str, age: Int"]])
True
```
### Pandas DataFrames
Pandas DataFrames can be expressed with `Structure` also. To make it more concise, you may want to alias `Structure`.
```python
>>> from nptyping import DataFrame, Structure as S
>>> df: DataFrame[S["x: Float, y: Float"]]
```
### More examples
Here is an example of a rich expression that can be done with `nptyping`:
```python
def plan_route(
locations: NDArray[Shape["[from, to], [x, y]"], Float]
) -> NDArray[Shape["* stops, [x, y]"], Float]:
...
```
More examples can be found in the [documentation](https://github.com/ramonhagenaars/nptyping/blob/master/USERDOCS.md#Examples).
## Documentation
* [User documentation](https://github.com/ramonhagenaars/nptyping/blob/master/USERDOCS.md)
The place to go if you are using this library.
* [Release notes](https://github.com/ramonhagenaars/nptyping/blob/master/HISTORY.md)
To see what's new, check out the release notes.
* [Contributing](https://github.com/ramonhagenaars/nptyping/blob/master/CONTRIBUTING.md)
If you're interested in developing along, find the guidelines here.
* [License](https://github.com/ramonhagenaars/nptyping/blob/master/LICENSE)
If you want to check out how open source this library is.
%prep
%autosetup -n nptyping-2.5.0
%build
%py3_build
%install
%py3_install
install -d -m755 %{buildroot}/%{_pkgdocdir}
if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi
if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi
if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi
if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi
pushd %{buildroot}
if [ -d usr/lib ]; then
find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst
fi
if [ -d usr/lib64 ]; then
find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst
fi
if [ -d usr/bin ]; then
find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst
fi
if [ -d usr/sbin ]; then
find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst
fi
touch doclist.lst
if [ -d usr/share/man ]; then
find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst
fi
popd
mv %{buildroot}/filelist.lst .
mv %{buildroot}/doclist.lst .
%files -n python3-nptyping -f filelist.lst
%dir %{python3_sitelib}/*
%files help -f doclist.lst
%{_docdir}/*
%changelog
* Thu Mar 09 2023 Python_Bot - 2.5.0-1
- Package Spec generated