Skip to main content
Join the official 2019 Python Developers SurveyStart the survey!

Type hints for Numpy

Project description

Python versions PyPI version Build Status Downloads

nptyping

Type hints for Numpy!

Installation

pip install nptyping

Usage

Use the nptyping type hints like the regular type hints from typing:

from nptyping import Array


def func1(arr: Array[int]):  # A numpy.ndarray that contains numbers
    ...

You can also define the shape of an array:

Array[str, 3, 2]    # 3 rows and 2 columns
Array[str, 3]       # 3 rows and an undefined number of columns
Array[str, 3, ...]  # 3 rows and an undefined number of columns
Array[str, ..., 2]  # an undefined number of rows and 2 columns

Heterogeneous arrays are supported as well:

Array[int, float, str]       # int, float and str on columns 1, 2 and 3 resp.
Array[int, float, str, ...]  # int, float and str on columns 1, 2 and 3 resp.
Array[int, float, str, 3]    # int, float and str on columns 1, 2 and 3 resp. and with 3 rows

nptyping also supports instance checks:

import numpy as np
from nptyping import Array


arr = np.array([[1, 2],
                [3, 4],
                [5, 6]])

isinstance(arr, Array[int, 3, 2])    # True
isinstance(arr, Array[str, 3, 2])    # False
isinstance(arr, Array[int, 3, ...])  # True
isinstance(arr, Array[int, 3, 6])    # False

Also for heterogeneous arrays:

import numpy as np
from nptyping import Array


arr = np.array([(1, 2.0, '3'),
                (4, 5.0, '6')],
               dtype=[('a', int), ('b', float), ('c', str)])

isinstance(arr, Array[int, float, str])     # True
isinstance(arr, Array[float, float, str])   # False
isinstance(arr, Array[int, float, str, 2])  # True

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for nptyping, version 0.3.1
Filename, size File type Python version Upload date Hashes
Filename, size nptyping-0.3.1-py3-none-any.whl (3.8 kB) File type Wheel Python version py3 Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page