pyprojectcheck ✅
Validate pyproject.toml files for correctness and best practices.
Installation
pip install pyprojectcheck
Usage
CLI
# Check current directory
pyprojectcheck
# Check specific file
pyprojectcheck path/to/pyproject.toml
Python API
from pyprojectcheck import check_file, check
# Check a file
result = check_file("pyproject.toml")
print(result)
# Check content directly
content = """
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[project]
name = "mypackage"
version = "1.0.0"
"""
result = check(content)
if result.valid:
print("✅ Valid!")
else:
for error in result.errors:
print(error)
What It Checks
Errors
- Missing
[build-system]section - Missing
requiresorbuild-backend - Missing
[project]section - Missing
nameorversion - Invalid field types
Warnings
- Missing recommended fields (description, readme, license)
- Missing
requires-python - Missing
authors - Missing
urls
Output Example
⚠️ [project] Missing 'description' field (recommended)
⚠️ [project] Missing 'readme' field (recommended)
❌ [project.authors[0]] Author must have 'name' or 'email'
❌ Invalid: 1 error(s), 2 warning(s)
License
MIT
Metadata
Release files for pyprojectcheck-rj 1.0.0
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 | |
|---|---|---|---|---|
| pyprojectcheck_rj-1.0.0.tar.gz | 3.7 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pyprojectcheck_rj-1.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 8.1 kB
Release files / pyprojectcheck_rj-1.0.0.tar.gz
| Download URL | pyprojectcheck_rj-1.0.0.tar.gz |
|---|---|
| Size | 3.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
aedc702d77e5fc79159c0dc922aa895859eebc86753331670b2703ccf45ecf21
|
|
BLAKE2b-256 checksum How to use checksums |
a5b3756a010e1e1f42ea3b688b250c7b2546a21b5f4cb8a7a8d80ae97c6d17ed
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.9
|
Release files / pyprojectcheck_rj-1.0.0-py3-none-any.whl
| Download URL | pyprojectcheck_rj-1.0.0-py3-none-any.whl |
|---|---|
| Size | 4.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
2b6e2a3a74a556d0b882259e41df64753d8a2a559599e9b961989d7cc94d985a
|
|
BLAKE2b-256 checksum How to use checksums |
cb3b6fa6cef8808f51c1afc4318b8ac28018542785156d6b5bd6a7844ea5bc9c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.9
|
Security for pyprojectcheck-rj 1.0.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.