ty-extended
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
- Installation and editor setup
- Plugin authoring and runtime configuration
- FAQ and changelog
- Upstream ty documentation for checker and typing features
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.84.4 builds on ty 0.0.84, 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.84.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| ty_extended-0.84.4.tar.gz | 7.6 MB | Without provenance | Details |
Built distributions (wheels)
| File | Reset | |||
|---|---|---|---|---|
| ty_extended-0.84.4-py3-none-win_arm64.whl | Python 3 | none | Windows ARM64 | Details |
| ty_extended-0.84.4-py3-none-win_amd64.whl | Python 3 | none | Windows x86-64 | Details |
| ty_extended-0.84.4-py3-none-musllinux_1_2_x86_64.whl | Python 3 | none | Linux musl 1.2+ x86-64 | Details |
| ty_extended-0.84.4-py3-none-musllinux_1_2_aarch64.whl | Python 3 | none | Linux musl 1.2+ ARM64 | Details |
| ty_extended-0.84.4-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl | Python 3 | none | Linux glibc 2.17+ x86-64 | Details |
| ty_extended-0.84.4-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl | Python 3 | none | Linux glibc 2.17+ ARM64 | Details |
| ty_extended-0.84.4-py3-none-macosx_11_0_arm64.whl | Python 3 | none | macOS 11.0+ ARM64 | Details |
| ty_extended-0.84.4-py3-none-macosx_10_12_x86_64.whl | Python 3 | none | macOS 10.12+ x86-64 | Details |
Total release size: 185.3 MB
Release files / ty_extended-0.84.4.tar.gz
| Download URL | ty_extended-0.84.4.tar.gz |
|---|---|
| Size | 7.6 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
23a7c3bf38146944e498450c909f83410acee20d45846bd2eaf0d6f8311536da
|
|
BLAKE2b-256 checksum How to use checksums |
5e31e8afe6b67b9f789c4b3bb642083939c8e4b0c47fc828576195ec964240d4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.11 {"installer":{"name":"uv","version":"0.12.11","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.84.4-py3-none-win_arm64.whl
| Download URL | ty_extended-0.84.4-py3-none-win_arm64.whl |
|---|---|
| Size | 21.8 MB |
| Tags | Python 3 Windows ARM64 |
|
SHA-256 checksum How to use checksums |
018bdfcae13a170090ea6dca89eeec12089c752fc5d7836e8e393e00c6b64e66
|
|
BLAKE2b-256 checksum How to use checksums |
e238bc99a5f40c4586193397842ef3d69b12ebc9b8ffbdf55fbc76b14cb71397
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.11 {"installer":{"name":"uv","version":"0.12.11","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.84.4-py3-none-win_amd64.whl
| Download URL | ty_extended-0.84.4-py3-none-win_amd64.whl |
|---|---|
| Size | 23.7 MB |
| Tags | Python 3 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
c71cb01659cb0ec067ab51732b1bd7e5e92a48ae46dc8fbe686ce4d1399b3008
|
|
BLAKE2b-256 checksum How to use checksums |
393464ae9b87803b45295de5695d202049e0effd1ad835313947ce6fa3e2f6f1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.11 {"installer":{"name":"uv","version":"0.12.11","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.84.4-py3-none-musllinux_1_2_x86_64.whl
| Download URL | ty_extended-0.84.4-py3-none-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 23.3 MB |
| Tags | Linux musl 1.2+ x86-64 Python 3 |
|
SHA-256 checksum How to use checksums |
b3d5f959a39d25a4d127c89aee36a02c11386cd3b902275c98973df728d35718
|
|
BLAKE2b-256 checksum How to use checksums |
07c7138dd9ddf93cf588bedadcdae5a15e727329e1825244561489b2413ea14b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.11 {"installer":{"name":"uv","version":"0.12.11","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.84.4-py3-none-musllinux_1_2_aarch64.whl
| Download URL | ty_extended-0.84.4-py3-none-musllinux_1_2_aarch64.whl |
|---|---|
| Size | 21.3 MB |
| Tags | Linux musl 1.2+ ARM64 Python 3 |
|
SHA-256 checksum How to use checksums |
8124a1e843856551eb22efbd4c69aa940859be8727f1189e55cc84cd77fc7bee
|
|
BLAKE2b-256 checksum How to use checksums |
393ab447dbec55810ebfc762d019ed90e0c68909162124a28bb4cf3e9a7099fa
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.11 {"installer":{"name":"uv","version":"0.12.11","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.84.4-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | ty_extended-0.84.4-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 23.1 MB |
| Tags | Linux glibc 2.17+ x86-64 Python 3 |
|
SHA-256 checksum How to use checksums |
fb6aa8c4d431b54dc5cd9663250a24c75b0f466c00ddcd59fdc70bd7681c4e69
|
|
BLAKE2b-256 checksum How to use checksums |
3e78e785a4a0b6ea7591f44f0272cb87f8da928523716d68ac77bffa58246b64
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.11 {"installer":{"name":"uv","version":"0.12.11","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.84.4-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | ty_extended-0.84.4-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 21.5 MB |
| Tags | Linux glibc 2.17+ ARM64 Python 3 |
|
SHA-256 checksum How to use checksums |
bc770ef751a27b909ab121d316af2ceac129b4f6f6dae773279c8026ac0a4dfb
|
|
BLAKE2b-256 checksum How to use checksums |
ccc2fd1cf1693b51e02abcd55e6d9d3c46221e58cce4e49c30ad5070331046b4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.11 {"installer":{"name":"uv","version":"0.12.11","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.84.4-py3-none-macosx_11_0_arm64.whl
| Download URL | ty_extended-0.84.4-py3-none-macosx_11_0_arm64.whl |
|---|---|
| Size | 20.8 MB |
| Tags | Python 3 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
8186d2c3c5552075b01260bd5cc6e5b33224a71f49629c072cadf3bdec620df3
|
|
BLAKE2b-256 checksum How to use checksums |
c0bcf96d36b45c355fce5dfe5d7884e6a323fa738bd39977c181407dccf21404
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.11 {"installer":{"name":"uv","version":"0.12.11","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.84.4-py3-none-macosx_10_12_x86_64.whl
| Download URL | ty_extended-0.84.4-py3-none-macosx_10_12_x86_64.whl |
|---|---|
| Size | 22.2 MB |
| Tags | Python 3 macOS 10.12+ x86-64 |
|
SHA-256 checksum How to use checksums |
a6b2558a1c4e0e2c2bcd5456f4688ebd229be4198539c1db75f055bf1a4854c7
|
|
BLAKE2b-256 checksum How to use checksums |
5198b0ba23ffcb3cb0d4fbda8385a518a63889b702260933341be72ed401906f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.11 {"installer":{"name":"uv","version":"0.12.11","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.84.4
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.