Skip to content

Commit

Permalink
Adopt PEP-517 packaging (#98)
Browse files Browse the repository at this point in the history
  • Loading branch information
ssbarnea authored Nov 11, 2024
1 parent 2b77bab commit dd50665
Show file tree
Hide file tree
Showing 6 changed files with 78 additions and 79 deletions.
3 changes: 3 additions & 0 deletions .config/requirements-docs.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
Sphinx~=5.2.1
docutils~=0.19
MarkupSafe~=2.1.1
11 changes: 11 additions & 0 deletions .config/requirements-test.in
Original file line number Diff line number Diff line change
@@ -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
Empty file added .config/requirements.in
Empty file.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -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
Expand Down
66 changes: 63 additions & 3 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -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" = "[email protected]" }]
maintainers = [{ "name" = "Sorin Sbarnea", "email" = "[email protected]" }]
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"]

Expand All @@ -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 = "^(?P<prefix>v)?(?P<version>\\d+[^\\+]*)(?P<suffix>.*)?$"
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*.*",
]
75 changes: 0 additions & 75 deletions setup.cfg
Original file line number Diff line number Diff line change
@@ -1,78 +1,3 @@
[metadata]
name = tendo

author = Sorin Sbarnea
author_email = [email protected]
maintainer = Sorin Sbarnea
maintainer_email = [email protected]
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
Expand Down

0 comments on commit dd50665

Please sign in to comment.