From 3e8e83436acfcda1874705b2389bcdecdb94479c Mon Sep 17 00:00:00 2001 From: KOLANICH Date: Tue, 18 Oct 2022 20:55:40 +0300 Subject: [PATCH] Moved the metadata from `setup.cfg` into `PEP 621`-compliant `pyproject.toml`. --- newsfragments/2449.feature.rst | 1 + pyproject.toml | 52 +++++++++++++++++++++++++++++++++- setup.cfg | 48 ------------------------------- 3 files changed, 52 insertions(+), 49 deletions(-) create mode 100644 newsfragments/2449.feature.rst delete mode 100644 setup.cfg diff --git a/newsfragments/2449.feature.rst b/newsfragments/2449.feature.rst new file mode 100644 index 0000000000..508e13b355 --- /dev/null +++ b/newsfragments/2449.feature.rst @@ -0,0 +1 @@ +Moved the metadata into ``PEP 621``-compliant ``pyproject.toml``. diff --git a/pyproject.toml b/pyproject.toml index 88d21d74f6..7c3a24e267 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,7 +1,57 @@ [build-system] -requires = ["setuptools>=42.2", "setuptools_scm[toml]>=3.4.3"] +requires = ["setuptools>=61.2", "setuptools_scm[toml]>=3.4.3"] build-backend = "setuptools.build_meta" +[project] +name = "trio" +authors = [{name = "Nathaniel J. Smith", email = "njs@pobox.com"}] +license = {text = "MIT OR Apache-2.0"} +description = "A friendly Python library for async concurrency and I/O" +readme = "README.rst" +keywords = ["async", "io", "networking", "trio"] +classifiers = [ + "Development Status :: 3 - Alpha", + "Intended Audience :: Developers", + "License :: OSI Approved :: MIT License", + "License :: OSI Approved :: Apache Software License", + "Operating System :: POSIX :: Linux", + "Operating System :: MacOS :: MacOS X", + "Operating System :: POSIX :: BSD", + "Operating System :: Microsoft :: Windows", + "Programming Language :: Python :: Implementation :: CPython", + "Programming Language :: Python :: Implementation :: PyPy", + "Programming Language :: Python :: 3 :: Only", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Topic :: System :: Networking", + "Framework :: Trio", +] +urls = {Homepage = "https://github.com/python-trio/trio"} +requires-python = ">=3.7" +dependencies = [ + "attrs >= 19.2.0", + "sortedcontainers", + "async_generator >= 1.9", + "idna", + "outcome", + "sniffio", + # cffi 1.12 adds from_buffer(require_writable=True) and ffi.release() + # cffi 1.14 fixes memory leak inside ffi.getwinerror() + # cffi is required on Windows, except on PyPy where it is built-in + "cffi>=1.14; os_name == 'nt' and implementation_name != 'pypy'", + "exceptiongroup >= 1.0.0rc9; python_version < '3.11'", +] +dynamic = ["version"] + +[tool.setuptools] +include-package-data = true + +[tool.setuptools.packages] +find = {namespaces = false} + [tool.setuptools_scm] write_to = "trio/_version.py" write_to_template = "__version__ = \"{version}\"\n" diff --git a/setup.cfg b/setup.cfg deleted file mode 100644 index 4108ee176c..0000000000 --- a/setup.cfg +++ /dev/null @@ -1,48 +0,0 @@ -[metadata] -name = trio -author = Nathaniel J. Smith -author_email = njs@pobox.com -license = MIT OR Apache-2.0 -description = A friendly Python library for async concurrency and I/O -keywords = async, io, networking, trio -url = https://github.com/python-trio/trio -long_description = file: README.rst -classifiers = - Development Status :: 3 - Alpha - Intended Audience :: Developers - License :: OSI Approved :: MIT License - License :: OSI Approved :: Apache Software License - Operating System :: POSIX :: Linux - Operating System :: MacOS :: MacOS X - Operating System :: POSIX :: BSD - Operating System :: Microsoft :: Windows - Programming Language :: Python :: Implementation :: CPython - Programming Language :: Python :: Implementation :: PyPy - Programming Language :: Python :: 3 :: Only - Programming Language :: Python :: 3.7 - Programming Language :: Python :: 3.8 - Programming Language :: Python :: 3.9 - Programming Language :: Python :: 3.10 - Programming Language :: Python :: 3.11 - Topic :: System :: Networking - Framework :: Trio - -[options] -packages = find: -install_requires = - attrs >= 19.2.0 - sortedcontainers - async_generator >= 1.9 - idna - outcome - sniffio - # cffi 1.12 adds from_buffer(require_writable=True) and ffi.release() - # cffi 1.14 fixes memory leak inside ffi.getwinerror() - # cffi is required on Windows, except on PyPy where it is built-in - cffi>=1.14; os_name == 'nt' and implementation_name != 'pypy' - exceptiongroup >= 1.0.0rc9; python_version < '3.11' -setup_requires = - setuptools>=42.2 - setuptools_scm[toml]>=3.4.3 -include_package_data = True -python_requires = >=3.7