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. 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.3.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.3.0
File Size Uploaded
pyprojx-0.3.0.tar.gz 125.7 kB Details

Built distributions (wheels)

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

Total release size: 7.5 MB

Release files / pyprojx-0.3.0.tar.gz

Download URL pyprojx-0.3.0.tar.gz
Size 125.7 kB
Tags Source
SHA-256 checksum
How to use checksums
fb939dea2d6bb644f8559de68cb918880643e745c09374b4acb1717db6063772
BLAKE2b-256 checksum
How to use checksums
dd2a45eb18caf402ee64c71d0fec32fb54c6a5e39d3d238c55e8c149e1d92bfd
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.3.0-py3-none-win_amd64.whl

Download URL pyprojx-0.3.0-py3-none-win_amd64.whl
Size 1.4 MB
Tags Python 3 Windows x86-64
SHA-256 checksum
How to use checksums
0b52affd7706d7370ce6348fbd602199ad5cf83bd86067992d120b1efcc55dac
BLAKE2b-256 checksum
How to use checksums
b9c347d004eee5363bf611652cd79096737d5a993c788d18f584a6db40f36551
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.3.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL pyprojx-0.3.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.6 MB
Tags Linux glibc 2.17+ x86-64 Python 3
SHA-256 checksum
How to use checksums
1e412d485c72a7ecdaaea2cd5c8cc6991ab0efb26030fd04587659329ca77872
BLAKE2b-256 checksum
How to use checksums
fe1af264fdaf6c6d40ddb750f9166230dfb30a489666de44f98b8487415bd971
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.3.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL pyprojx-0.3.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 1.5 MB
Tags Linux glibc 2.17+ ARM64 Python 3
SHA-256 checksum
How to use checksums
a1e7f0152c72499d82d7755738a12bb61f0d5d38d9e011fa1f233a0ef65e2a15
BLAKE2b-256 checksum
How to use checksums
f81d01aaf43e851db212e41d7ac4bef1d5bd8fb964900c747c0c5d1381e88032
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.3.0-py3-none-macosx_11_0_arm64.whl

Download URL pyprojx-0.3.0-py3-none-macosx_11_0_arm64.whl
Size 1.4 MB
Tags Python 3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
6f0f6326b9473203de5acb16d055df3554383859aac42b5ac7d55b99d7266c6d
BLAKE2b-256 checksum
How to use checksums
081d72cd117de4a7d72e94aa033ea8d90ea65095cd9f434700e5b0fee2897682
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.3.0-py3-none-macosx_10_12_x86_64.whl

Download URL pyprojx-0.3.0-py3-none-macosx_10_12_x86_64.whl
Size 1.5 MB
Tags Python 3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
b05f4abe229a8cd48754aab89a2bf453e50c5f256551d646f308a3ad8cfa2bbc
BLAKE2b-256 checksum
How to use checksums
9813d76d13526e0b4be59ebcc2319efbf9cb2787429167aa1047fdbe831014e0
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

0.5.0

6 release files

0.4.0

6 release files

This release

0.3.0 This release

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