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: 1 addition & 1 deletion .github/workflows/ci-cd.yml
Original file line number Diff line number Diff line change
Expand Up @@ -448,7 +448,7 @@ jobs:
run: |
make cythonize
- name: Build wheels
uses: pypa/[email protected].0
uses: pypa/[email protected].1
env:
CIBW_SKIP: pp* ${{ matrix.musl == 'musllinux' && '*manylinux*' || '*musllinux*' }}
CIBW_ARCHS_MACOS: x86_64 arm64 universal2
Expand Down
2 changes: 2 additions & 0 deletions CHANGES/9951.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`.
3 changes: 1 addition & 2 deletions MANIFEST.in
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,7 @@ graft examples
graft tests
graft tools
graft requirements
recursive-include vendor *
global-include aiohttp *.pyi
graft vendor
global-exclude *.pyc
global-exclude *.pyd
global-exclude *.so
Expand Down
74 changes: 68 additions & 6 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,10 +1,77 @@
[build-system]
requires = [
"pkgconfig",
"setuptools >= 46.4.0",
# 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.
"setuptools >= 67.0",
]
build-backend = "setuptools.build_meta"

[project]
name = "aiohttp"
# TODO: Update to just 'license = "..."' once setuptools is bumped to >=77
license = {text = "Apache-2.0 AND MIT"}
description = "Async http client/server framework (asyncio)"
readme = "README.rst"
classifiers = [
"Development Status :: 5 - Production/Stable",
"Framework :: AsyncIO",
"Intended Audience :: Developers",
"Operating System :: POSIX",
"Operating System :: MacOS :: MacOS X",
"Operating System :: Microsoft :: Windows",
"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",
"Programming Language :: Python :: 3.14",
"Topic :: Internet :: WWW/HTTP",
]
requires-python = ">= 3.10"
dynamic = [
"dependencies",
"optional-dependencies",
"version",
]

[[project.maintainers]]
name = "aiohttp team"
email = "[email protected]"

[project.urls]
"Homepage" = "https://github.com/aio-libs/aiohttp"
"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/aiohttp/actions?query=workflow%3ACI"
"Coverage: codecov" = "https://codecov.io/github/aio-libs/aiohttp"
"Docs: Changelog" = "https://docs.aiohttp.org/en/stable/changes.html"
"Docs: RTD" = "https://docs.aiohttp.org"
"GitHub: issues" = "https://github.com/aio-libs/aiohttp/issues"
"GitHub: repo" = "https://github.com/aio-libs/aiohttp"

[tool.setuptools]
license-files = [
# TODO: Use 'project.license-files' instead once setuptools is bumped to >=77
"LICENSE.txt",
"vendor/llhttp/LICENSE",
]

[tool.setuptools.dynamic]
version = {attr = "aiohttp.__version__"}

[tool.setuptools.packages.find]
include = [
"aiohttp",
"aiohttp.*",
]

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

[tool.towncrier]
package = "aiohttp"
filename = "CHANGES.rst"
Expand Down Expand Up @@ -88,8 +155,3 @@ ignore-words-list = 'te,assertIn'
# TODO(3.13): Remove aiohttp.helpers once https://github.com/python/cpython/pull/106771
# is available in all supported cpython versions
exclude-modules = "(^aiohttp\\.helpers)"

[tool.black]
# TODO: Remove when project metadata is moved here.
# Black can read the value from [project.requires-python].
target-version = ["py310", "py311", "py312", "py313", "py314"]
2 changes: 1 addition & 1 deletion requirements/constraints.txt
Original file line number Diff line number Diff line change
Expand Up @@ -291,7 +291,7 @@ uvloop==0.21.0 ; platform_system != "Windows"
# -r requirements/lint.in
valkey==6.1.1
# via -r requirements/lint.in
virtualenv==20.35.1
virtualenv==20.35.3
# via pre-commit
wait-for-it==2.3.0
# via -r requirements/test-common.in
Expand Down
2 changes: 1 addition & 1 deletion requirements/dev.txt
Original file line number Diff line number Diff line change
Expand Up @@ -282,7 +282,7 @@ uvloop==0.21.0 ; platform_system != "Windows" and implementation_name == "cpytho
# -r requirements/lint.in
valkey==6.1.1
# via -r requirements/lint.in
virtualenv==20.35.1
virtualenv==20.35.3
# via pre-commit
wait-for-it==2.3.0
# via -r requirements/test-common.in
Expand Down
2 changes: 1 addition & 1 deletion requirements/lint.txt
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,7 @@ uvloop==0.21.0 ; platform_system != "Windows"
# via -r requirements/lint.in
valkey==6.1.1
# via -r requirements/lint.in
virtualenv==20.35.1
virtualenv==20.35.3
# via pre-commit
zlib-ng==1.0.0
# via -r requirements/lint.in
67 changes: 0 additions & 67 deletions setup.cfg
Original file line number Diff line number Diff line change
@@ -1,55 +1,4 @@
[metadata]
name = aiohttp
version = attr: aiohttp.__version__
url = https://github.com/aio-libs/aiohttp
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/aiohttp/actions?query=workflow%%3ACI
Coverage: codecov = https://codecov.io/github/aio-libs/aiohttp
Docs: Changelog = https://docs.aiohttp.org/en/stable/changes.html
Docs: RTD = https://docs.aiohttp.org
GitHub: issues = https://github.com/aio-libs/aiohttp/issues
GitHub: repo = https://github.com/aio-libs/aiohttp
description = Async http client/server framework (asyncio)
long_description = file: README.rst
long_description_content_type = text/x-rst
maintainer = aiohttp team <[email protected]>
maintainer_email = [email protected]
license = Apache-2.0 AND MIT
license_files =
LICENSE.txt
vendor/llhttp/LICENSE
classifiers =
Development Status :: 5 - Production/Stable

Framework :: AsyncIO

Intended Audience :: Developers

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

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
Programming Language :: Python :: 3.14

Topic :: Internet :: WWW/HTTP

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

install_requires =
aiohappyeyeballs >= 2.5.0
aiosignal >= 1.4.0
Expand All @@ -59,29 +8,13 @@ install_requires =
propcache >= 0.2.0
yarl >= 1.17.0, < 2.0

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

[options.extras_require]
speedups =
aiodns >= 3.3.0
Brotli; platform_python_implementation == 'CPython'
brotlicffi; platform_python_implementation != 'CPython'
backports.zstd; platform_python_implementation == 'CPython' and python_version < "3.14"

[options.packages.find]
exclude =
examples

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

[pep8]
max-line-length=79

Expand Down
Loading