Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
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
2 changes: 2 additions & 0 deletions CHANGES/644.packaging.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
Moved core packaging metadata from :file:`setup.cfg` to :file:`pyproject.toml` per :pep:`621`
-- by :user:`cdce8p`.
64 changes: 63 additions & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,75 @@ requires = [
# NOTE: The following build dependencies are necessary for initial
# NOTE: provisioning of the in-tree build backend located under
# NOTE: `packaging/pep517_backend/`.
# setuptools >= 67.0 required for Python 3.12+ support
# Next step should be >= 77.0 for PEP 639 support
# Don't bump too early to give distributors time to update
# their setuptools version.
"expandvars",
"setuptools >= 47", # Minimum required for `version = attr:`
"setuptools >= 67.0",
"tomli; python_version < '3.11'",
]
backend-path = ["packaging"] # requires `pip >= 20` or `pep517 >= 0.6.0`
build-backend = "pep517_backend.hooks" # wraps `setuptools.build_meta`

[project]
name = "frozenlist"
license = {text = "Apache-2.0"}
description = "A list-like structure which implements collections.abc.MutableSequence"
maintainers = [{ name = "aiohttp team", email = "team@aiohttp.org" }]
requires-python = ">=3.9"
classifiers = [
"Development Status :: 5 - Production/Stable",

"Intended Audience :: Developers",

"Operating System :: POSIX",
"Operating System :: MacOS :: MacOS X",
"Operating System :: Microsoft :: Windows",

"Programming Language :: Cython",
"Programming Language :: Python",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: 3.14",
"Programming Language :: Python :: Implementation :: CPython",
"Programming Language :: Python :: Implementation :: PyPy",
]
dynamic = ["version", "readme"]

[project.urls]
"Homepage" = "https://github.com/aio-libs/frozenlist"
"Chat: Matrix" = "https://matrix.to/#/#aio-libs:matrix.org"
"Chat: Matrix Space" = "https://matrix.to/#/#aio-libs-space:matrix.org"
"CI: Github Actions" = "https://github.com/aio-libs/frozenlist/actions"
"Code of Conduct" = "https://github.com/aio-libs/.github/blob/master/CODE_OF_CONDUCT.md"
"Coverage: codecov" = "https://codecov.io/github/aio-libs/frozenlist"
"Docs: Changelog" = "https://github.com/aio-libs/frozenlist/blob/master/CHANGES.rst#changelog"
"Docs: RTD" = "https://frozenlist.aio-libs.org"
"GitHub: issues" = "https://github.com/aio-libs/frozenlist/issues"
"GitHub: repo" = "https://github.com/aio-libs/frozenlist"

[tool.setuptools]
license-files = ["LICENSE"]

[tool.setuptools.dynamic]
version = { attr = "frozenlist.__version__" }
readme = { file = ["README.rst", "CHANGES.rst"] }

[tool.setuptools.packages.find]
include = ["frozenlist*"]

[tool.setuptools.package-data]
# https://setuptools.pypa.io/en/latest/userguide/datafiles.html#package-data
"*" = ["*.so"]

[tool.setuptools.exclude-package-data]
"*" = ["*.cpp", "*.c", "*.h"]

[tool.local.cythonize]
# This attr can contain multiple globs
src = ["frozenlist/*.pyx"]
Expand Down
63 changes: 0 additions & 63 deletions setup.cfg
Original file line number Diff line number Diff line change
@@ -1,66 +1,3 @@
[metadata]
name = frozenlist
version = attr: frozenlist.__version__
url = https://github.com/aio-libs/frozenlist
project_urls =
Chat: Matrix = https://matrix.to/#/#aio-libs:matrix.org
Chat: Matrix Space = https://matrix.to/#/#aio-libs-space:matrix.org
CI: Github Actions = https://github.com/aio-libs/frozenlist/actions
Code of Conduct = https://github.com/aio-libs/.github/blob/master/CODE_OF_CONDUCT.md
Coverage: codecov = https://codecov.io/github/aio-libs/frozenlist
Docs: Changelog = https://github.com/aio-libs/frozenlist/blob/master/CHANGES.rst#changelog
Docs: RTD = https://frozenlist.aio-libs.org
GitHub: issues = https://github.com/aio-libs/frozenlist/issues
GitHub: repo = https://github.com/aio-libs/frozenlist
description = A list-like structure which implements collections.abc.MutableSequence
long_description = file: README.rst, CHANGES.rst
long_description_content_type = text/x-rst
maintainer = aiohttp team <team@aiohttp.org>
maintainer_email = team@aiohttp.org
license = Apache-2.0
license_files =
LICENSE
classifiers =
Development Status :: 5 - Production/Stable

Intended Audience :: Developers

Operating System :: POSIX
Operating System :: MacOS :: MacOS X
Operating System :: Microsoft :: Windows

Programming Language :: Cython
Programming Language :: Python
Programming Language :: Python :: 3
Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.10
Programming Language :: Python :: 3.11
Programming Language :: Python :: 3.12
Programming Language :: Python :: 3.13
Programming Language :: Python :: 3.14
Programming Language :: Python :: Implementation :: CPython
Programming Language :: Python :: Implementation :: PyPy

[options]
python_requires = >=3.9
packages = find:
# https://setuptools.readthedocs.io/en/latest/setuptools.html#setting-the-zip-safe-flag
zip_safe = False
include_package_data = True

[options.exclude_package_data]
* =
*.cpp
*.c
*.h

[options.package_data]
# Ref:
# https://setuptools.readthedocs.io/en/latest/setuptools.html#options
# (see notes for the asterisk/`*` meaning)
* =
*.so

[pep8]
max-line-length=88

Expand Down
Loading