Skip to main content

pyprojx

Version-aware intelligence for pyproject.toml—check, explain, and safely evolve your Python configuration.

Python project configuration brings together packaging standards and settings for tools that evolve independently. pyprojx aims to help you understand and safely maintain that configuration for the versions your project actually uses, with analysis as the foundation for useful explanations and reviewable improvements.

Planned capabilities

  • Validate Python/PyPA sections and tool-specific configuration, starting with uv, Ruff, and ty.
  • Explain configuration issues, including unknown settings, deprecated options, and conflicts, with useful diagnostics and suggested fixes.
  • Provide formatting, a pyprojx CLI, and language-server features such as completion, hover documentation, and quick fixes.

Guided editing, configuration migrations, and generation are possible future directions built on that foundation—not committed features or current capabilities.

The focus is pyproject.toml, not general project management. pyprojx is intended to complement tools like uv, Ruff, and ty—not replace package management, Python source linting, or type checking.

Current status

pyprojx is in early development. pyprojx check reports TOML syntax errors, invalid UTF-8, and byte order marks in pyproject.toml, warns about TOML 1.1 syntax that tomllib in Python 3.14 and earlier rejects, and validates [build-system], [project] (including dependencies, extras, license metadata, and trove classifiers), and [dependency-groups]. It also reports features, such as license expressions, that the build backend versions allowed by [build-system] lack, and checks [tool.ruff], [tool.ty], and [tool.uv] options and values, Ruff's rule selectors, ty's rules, and the indexes, extras, and groups [tool.uv] refers to, against the Ruff, ty, and uv versions the project allows. The other capabilities above are not implemented yet.

$ pyprojx check
error[invalid-toml]: missing value
 --> pyproject.toml:2:14
  |
2 | line-length =
  |              ^

Found 1 error.

pyprojx check checks the nearest pyproject.toml in the current directory or its parents, or the file or directory you pass. It exits with 0 when there are no errors (warnings do not fail the check), 1 when there are, and 2 when the file cannot be checked.

pyprojx is written in Rust and distributed on PyPI as prebuilt binaries, like Ruff and uv, so no Rust toolchain is needed to install it. Run it with uvx pyprojx check, or install it with uv tool install pyprojx.

Learn more and contribute

  • Project vision: intended capabilities, inspiration, and scope.
  • Contributing: development setup, validation, and proposing changes.
  • Publishing guide: maintainer release instructions and current automation limits.

License

MIT, copyright 2026 Jake Van Slyke.

Release files for pyprojx 0.5.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 pyprojx 0.5.0
File Size Uploaded
pyprojx-0.5.0.tar.gz 186.4 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for pyprojx 0.5.0
File
pyprojx-0.5.0-py3-none-win_amd64.whl Python 3 none Windows x86-64 Details
pyprojx-0.5.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl Python 3 none Linux glibc 2.17+ x86-64 Details
pyprojx-0.5.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl Python 3 none Linux glibc 2.17+ ARM64 Details
pyprojx-0.5.0-py3-none-macosx_11_0_arm64.whl Python 3 none macOS 11.0+ ARM64 Details
pyprojx-0.5.0-py3-none-macosx_10_12_x86_64.whl Python 3 none macOS 10.12+ x86-64 Details

Total release size: 8.1 MB

Release files / pyprojx-0.5.0.tar.gz

Download URL pyprojx-0.5.0.tar.gz
Size 186.4 kB
Tags Source
SHA-256 checksum
How to use checksums
235ad786bc7f5dfe8445fc8c46dff22983a7ceb32460e3affaa5bd2e50ab8c18
BLAKE2b-256 checksum
How to use checksums
7d1198710acdb0b59ebc7e13969e78c570cb29c489511288f454728c8bad654c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.18 {"installer":{"name":"uv","version":"0.12.18","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 / pyprojx-0.5.0-py3-none-win_amd64.whl

Download URL pyprojx-0.5.0-py3-none-win_amd64.whl
Size 1.6 MB
Tags Python 3 Windows x86-64
SHA-256 checksum
How to use checksums
6d81c0b2b49d2a2e2efb991a5b7b0373dfa7fbf87ae77de0863f633ee10763ab
BLAKE2b-256 checksum
How to use checksums
bf5b0fbab155202318873c2d78073f7ab40aab2e9bd4fe15d29bc713c47e4ffe
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.18 {"installer":{"name":"uv","version":"0.12.18","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 / pyprojx-0.5.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL pyprojx-0.5.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.7 MB
Tags Linux glibc 2.17+ x86-64 Python 3
SHA-256 checksum
How to use checksums
1e6d8f314c0be46c24a775d5bef97c18d1c8053a4aae3e2406794efeb176ad43
BLAKE2b-256 checksum
How to use checksums
a22ceebb6b2f89c336c7e539e32c260e6d27cdd2e4596948f9ff65cc9b2b5ff5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.18 {"installer":{"name":"uv","version":"0.12.18","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 / pyprojx-0.5.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL pyprojx-0.5.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 1.6 MB
Tags Linux glibc 2.17+ ARM64 Python 3
SHA-256 checksum
How to use checksums
d44c4317a91fd8890789e9580bfd50919e5e49e48466cc40468b9009201f1adf
BLAKE2b-256 checksum
How to use checksums
41fe012c8ee4739fd3a4bcaccdfea30c4f6d4363bc903ac2550a6d33f19169b7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.18 {"installer":{"name":"uv","version":"0.12.18","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 / pyprojx-0.5.0-py3-none-macosx_11_0_arm64.whl

Download URL pyprojx-0.5.0-py3-none-macosx_11_0_arm64.whl
Size 1.5 MB
Tags Python 3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
53e9e6067942e399bbd474f41fa199800875643f73bd9df02faddd78e36dcf0b
BLAKE2b-256 checksum
How to use checksums
7673f10aa88d8a1fd03e3ade46252908094879286036850e8ffce6d6b30f7ef0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.18 {"installer":{"name":"uv","version":"0.12.18","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 / pyprojx-0.5.0-py3-none-macosx_10_12_x86_64.whl

Download URL pyprojx-0.5.0-py3-none-macosx_10_12_x86_64.whl
Size 1.6 MB
Tags Python 3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
72215d4975d1296df6a1282c1f290a1284301d87c50f223f35fab57856f37935
BLAKE2b-256 checksum
How to use checksums
d698ad8a9a57d8048d1807d84cd1e29cf1bed4c1f9d9be272fd391ea6b7fef28
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.18 {"installer":{"name":"uv","version":"0.12.18","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 history Release notifications | RSS feed

This release

0.5.0 This release

6 release files

0.4.0

6 release files

0.3.0

6 release files

0.2.0

6 release files

0.1.0

6 release files

0.0.1

2 release files

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