[FR] Publish the pyproject.toml specification as a JSON schema
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 2.9k
- Forks
- 1.4k
- Avg merge
- 1d 1h
- Merged PRs (30d)
- 1
Description
What's the problem this feature will solve?
Correctly implementing the pyproject.toml specification in a project with the help of tools such as Tombi.
(I am not affiliated with Tombi, but I emphatically endorse their VS Code extension.)
Describe the solution you'd like
Define the pyproject.toml specification as a JSON Schema.
And publish it at PyPA schemas and/or other locations, such as JSON Schema Store, as appropriate.
Alternative Solutions
If I am interpreting things correctly, the folks at Tombi have created and published a JSON Schema. Through their tool and schema, I learned about the change to the project.license.file key. I originally came to https://github.com/pypa/setuptools/issues to ask PyPA to add the deprecated license classifier to the schema. (Cf. #4938) Due to the high quality of the schema, I incorrectly assumed that PyPA had made it.
(Again, I am not affiliated with @tombi-toml in any way, and I strongly encourage other people to consider using their tools.)
Additional context
toml is, of course, a specification. For better or for worse, the IT world tends to distribute precise specifications through JavaScript(!) Object Notation.
Why JSON Schema?
While JSON is probably the most popular format for exchanging data, JSON Schema is the vocabulary that enables JSON data consistency, validity, and interoperability at scale.
Code of Conduct
- I agree to follow the PSF Code of Conduct
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading the linked pyproject.toml specification, PyPA schemas page, and existing Tombi JSON Schema. Determine the schema's authoritative scope and publication location; the work is done when an agreed schema is published through the appropriate PyPA or JSON Schema Store location.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- json, python
- Domain
- build-system, documentation
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 32/100