Skip to main content

type checker agnostic parallel type checking tool

Project description

typsht

type checker agnostic parallel type checking tool. run multiple python type checkers (mypy, pyright, ty, pyre) in parallel on the same code.

inspired by tox, but specifically for type checkers. get comprehensive type checking coverage by running multiple type checkers simultaneously.

installation

quick start (no installation)

use uvx to run typsht without installing it:

# check inline code
uvx typsht 'def foo(x: int) -> str: return x'

# check a file
uvx typsht --file my_module.py

install to your project

uv add typsht

usage

check inline code:

# this will catch the type error across all checkers
typsht 'def foo(x: int) -> str: return x'

check a file:

typsht --file my_module.py

run specific type checkers:

typsht --file my_module.py --checkers mypy --checkers ty

show detailed output from each checker:

typsht --file my_module.py --verbose

project support

typsht automatically detects when checking files in a uv project (containing pyproject.toml or uv.lock) and runs type checkers using uv run --project, giving them access to your local development packages.

this is useful for library developers who want to verify type annotations work across multiple checkers:

# in a project with local packages installed in editable mode
uvx typsht --file repros/test_case.py --verbose

# type checkers will have access to your local package imports

inline code always runs in an isolated environment.

supported type checkers

by default, typsht runs:

  • mypy - widely adopted static type checker
  • pyright - fast static type checker from microsoft
  • ty - experimental blazing-fast type checker

also available (requires project configuration):

  • pyre - facebook's type checker (requires .pyre_configuration)

development

install dependencies:

uv sync

run tests:

uv run pytest

install pre-commit hooks:

uv run pre-commit install

Project details


Download files

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

Source Distribution

typsht-0.0.1a2.tar.gz (44.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

typsht-0.0.1a2-py3-none-any.whl (7.1 kB view details)

Uploaded Python 3

File details

Details for the file typsht-0.0.1a2.tar.gz.

File metadata

  • Download URL: typsht-0.0.1a2.tar.gz
  • Upload date:
  • Size: 44.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.7

File hashes

Hashes for typsht-0.0.1a2.tar.gz
Algorithm Hash digest
SHA256 78392c2d7b86a1db9ccb5a33db940222445679f6ece08a644ab870ed6f1b55ce
MD5 841d5bfdf41d28750d98b2db2348de98
BLAKE2b-256 2d51b990a06a5f021aa51b08b2a8374711c78540f1b135fbe3097cea316782ca

See more details on using hashes here.

File details

Details for the file typsht-0.0.1a2-py3-none-any.whl.

File metadata

  • Download URL: typsht-0.0.1a2-py3-none-any.whl
  • Upload date:
  • Size: 7.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.7

File hashes

Hashes for typsht-0.0.1a2-py3-none-any.whl
Algorithm Hash digest
SHA256 b7850f450a8db512f513dddf4bb84430ce2ee53b7f975b0e34e04954d2cbeb6d
MD5 bb4d0fda49097e78e1eca0fbb886e046
BLAKE2b-256 9c4d192ab6be42ab81b9639136f589aa3a7c171f9ac44a698355c7d9e809c425

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page