Skip to main content

typingkit

Ruff

Python strong typing suite, along with Typed NumPy: Static shape typing and runtime shape validation.

[!WARNING] Experimental & WIP. See USAGE.md for more details.

Installation

Install uv (optional, recommended)

Install uv, if not already. Check here for installation instructions.

It is recommended to use uv, as it will automatically install the dependencies in a virtual environment. If you don't want to use uv, skip to the next step.

TL;DR: Just run

curl -LsSf https://astral.sh/uv/install.sh | sh
Install the package

The dependencies are listed in the pyproject.toml file. At present, the only required dependency is numpy.

Install the package from the PyPI release:

# Using uv
uv add typingkit

# Or with pip
pip3 install typingkit

To install from the latest commit:

uv add git+https://github.com/AshrithSagar/typingkit.git@main

Usage

from typing import TypeVar

from typingkit._typed.ndarray import TypedNDArray

# Shape variables are just regular TypeVar's
N = TypeVar("N", bound=int, default=int)
M = TypeVar("M", bound=int, default=int)

# Create aliases such as these, or use TypedNDArray directly
Vector = TypedNDArray[tuple[N]]
Matrix = TypedNDArray[tuple[M, N]]

v1 = Vector([1, 2, 3])  # Passes
v2 = Vector([4, 5, 6, 7])  # Also passes

v3 = TypedNDArray[tuple[int]]([[8, 9]])
# Fails, since expected 1D array but passed in a 2D array

See USAGE.md for more details.

License

This project falls under the MIT License.

Metadata

Release files for typingkit 0.2.8

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for typingkit 0.2.8
File Size Uploaded
typingkit-0.2.8.tar.gz 29.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for typingkit 0.2.8
File Interpreter ABI Platform
typingkit-0.2.8-py3-none-any.whl Python 3 none any Details

Total release size: 66.5 kB

Release files / typingkit-0.2.8.tar.gz

Download URL typingkit-0.2.8.tar.gz
Size 29.5 kB
Tags Source
SHA-256 checksum
How to use checksums
76f276d2e3baff1e2e1f41fde7fab3b1ef984b8ee7de8604676d272a5c54b883
BLAKE2b-256 checksum
How to use checksums
77547ed6c571cb959ca33e71672b6a8bd7077b8d98b07d547df401bfe06e49ce
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.10.11 {"installer":{"name":"uv","version":"0.10.11","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / typingkit-0.2.8-py3-none-any.whl

Download URL typingkit-0.2.8-py3-none-any.whl
Size 37.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9150c7b29bffce3ecd2601e91f06745e5ab6d4d9386635051709aeb269a1093e
BLAKE2b-256 checksum
How to use checksums
ca02d58394a92865674e08e626805588bb8d19428a054de1587038543e5f5bf5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.10.11 {"installer":{"name":"uv","version":"0.10.11","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

This release

0.2.8 This release

2 release files

0.2.7

2 release files

0.2.6

2 release files

0.2.5

2 release files

0.2.4

2 release files

0.2.3

2 release files

0.2.2

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page