-
-
Notifications
You must be signed in to change notification settings - Fork 581
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #957 from python-jsonschema/hatch
Modernize the packaging setup via PEP 621 and Hatch.
- Loading branch information
Showing
11 changed files
with
215 additions
and
164 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
[flake8] | ||
ban-relative-imports = true | ||
inline-quotes = " | ||
exclude = | ||
jsonschema/__init__.py | ||
jsonschema/_reflect.py | ||
ignore = | ||
B008, # Barring function calls in default args. Ha, no. | ||
B306, # See https://github.com/PyCQA/flake8-bugbear/issues/131 | ||
W503, # (flake8 default) old PEP8 boolean operator line breaks |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,60 @@ | ||
============================ | ||
Contributing to `jsonschema` | ||
============================ | ||
|
||
Found a bug? | ||
------------ | ||
|
||
If you suspect you may have found a security-related vulnerability, please follow the instructions in `the security policy <https://github.com/python-jsonschema/jsonschema/blob/main/.github/SECURITY.md>`_. | ||
|
||
Otherwise, it is extremely helpful if you first search to see whether your bug has been `previously reported on the Issues tab <https://github.com/python-jsonschema/jsonschema/issues?q=is%3Aissue+is%3Aopen+label%3ABug>`_. | ||
|
||
If it doesn't appear to be a known issue, please `file a new one <https://github.com/python-jsonschema/jsonschema/issues/new>`_, and include a **title and clear description**, along with as much relevant information as possible. | ||
Including a *minimal*, *self-sufficient* bit of code (often an instance and schema) is the fastest way to get attention, along with a description of the behavior you expect, and if you're able, a link to where in the specification contains the behavior you're noticing is incorrect. | ||
|
||
Pull requests to fix your issue are of course very welcome. | ||
|
||
|
||
Fixing a Bug? | ||
------------- | ||
|
||
Please open a new GitHub pull request with the change, along with new tests. | ||
|
||
Ensure the PR description clearly describes the problem and solution. Include the relevant issue number if applicable. | ||
|
||
Continuous integration via GitHub actions should run to indicate whether your change passes both the test suite as well as linters. | ||
Please ensure it passes, or indicate in a comment if you believe it fails spuriously. | ||
|
||
|
||
Adding New Functionality? | ||
------------------------- | ||
|
||
Please discuss any larger changes ahead of time for the sake of your own time! | ||
|
||
Improvements are very welcome, but large pull requests, disruptive ones, or backwards incompatible ones, can lead to long back and forth discussions. | ||
|
||
You're welcome to suggest a change in an issue and thereby get some initial feedback before embarking on an effort that may not get merged. | ||
|
||
|
||
Improving the Documentation? | ||
---------------------------- | ||
|
||
Writing good documentation is challenging both to prioritize and to do well. | ||
|
||
Any help you may have would be great, especially if you're a beginner who's struggled to understand a part of the library. | ||
|
||
Documentation is written in `Sphinx-flavored reStructuredText <https://www.sphinx-doc.org>`_, so you'll want to familiarize yourself a bit with Sphinx. | ||
|
||
Feel free to file issues or pull requests. | ||
|
||
|
||
Have a Question? | ||
---------------- | ||
|
||
Please do not use the issue tracker for questions, it's reserved for things believed to be bugs, or new functionality. | ||
|
||
There is a `discussions tab <https://github.com/python-jsonschema/jsonschema/discussions>`_ where general questions can be asked. | ||
|
||
Answers on it are best-effort. | ||
|
||
Any help you can offer to answer others' questions is of course very welcome as well. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,16 +1,97 @@ | ||
[build-system] | ||
requires = [ | ||
# The minimum setuptools version is specific to the PEP 517 backend, | ||
# and may be stricter than the version required in `setup.py` | ||
"setuptools>=40.6.0", | ||
"setuptools_scm[toml]>=3.4", | ||
"wheel", | ||
requires = ["hatchling", "hatch-vcs"] | ||
build-backend = "hatchling.build" | ||
|
||
[tool.hatch.version] | ||
source = "vcs" | ||
|
||
[project] | ||
name = "jsonschema" | ||
description = "An implementation of JSON Schema validation for Python" | ||
readme = "README.rst" | ||
requires-python = ">=3.7" | ||
license = {text = "MIT"} | ||
keywords = ["validation", "data validation", "jsonschema", "json"] | ||
authors = [ | ||
{email = "[email protected]"}, | ||
{name = "Julian Berman"}, | ||
] | ||
classifiers = [ | ||
"Development Status :: 5 - Production/Stable", | ||
"Intended Audience :: Developers", | ||
"License :: OSI Approved :: MIT License", | ||
"Operating System :: OS Independent", | ||
"Programming Language :: Python", | ||
"Programming Language :: Python :: 3.7", | ||
"Programming Language :: Python :: 3.8", | ||
"Programming Language :: Python :: 3.9", | ||
"Programming Language :: Python :: 3.10", | ||
"Programming Language :: Python :: 3.11", | ||
"Programming Language :: Python :: Implementation :: CPython", | ||
"Programming Language :: Python :: Implementation :: PyPy", | ||
] | ||
dynamic = ["version"] | ||
|
||
dependencies = [ | ||
"attrs>=17.4.0", | ||
"pyrsistent>=0.14.0,!=0.17.0,!=0.17.1,!=0.17.2", | ||
|
||
"importlib_metadata;python_version<'3.8'", | ||
"typing_extensions;python_version<'3.8'", | ||
"importlib_resources>=1.4.0;python_version<'3.9'", | ||
] | ||
|
||
[project.optional-dependencies] | ||
format = [ | ||
"fqdn", | ||
"idna", | ||
"isoduration", | ||
"jsonpointer>1.13", | ||
"rfc3339-validator", | ||
"rfc3987", | ||
"uri_template", | ||
"webcolors>=1.11", | ||
] | ||
format_nongpl = [ | ||
"fqdn", | ||
"idna", | ||
"isoduration", | ||
"jsonpointer>1.13", | ||
"rfc3339-validator", | ||
"rfc3986-validator>0.1.0", | ||
"uri_template", | ||
"webcolors>=1.11", | ||
] | ||
build-backend = "setuptools.build_meta" | ||
|
||
[project.scripts] | ||
jsonschema = "jsonschema.cli:main" | ||
|
||
[project.urls] | ||
homepage = "https://github.com/python-jsonschema/jsonschema" | ||
documentation = "https://python-jsonschema.readthedocs.io/" | ||
issues = "https://github.com/python-jsonschema/jsonschema/issues/" | ||
funding = "https://github.com/sponsors/Julian" | ||
tidelift = "https://tidelift.com/subscription/pkg/pypi-jsonschema?utm_source=pypi-jsonschema&utm_medium=referral&utm_campaign=pypi-link" | ||
changelog = "https://github.com/python-jsonschema/jsonschema/blob/main/CHANGELOG.rst" | ||
source = "https://github.com/python-jsonschema/jsonschema" | ||
|
||
[tool.isort] | ||
from_first = true | ||
include_trailing_comma = true | ||
multi_line_output = 3 | ||
|
||
[tool.setuptools_scm] | ||
[tool.mypy] | ||
ignore_missing_imports = true | ||
|
||
[tool.pydocstyle] | ||
match = "(?!(test_|_|compat|cli)).*\\.py" # see PyCQA/pydocstyle#323 | ||
add-select = [ | ||
"D410", # Trailing whitespace plz | ||
] | ||
add-ignore = [ | ||
"D107", # Hah, no | ||
"D200", # 1-line docstrings don't need to be on one line | ||
"D202", # One line is fine. | ||
"D412", # Trailing whitespace plz | ||
"D413", # No trailing whitespace plz | ||
] |
Oops, something went wrong.