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] options, values, and rule selectors against the Ruff 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.4.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.4.0
File Size Uploaded
pyprojx-0.4.0.tar.gz 161.4 kB Details

Built distributions (wheels)

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

Total release size: 7.8 MB

Release files / pyprojx-0.4.0.tar.gz

Download URL pyprojx-0.4.0.tar.gz
Size 161.4 kB
Tags Source
SHA-256 checksum
How to use checksums
1e403d631fc94dac4e163851990ff637f939a62aadd63a8171dfa61149d93a43
BLAKE2b-256 checksum
How to use checksums
64b10b76e595cbc33201b19d7a35f9c64877a48e0260bb81eb8820425460a72b
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.4.0-py3-none-win_amd64.whl

Download URL pyprojx-0.4.0-py3-none-win_amd64.whl
Size 1.5 MB
Tags Python 3 Windows x86-64
SHA-256 checksum
How to use checksums
34b6e72dccbaed2b786e9f6fff9ba2f1d208bd9415abce527f2fd6b95986a9cb
BLAKE2b-256 checksum
How to use checksums
905c6b2d62c231bc6b1a56add0bb77382af05477ea8c547d5f67c64300105c83
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.4.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL pyprojx-0.4.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
7087aa2484dbf399e30843727e4645cdff8a8fa1cd59c5bea0bdd2c705ac20dd
BLAKE2b-256 checksum
How to use checksums
083d2ac078ad0196ea63103a0f2857c03f4ea9ae39a5581eed9f376133d6e87e
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.4.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL pyprojx-0.4.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
236aaefaa2095f0b73d7fb9df2b64fc7ac4bdaab1f2860aceceb67bc35bfcf9b
BLAKE2b-256 checksum
How to use checksums
c5ae747df42c9a9958561eb140f5c6840eff317b3dec2538eb9da23198255c20
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.4.0-py3-none-macosx_11_0_arm64.whl

Download URL pyprojx-0.4.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
199ea83fb4d5a10d3c570c9f446387dd085f2b92690a792dec7d69d670e9e82c
BLAKE2b-256 checksum
How to use checksums
0b85ebb4f16ced5734c8e47ae9f510e2b51db797c88aa4927d3992922cff46ce
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.4.0-py3-none-macosx_10_12_x86_64.whl

Download URL pyprojx-0.4.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
2e5a355bd81a3b789d41d546917029ade782b7fb8899fc14d45d12a2b5b086f8
BLAKE2b-256 checksum
How to use checksums
14b66a2e8ed2c4e86a515a401f6f403fd009e795bba078f4bff08ed3b005f215
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

This release

0.4.0 This release

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