Type stubs for Python machine learning libraries
Project description
Python type stubs for numpy, pandas and matplotlib
This is a PEP-561-compliant stub-only package which provides type information for matplotlib, numpy and pandas. The mypy type checker can recognize the types in these packages by installing this package:
pip install data-science-types
There is also minor support for Tensorflow and Tensorflow Probability.
Examples
These are the kinds of things that can be checked:
Array creation
import numpy as np
arr1: np.ndarray[np.int64] = np.array([3, 7, 39, -3]) # OK
arr2: np.ndarray[np.int32] = np.array([3, 7, 39, -3]) # Type error
arr3: np.ndarray[np.int32] = np.array([3, 7, 39, -3], dtype=np.int32) # OK
arr4: np.ndarray[float] = np.array([3, 7, 39, -3], dtype=float) # Type error: the type of ndarray can not be just "float"
arr5: np.ndarray[np.float64] = np.array([3, 7, 39, -3], dtype=float) # OK
Operations
import numpy as np
arr1: np.ndarray[np.int64] = np.array([3, 7, 39, -3])
arr2: np.ndarray[np.int64] = np.array([4, 12, 9, -1])
result1: np.ndarray[np.int64] = np.divide(arr1, arr2) # Type error
result2: np.ndarray[np.float64] = np.divide(arr1, arr2) # OK
compare: np.ndarray[np.bool_] = (arr1 == arr2)
Reductions
import numpy as np
arr: np.ndarray[np.float64] = np.array([[1.3, 0.7], [-43.0, 5.6]])
sum1: int = np.sum(arr) # Type error
sum2: np.float64 = np.sum(arr) # OK
sum3: float = np.sum(arr) # Also OK: np.float64 is a subclass of float
sum4: np.ndarray[np.float64] = np.sum(arr, axis=0) # OK
# the same works with np.max, np.min and np.prod
Philosophy
The goal is not to recreate the class hierarchy exactly. The goal is to have useful checks on our code. Often the actual API in the libraries is more permissive than the type signatures in our stubs; but this is (usually) a feature and not a bug.
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 Distribution
data-science-types-0.2.0.tar.gz
(15.2 kB
view hashes)
Built Distribution
Close
Hashes for data_science_types-0.2.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dc1ab1abbaca60ba28e73882d10dfad3066a3fcb4f7b7de4f80e6a8a5cfaf3ef |
|
MD5 | dbd8bb34f7a694e144f3f23ec157ca9f |
|
BLAKE2b-256 | 5fbe4000e845e0c7542161b8c3e5ac2b1e7782699cf55350dab137595e1dad64 |