Skip to main content

ty-extended

PyPI

A fork of Astral's ty with support for semantic plugins. It keeps the ty command and language server.

Getting started

Run with uvx:

uvx --from ty-extended ty check

Or add it to your project:

uv add --dev ty-extended
uv run ty check

Plugins

flowchart LR
    subgraph host["ty-extended"]
        checker["ty semantic checker"] -->|claimed hook| router["Plugin router"]
        router -->|validated patch| checker
    end

    project["Python project"] --> checker
    config["ty.toml + plugin manifest"] --> router
    router -->|JSON request| wasm["WASM plugin<br/>inside Wasmtime"]
    wasm -->|declarative patch| router
    router -->|JSON request| monty["Python plugin inside Monty<br/>embedded by default, optional worker"]
    monty -->|declarative patch| router
    checker --> output["Types + diagnostics"]
  • Rust plugins compile to WebAssembly and run in Wasmtime, using ty_plugin_sdk.
  • Python plugins run in Monty, using the bundled ty.plugin_sdk. No compilation is needed.

Monty runs in-process by default, with no external runtime dependency. Separate worker processes are opt-in through the monty-workers extra and project configuration.

Enable installed plugins in ty.toml:

[plugins]
auto-discover = true

Existing plugins

Documentation

Report fork or plugin issues in the issue tracker.

Contributing

Rust implementation changes belong in ruff-extended, which is pinned by the ruff submodule. See CONTRIBUTING.md.

Version policy

Versions track the upstream ty base: ty-extended 0.85.0 builds on ty 0.0.85, with fork-only releases incrementing the patch. SDK and protocol crates are versioned independently; breaking changes may occur between their pre-1.0 releases.

License

MIT (LICENSE).

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in ty by you, as defined in the MIT license, shall be licensed as above, without any additional terms or conditions.

Metadata

Release files for ty-extended 0.85.0

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

Source distribution (sdist)

Source distribution for ty-extended 0.85.0
File Size Uploaded Provenance
ty_extended-0.85.0.tar.gz 7.7 MB Without provenance Details

Built distributions (wheels)

Table of built distributions (wheels) for ty-extended 0.85.0
File
ty_extended-0.85.0-py3-none-win_arm64.whl Python 3 none Windows ARM64 Details
ty_extended-0.85.0-py3-none-win_amd64.whl Python 3 none Windows x86-64 Details
ty_extended-0.85.0-py3-none-musllinux_1_2_x86_64.whl Python 3 none Linux musl 1.2+ x86-64 Details
ty_extended-0.85.0-py3-none-musllinux_1_2_aarch64.whl Python 3 none Linux musl 1.2+ ARM64 Details
ty_extended-0.85.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl Python 3 none Linux glibc 2.17+ x86-64 Details
ty_extended-0.85.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl Python 3 none Linux glibc 2.17+ ARM64 Details
ty_extended-0.85.0-py3-none-macosx_11_0_arm64.whl Python 3 none macOS 11.0+ ARM64 Details
ty_extended-0.85.0-py3-none-macosx_10_12_x86_64.whl Python 3 none macOS 10.12+ x86-64 Details

Total release size: 188.6 MB

Release files / ty_extended-0.85.0.tar.gz

