Skip to main content

typings🏷️

PyPI version CI Python 3.12+ License: Apache-2.0 Discord

Type stubs for third-party libraries, written by hand. Some of these libraries ship no types at all. Others ship types that basedpyright and ty reject in strict mode.

Quick Start

# Mac:
#   # Required for quick install.
#   brew install uv

# Ubuntu/Debian:
#   # Required for quick install.
#   sudo apt-get install -y curl
#   curl -LsSf https://astral.sh/uv/install.sh | sh

uv add --dev rekursiv-ai-typings

# Alternatively: python -m pip install rekursiv-ai-typings

There is nothing to configure. Each library's stubs install as a separate <pkg>-stubs package (the standard PEP 561 layout), and both checkers look for those automatically.

Example

import yaml

data = yaml.safe_load("a: 1")
reveal_type(data)  # object, not Any

Features

Override one library

If you want your own stubs for a library instead of ours, put them in your project and they take priority. Name the directory <pkg>-stubs:

typings/<pkg>-stubs/__init__.pyi

Then tell both checkers where to look:

[tool.basedpyright]
stubPath = "typings"

[tool.ty.environment]
extra-paths = ["typings"]

The -stubs suffix matters. If you name the directory <pkg>, ty ignores it and uses ours.

Partial stubs

Some stubs cover only part of a library: fastapi, starlette, lxml, curl_cffi, lark, optax, sklearn, and torch. Each of these is marked partial, so for any module we don't stub, the checkers fall back to the library's own types.

Triton on macOS

triton only installs on Linux. On macOS, basedpyright reports reportMissingModuleSource on every import triton. To fix that, this package also installs placeholder .py files for triton. Add their location to extraPaths:

[tool.basedpyright]
extraPaths = [".venv/share/rekursiv-ai-typings"]

The placeholders only make the import resolve. The types still come from our stubs.

Patched standard library

rekursiv-ai-typeshed, in typeshed/, is a separate package from this repo. It fixes the standard-library stubs so that x ** 0.5 is a float rather than Any. See typeshed/README.md.

Metadata

Release files for rekursiv-ai-typings 0.1.7

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

Source distribution (sdist)

Source distribution for rekursiv-ai-typings 0.1.7
File Size Uploaded Provenance Actions
rekursiv_ai_typings-0.1.7.tar.gz 2.3 MB With provenance Details for rekursiv_ai_typings-0.1.7.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for rekursiv-ai-typings 0.1.7
File Interpreter ABI Platform Actions
rekursiv_ai_typings-0.1.7-py3-none-any.whl Python 3 none any Details for rekursiv_ai_typings-0.1.7-py3-none-any.whl

Total release size: 7.2 MB

Release files / rekursiv_ai_typings-0.1.7.tar.gz

Download URL rekursiv_ai_typings-0.1.7.tar.gz
Size 2.3 MB
Tags Source
SHA-256 checksum
How to use checksums
7de7165c247de31c5bfced1b591ee9c3dae15289921c8d8fcf766db2aecc44e9
BLAKE2b-256 checksum
How to use checksums
33baf86ccff31814499a738f49a50cba768df46961a6de80336a2ef696dac013
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 21, 2026.

Transparency log

Release files / rekursiv_ai_typings-0.1.7-py3-none-any.whl

Download URL rekursiv_ai_typings-0.1.7-py3-none-any.whl
Size 4.9 MB
Tags Python 3
SHA-256 checksum
How to use checksums
50d0f4065d0ab2e6594f3fe7157fdeaf9a8bcefa2bef9dd3275ac29f039971e5
BLAKE2b-256 checksum
How to use checksums
3bc94020d540fb5b7f06e4187786bde74efdba40729bbbf0fa1a6a27abc96284
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 21, 2026.

Transparency log

Security for rekursiv-ai-typings 0.1.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

Both files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for rekursiv_ai_typings-0.1.7.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 21, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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