diff options
author | Julian Berman <Julian@GrayVines.com> | 2022-05-28 10:42:42 -0400 |
---|---|---|
committer | Julian Berman <Julian@GrayVines.com> | 2022-05-28 12:24:45 -0400 |
commit | f61f3b7a73c14409178921bf4ce23050bf90560d (patch) | |
tree | f6681db659f242ccddfe11b0fb60f78599470f40 /pyproject.toml | |
parent | f2fb1df342a27fdbfb0c007f2a141115964b3b86 (diff) | |
download | jsonschema-f61f3b7a73c14409178921bf4ce23050bf90560d.tar.gz |
Modernize the packaging setup via PEP 621 and Hatch.
Doing so jettisons setuptools in favor of a more modern, well-designed,
legacy-free, and now well-supported packaging tool, Hatch.
No end-user facing behavior changes are expected for any users using a
recent packaging setup (within the past 2-3 years), so please report any
issues.
Hatch: https://hatch.pypa.io/latest/
PEP 621: https://peps.python.org/pep-0621/
Diffstat (limited to 'pyproject.toml')
-rw-r--r-- | pyproject.toml | 97 |
1 files changed, 89 insertions, 8 deletions
diff --git a/pyproject.toml b/pyproject.toml index 477d5e6..fc1487b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -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 = "Julian+jsonschema@GrayVines.com"}, + {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 = "github.com/python-jsonschema/jsonschema" +documentation = "python-jsonschema.readthedocs.io/en/latest/" +issues = "github.com/python-jsonschema/jsonschema/issues/" +funding = "github.com/sponsors/Julian" +tidelift = "tidelift.com/subscription/pkg/pypi-jsonschema?utm_source=pypi-jsonschema&utm_medium=referral&utm_campaign=pypi-link" +changelog = "github.com/python-jsonschema/jsonschema/blob/main/CHANGELOG.rst" +source = "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 +] |