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.86.0 builds on ty 0.0.86, 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.86.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.86.0
File Size Uploaded Provenance
ty_extended-0.86.0.tar.gz 8.1 MB Without provenance Details

Built distributions (wheels)

Table of built distributions (wheels) for ty-extended 0.86.0
File
ty_extended-0.86.0-py3-none-win_arm64.whl Python 3 none Windows ARM64 Details
ty_extended-0.86.0-py3-none-win_amd64.whl Python 3 none Windows x86-64 Details
ty_extended-0.86.0-py3-none-musllinux_1_2_x86_64.whl Python 3 none Linux musl 1.2+ x86-64 Details
ty_extended-0.86.0-py3-none-musllinux_1_2_aarch64.whl Python 3 none Linux musl 1.2+ ARM64 Details
ty_extended-0.86.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.86.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl Python 3 none Linux glibc 2.17+ ARM64 Details
ty_extended-0.86.0-py3-none-macosx_11_0_arm64.whl Python 3 none macOS 11.0+ ARM64 Details
ty_extended-0.86.0-py3-none-macosx_10_12_x86_64.whl Python 3 none macOS 10.12+ x86-64 Details

Total release size: 193.0 MB

Release files / ty_extended-0.86.0.tar.gz

Download URL ty_extended-0.86.0.tar.gz
Size 8.1 MB
Tags Source
SHA-256 checksum
How to use checksums
c68922aa4e66f557169a356156fa6195a66c889ba048267e033aab9bf399baa4
BLAKE2b-256 checksum
How to use checksums
b43bd8a92246f107045b6e504e7b69a4dda55222df56998b3635fca7ce22a41a
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.86.0-py3-none-win_arm64.whl

Download URL ty_extended-0.86.0-py3-none-win_arm64.whl
Size 22.6 MB
Tags Python 3 Windows ARM64
SHA-256 checksum
How to use checksums
01729cca12df984b2a328aecc12b97f6ebd810370a1b754e57056f32dbf07ca1
BLAKE2b-256 checksum
How to use checksums
7e27f2f61d31a5f2961f5d69d68a0f6bcdb0c9d419f492b03c71b2d3ceb0e803
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.86.0-py3-none-win_amd64.whl

Download URL ty_extended-0.86.0-py3-none-win_amd64.whl
Size 24.6 MB
Tags Python 3 Windows x86-64
SHA-256 checksum
How to use checksums
ae2b852ede90f4963157d248fd269cf74c846abbafd3225c4da72d0eede9c28f
BLAKE2b-256 checksum
How to use checksums
a98f8e20b525876401ba5a7653bee5b69f3b697c1cd088f76f2733620c0e9472
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.86.0-py3-none-musllinux_1_2_x86_64.whl

Download URL ty_extended-0.86.0-py3-none-musllinux_1_2_x86_64.whl
Size 24.3 MB
Tags Linux musl 1.2+ x86-64 Python 3
SHA-256 checksum
How to use checksums
9916415c03f695fcbf1ac532387623b45e03feef1154beb83973f1dff84d652b
BLAKE2b-256 checksum
How to use checksums
51bef1dfb94a4139b9bb5f8b74fa4778bd0acbff2ff4a3b2f9b8c1d8c18968d6
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.86.0-py3-none-musllinux_1_2_aarch64.whl

Download URL ty_extended-0.86.0-py3-none-musllinux_1_2_aarch64.whl
Size 22.2 MB
Tags Linux musl 1.2+ ARM64 Python 3
SHA-256 checksum
How to use checksums
586e300c68423a78dd5e82b128e789766be40e332f9cdf1ecc922311c6883acd
BLAKE2b-256 checksum
How to use checksums
429688d192165d996025b24fdab09532552a1b58853c62d62e483cb3dd4470a0
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.86.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL ty_extended-0.86.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 24.0 MB
Tags Linux glibc 2.17+ x86-64 Python 3
SHA-256 checksum
How to use checksums
cd25cb964ae1299cd17785129eaa11d2412354d2f2321ff322c18c88ef88bf17
BLAKE2b-256 checksum
How to use checksums
5c0a17339167a0d55dc4fe200e3bfd26777cf4ec5608177171601d06d910f937
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.86.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL ty_extended-0.86.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 22.3 MB
Tags Linux glibc 2.17+ ARM64 Python 3
SHA-256 checksum
How to use checksums
e3e877c6d430e55288f25376ffa6459cbcf07890c31d1c1cb5fd79f4c6e046d9
BLAKE2b-256 checksum
How to use checksums
b5ea54f9802e47b51bff6c67de52accc81baf2cdc005dad8ebb567bd8d08b928
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.86.0-py3-none-macosx_11_0_arm64.whl

Download URL ty_extended-0.86.0-py3-none-macosx_11_0_arm64.whl
Size 21.6 MB
Tags Python 3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
c502c05e4107cd756b35893bcb2094548a84241da14dbb9c007dbd2ffff6ddbf
BLAKE2b-256 checksum
How to use checksums
87ae5d16dfbdde632de58543f4fb6b991547f1296a05311405963146ee32631d
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.86.0-py3-none-macosx_10_12_x86_64.whl

Download URL ty_extended-0.86.0-py3-none-macosx_10_12_x86_64.whl
Size 23.2 MB
Tags Python 3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
06cc6dfe9ae0f5dde59a687bed007d1dbe6cb645972cf7ccac9836688b0be73f
BLAKE2b-256 checksum
How to use checksums
bf2a08eda25765cd17d30a39cbe7237d9b1c4bff7ff6bac02a1ab9e3a0503bbf
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.86.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