diff --git a/.config/requirements-docs.in b/.config/requirements-docs.in new file mode 100644 index 0000000..b5cb4ef --- /dev/null +++ b/.config/requirements-docs.in @@ -0,0 +1,3 @@ +Sphinx~=5.2.1 +docutils~=0.19 +MarkupSafe~=2.1.1 diff --git a/.config/requirements-test.in b/.config/requirements-test.in new file mode 100644 index 0000000..a601410 --- /dev/null +++ b/.config/requirements-test.in @@ -0,0 +1,11 @@ +coverage[toml]>=6.5.0 +coveralls~=3.3.1 +pre-commit>=3.3.3 +pip +pytest-cache~=1.0 +pytest-cov~=3.0.0 +pytest-html~=3.1.1 +pytest-instafail~=0.4.2 +pytest-xdist~=2.5.0 +pytest~=7.1.3 +wheel~=0.37.1 diff --git a/.config/requirements.in b/.config/requirements.in new file mode 100644 index 0000000..e69de29 diff --git a/README.md b/README.md index ad0065e..5c59a97 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ [![](https://img.shields.io/pypi/v/tendo.svg?colorB=green)](https://pypi.python.org/pypi/tendo/) -[![](https://img.shields.io/codecov/c/github/pycontribs/tendo/main.svg)](https://codecov.io/gh/pycontribs/tendo) +[![codecov](https://codecov.io/gh/pycontribs/tendo/graph/badge.svg?token=1VvPGtNT0c)](https://codecov.io/gh/pycontribs/tendo) [![](https://readthedocs.org/projects/tendo/badge/?version=latest)](http://tendo.readthedocs.io) # tendo diff --git a/pyproject.toml b/pyproject.toml index ad86d7d..5f0b05c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,12 +1,56 @@ [build-system] requires = [ "setuptools >= 65.4.0", # required by pyproject+setuptools_scm integration - "setuptools_scm[toml] >= 3.5.0", # required for "no-local-version" scheme - "setuptools_scm_git_archive >= 1.0", - "wheel", + "setuptools_scm[toml] >= 7.0.5", # required for "no-local-version" scheme ] build-backend = "setuptools.build_meta" +[project] +# https://peps.python.org/pep-0621/#readme +requires-python = ">=3.10" +dynamic = ["version", "dependencies", "optional-dependencies"] +name = "tendo" +description = "A Python library that extends some core functionality" +readme = "README.md" +authors = [{ "name" = "Sorin Sbarnea", "email" = "ssbarnea@redhat.com" }] +maintainers = [{ "name" = "Sorin Sbarnea", "email" = "ssbarnea@redhat.com" }] +license = { text = "MIT" } +classifiers = [ + "Development Status :: 5 - Production/Stable", + "Environment :: Console", + "Intended Audience :: Developers", + "Intended Audience :: Information Technology", + "Intended Audience :: System Administrators", + "License :: OSI Approved :: Python Software Foundation License", + "Operating System :: OS Independent", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", + "Programming Language :: Python", + "Topic :: Internet :: WWW/HTTP", + "Topic :: Software Development :: Bug Tracking", + "Topic :: Software Development :: Libraries :: Python Modules", + "Topic :: Software Development :: Quality Assurance", + "Topic :: Software Development :: Testing", + "Topic :: System :: Systems Administration", + "Topic :: Utilities", +] +keywords = [ + "tendo", + "tee", + "unicode", + "colorer", + "singleton", + ] + +[project.urls] +homepage = "https://github.com/pycontribs/tendo" +documentation = "https://tendo.readthedocs.io" +repository = "https://github.com/pycontribs/tendo" +changelog = "https://github.com/pycontribs/tendo/releases" + [tool.black] target-version = ["py38"] @@ -28,6 +72,22 @@ concurrency = ["multiprocessing", "thread"] profile = "black" add_imports = "from __future__ import annotations" +[tool.setuptools.dynamic] +dependencies = { file = [".config/requirements.in"] } +optional-dependencies.docs = { file = [".config/requirements-docs.in"] } +optional-dependencies.test = { file = [".config/requirements-test.in"] } + [tool.setuptools_scm] local_scheme = "no-local-version" +tag_regex = "^(?Pv)?(?P\\d+[^\\+]*)(?P.*)?$" write_to = "src/tendo/_version.py" +# To prevent accidental pick of mobile version tags such 'v6' +git_describe_command = [ + "git", + "describe", + "--dirty", + "--tags", + "--long", + "--match", + "v*.*", +] diff --git a/setup.cfg b/setup.cfg index fbf7abd..da04c3a 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,78 +1,3 @@ -[metadata] -name = tendo - -author = Sorin Sbarnea -author_email = sorin.sbarnea@gmail.com -maintainer = Sorin Sbarnea -maintainer_email = sorin.sbarnea@gmail.com -summary = A Python library that extends some core functionality -long_description = file: README.md -long_description_content_type = text/markdown -home_page = https://github.com/pycontribs/tendo -license_files = LICENSE.txt -classifier = - Development Status :: 5 - Production/Stable - Environment :: Other Environment - Intended Audience :: Developers - Intended Audience :: Information Technology - License :: OSI Approved :: Python Software Foundation License - Operating System :: OS Independent - Programming Language :: Python - Programming Language :: Python :: 3 - Programming Language :: Python :: 3.10 - Programming Language :: Python :: 3.11 - Programming Language :: Python :: 3.12 - Programming Language :: Python :: 3.13 - Topic :: Software Development :: Libraries :: Python Modules - Topic :: Internet :: WWW/HTTP - -keywords = - tendo - tee - unicode - colorer - singleton - - -[options] -use_scm_version = True -python_requires = >=3.10 -package_dir = - = src -packages = find: -# Do not use include_package_data as we mention them explicitly. -# see https://setuptools.pypa.io/en/latest/userguide/datafiles.html -# include_package_data = True -zip_safe = False -install_requires = - six - -[options.extras_require] -test = - coverage[toml]>=6.5.0 - coveralls~=3.3.1 - pre-commit>=3.3.3 - pip - pytest-cache~=1.0 - pytest-cov~=3.0.0 - pytest-html~=3.1.1 - pytest-instafail~=0.4.2 - pytest-xdist~=2.5.0 - pytest~=7.1.3 - wheel~=0.37.1 -docs = - Sphinx~=5.2.1 - docutils~=0.19 - MarkupSafe~=2.1.1 - -[options.package_data] -* = - py.typed - **/*.txt - -[options.packages.find] -where = src - [build_sphinx] source-dir = docs build-dir = docs/build