Download URL ty_extended-0.85.0.tar.gz
Size 7.7 MB
Tags Source
SHA-256 checksum
How to use checksums
a045246059b628db73f15a69a0325799baa10f256fd2960be1466bedc017e217
BLAKE2b-256 checksum
How to use checksums
9fd4359be954e26b0985854117e63a4e63b0b7fce85c4c87244643d36344dffb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.23 {"installer":{"name":"uv","version":"0.12.23","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / ty_extended-0.85.0-py3-none-win_arm64.whl

Download URL ty_extended-0.85.0-py3-none-win_arm64.whl
Size 22.2 MB
Tags Python 3 Windows ARM64
SHA-256 checksum
How to use checksums
3f5364ac1927be4b8496bf8966cfd7c6ef5fcd45b990d1686839c48823c5a15d
BLAKE2b-256 checksum
How to use checksums
00bf3ec6f1232a126f32d61046d703f64fb43c96ee99ef0e1bd84917eff903a6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.23 {"installer":{"name":"uv","version":"0.12.23","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / ty_extended-0.85.0-py3-none-win_amd64.whl

Download URL ty_extended-0.85.0-py3-none-win_amd64.whl
Size 24.1 MB
Tags Python 3 Windows x86-64
SHA-256 checksum
How to use checksums
72f1d8c0047d49751bc4658949d887dac2732eb583f847c6b9604c19ba22da41
BLAKE2b-256 checksum
How to use checksums
de143c5cdf3ea5dc0d107484769f6b2541ee1d9a423fdd22053e3dc4d50f779f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.23 {"installer":{"name":"uv","version":"0.12.23","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / ty_extended-0.85.0-py3-none-musllinux_1_2_x86_64.whl

Download URL ty_extended-0.85.0-py3-none-musllinux_1_2_x86_64.whl
Size 23.8 MB
Tags Linux musl 1.2+ x86-64 Python 3
SHA-256 checksum
How to use checksums
4b25c20bdb4b3cb17af9fc7761b85864d0026538ae729c2af054b9f10e0a40d2
BLAKE2b-256 checksum
How to use checksums
7628be6d55be14314622f13ce6e680d8348774b28eb665ec122abccdd70fccce
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.23 {"installer":{"name":"uv","version":"0.12.23","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / ty_extended-0.85.0-py3-none-musllinux_1_2_aarch64.whl

Download URL ty_extended-0.85.0-py3-none-musllinux_1_2_aarch64.whl
Size 21.7 MB
Tags Linux musl 1.2+ ARM64 Python 3
SHA-256 checksum
How to use checksums
5f46ac7b7e575d88820ba7ec17cf6483eb19b232b941c982183760ef429c6bed
BLAKE2b-256 checksum
How to use checksums
75b901691073ee3cf8a1cb3cea6ef33059d8ac6fdc7b4aaeb0664a311dbcdecd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.23 {"installer":{"name":"uv","version":"0.12.23","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / ty_extended-0.85.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL ty_extended-0.85.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 23.5 MB
Tags Linux glibc 2.17+ x86-64 Python 3
SHA-256 checksum
How to use checksums
ae397b69fb68376d4b221454b854505edfba6e88639586b462637421c295a05e
BLAKE2b-256 checksum
How to use checksums
e514b834a65aa8db26e8953220183414ea7569312a47a1b22d3fc9b53655edbd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.23 {"installer":{"name":"uv","version":"0.12.23","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / ty_extended-0.85.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL ty_extended-0.85.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 21.8 MB
Tags Linux glibc 2.17+ ARM64 Python 3
SHA-256 checksum
How to use checksums
5bf35cc8c88aa5073a05a83a161692c60e958f934e5499fb18acf0480ee15e92
BLAKE2b-256 checksum
How to use checksums
7bdfd0a222a48fd0d418dfbe823f880efacc3dbacb22da9639f16966baa55e11
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.23 {"installer":{"name":"uv","version":"0.12.23","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / ty_extended-0.85.0-py3-none-macosx_11_0_arm64.whl

Download URL ty_extended-0.85.0-py3-none-macosx_11_0_arm64.whl
Size 21.1 MB
Tags Python 3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
77ba5cce6e51e62df71f90fb4a119031891bce599be6bd70b505ced30c1882d5
BLAKE2b-256 checksum
How to use checksums
8a91e702df0481c5352321fa138a751596b08f16f4f88d55314601c4d314d00e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.23 {"installer":{"name":"uv","version":"0.12.23","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / ty_extended-0.85.0-py3-none-macosx_10_12_x86_64.whl

Download URL ty_extended-0.85.0-py3-none-macosx_10_12_x86_64.whl
Size 22.6 MB
Tags Python 3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
e72780d18cad77ca9d939e7f188f50c5878369ef07a31e491d7aa16a85d23051
BLAKE2b-256 checksum
How to use checksums
d299dcb6d5daac09913312abeb4d1900c0e96d1ea767a8d3d57f2d15e6d663b2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.23 {"installer":{"name":"uv","version":"0.12.23","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Security for ty-extended 0.85.0

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.

No provenance found

None of the files in this release were uploaded with provenance metadata.

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.

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