Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Migrate metadata to pyproject.toml #192

Merged
merged 3 commits into from
Aug 8, 2024
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Next Next commit
Migrate metadata to pyproject.toml
  • Loading branch information
abravalheri committed Aug 7, 2024
commit 9868013fcb7f9592c97748d4d545b16d7313aa3c
84 changes: 76 additions & 8 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,12 +1,85 @@
[build-system]
# AVOID CHANGING REQUIRES: IT WILL BE UPDATED BY PYSCAFFOLD!
requires = ["setuptools>=46.1.0", "setuptools_scm[toml]>=7.1"]
requires = ["setuptools>=61.2", "setuptools_scm[toml]>=7.1"]
build-backend = "setuptools.build_meta"

[project]
name = "validate-pyproject"
description = "Validation library and CLI tool for checking on 'pyproject.toml' files using JSON Schema"
authors = [{name = "Anderson Bravalheri", email = "andersonbravalheri@gmail.com"}]
readme ="README.rst"
license = {text = "MPL-2.0 and MIT and BSD-3-Clause"}
requires-python = ">=3.8"
classifiers = [
"Development Status :: 4 - Beta",
"Intended Audience :: Developers",
"Operating System :: OS Independent",
"Programming Language :: Python",
"Topic :: Software Development :: Quality Assurance",
"Typing :: Typed",
]
dependencies = ["fastjsonschema>=2.16.2,<=3"]
dynamic = ["version"]

[project.urls]
Homepage = "https://github.com/abravalheri/validate-pyproject/"
Documentation = "https://validate-pyproject.readthedocs.io/"
Source = "https://github.com/abravalheri/validate-pyproject"
Tracker = "https://github.com/abravalheri/validate-pyproject/issues"
Changelog = "https://validate-pyproject.readthedocs.io/en/latest/changelog.html"
Download = "https://pypi.org/project/validate-pyproject/#files"

[project.optional-dependencies]
all = [
"packaging>=20.4",
"tomli>=1.2.1; python_version<'3.11'",
"trove-classifiers>=2021.10.20",
]
store = ["validate-pyproject-schema-store"]
testing = [
"setuptools",
"pytest",
"pytest-cov",
"pytest-xdist",
"pytest-randomly",
"repo-review; python_version>='3.10'",
"tomli>=1.2.1; python_version<'3.11'",
]
typecheck = [
"mypy",
"importlib-resources",
]

[project.scripts]
validate-pyproject = "validate_pyproject.cli:main"

[project.entry-points."validate_pyproject.tool_schema"]
setuptools = "validate_pyproject.api:load_builtin_plugin"
distutils = "validate_pyproject.api:load_builtin_plugin"

[project.entry-points."repo_review.checks"]
validate_pyproject = "validate_pyproject.repo_review:repo_review_checks"

[project.entry-points."repo_review.families"]
validate_pyproject = "validate_pyproject.repo_review:repo_review_families"

[tool.setuptools_scm]
# See configuration details in https://github.com/pypa/setuptools_scm
version_scheme = "no-guess-dev"

[tool.pytest.ini_options]
addopts = """
--cov validate_pyproject
--cov-report term-missing
--doctest-modules
--verbose
--strict-markers
"""
norecursedirs = [
"dist",
"build",
".tox",
]
testpaths = ["src", "tests"]

[tool.mypy]
show_traceback = true
strict = true
Expand All @@ -17,8 +90,3 @@ disallow_subclassing_any = false
[[tool.mypy.overrides]]
module = ["fastjsonschema"]
ignore_missing_imports = true

[tool.pytest.ini_options]
addopts = ["--cov", "validate_pyproject", "--cov-report", "term-missing", "--verbose", "--strict-markers"]
norecursedirs = ["dist", "build", ".tox"]
testpaths = ["tests"]
105 changes: 0 additions & 105 deletions setup.cfg
Original file line number Diff line number Diff line change
@@ -1,108 +1,3 @@
# This file is used to configure your project.
# Read more about the various options under:
# https://setuptools.pypa.io/en/latest/userguide/declarative_config.html
# https://setuptools.pypa.io/en/latest/references/keywords.html

[metadata]
name = validate-pyproject
description = Validation library and CLI tool for checking on 'pyproject.toml' files using JSON Schema
author = Anderson Bravalheri
author_email = andersonbravalheri@gmail.com
license = MPL-2.0 and MIT and BSD-3-Clause
license_files =
LICENSE.txt
NOTICE.txt
long_description = file: README.rst
long_description_content_type = text/x-rst; charset=UTF-8
url = https://github.com/abravalheri/validate-pyproject/
# Add here related links, for example:
project_urls =
Documentation = https://validate-pyproject.readthedocs.io/
Source = https://github.com/abravalheri/validate-pyproject
Tracker = https://github.com/abravalheri/validate-pyproject/issues
Changelog = https://validate-pyproject.readthedocs.io/en/latest/changelog.html
Download = https://pypi.org/project/validate-pyproject/#files
# Conda-Forge = https://anaconda.org/conda-forge/pyscaffold
# Twitter = https://twitter.com/PyScaffold

# Change if running only on Windows, Mac or Linux (comma-separated)
platforms = any

# Add here all kinds of additional classifiers as defined under
# https://pypi.org/classifiers/
classifiers =
Development Status :: 4 - Beta
Intended Audience :: Developers
Operating System :: OS Independent
Programming Language :: Python
Topic :: Software Development :: Quality Assurance
Typing :: Typed


[options]
zip_safe = False
packages = find_namespace:
include_package_data = True
package_dir =
=src

# Require a min/specific Python version (comma-separated conditions)
python_requires = >=3.8

# Add here dependencies of your project (line-separated), e.g. requests>=2.2,<3.0.
# Version specifiers like >=2.2,<3.0 avoid problems due to API changes in
# new major versions. This works if the required packages follow Semantic Versioning.
# For more information, check out https://semver.org/.
install_requires =
fastjsonschema>=2.16.2,<=3


[options.packages.find]
where = src
exclude =
tests

[options.extras_require]
all =
tomli>=1.2.1; python_version<"3.11"
packaging>=20.4
trove-classifiers>=2021.10.20

store =
validate-pyproject-schema-store

# Add here test requirements (semicolon/line-separated)
testing =
setuptools
pytest
pytest-cov
pytest-xdist
pytest-randomly
repo-review; python_version>="3.10"
tomli>=1.2.1; python_version<"3.11"

typecheck =
mypy
importlib-resources

[options.entry_points]
# Add here console scripts like:
console_scripts =
validate-pyproject = validate_pyproject.cli:main
validate_pyproject.tool_schema =
setuptools = validate_pyproject.api:load_builtin_plugin
distutils = validate_pyproject.api:load_builtin_plugin
repo_review.checks =
validate_pyproject = validate_pyproject.repo_review:repo_review_checks
repo_review.families =
validate_pyproject = validate_pyproject.repo_review:repo_review_families

[devpi:upload]
# Options for the devpi: PyPI server and packaging tool
# VCS export must be deactivated since we are using setuptools-scm
no_vcs = 1
formats = bdist_wheel

[pyscaffold]
# PyScaffold's parameters when the project was created.
# This will be used when updating. Do not change!
Expand Down