From e973d8e5ea830fdf11765ae8880835f150be01aa Mon Sep 17 00:00:00 2001 From: km-64 <79924100+km-64@users.noreply.github.com> Date: Thu, 2 Oct 2025 15:36:15 +0100 Subject: [PATCH] Move setup.cfg options to pyproject.toml --- pyproject.toml | 82 +++++++++++++++++++++++++++++++++++++++++++++-- setup.cfg | 86 -------------------------------------------------- 2 files changed, 80 insertions(+), 88 deletions(-) delete mode 100644 setup.cfg diff --git a/pyproject.toml b/pyproject.toml index 07de284a..ed522ac5 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,3 +1,81 @@ [build-system] -requires = ["setuptools", "wheel"] -build-backend = "setuptools.build_meta" \ No newline at end of file +requires = ["setuptools>=80", "wheel"] +build-backend = "setuptools.build_meta" + +[tool.setuptools.dynamic] +version = { attr = "rsocket.__version__" } + +[project] +name = "rsocket" +dynamic = ["version"] +authors = [{ name = "Gabriel Shaar", email = "workofishi@pm.me" }] +license = "MIT" +license-files = ["LICENSE"] +description = "Python RSocket library" +readme = "README.md" +requires-python = ">=3.8" +classifiers = [ + "Development Status :: 4 - Beta", + "Programming Language :: Python", + "Programming Language :: Python :: 3.8", + "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", + "Environment :: Web Environment", + "Natural Language :: English", + "Topic :: Internet :: WWW/HTTP :: Dynamic Content", + "Topic :: Internet :: WWW/HTTP", + "Topic :: Internet:", + "Topic :: Software Development :: Libraries :: Application Frameworks", + "Topic :: Software Development :: Libraries :: Python Modules", +] + +[tool.setuptools.packages.find] +where = ["."] +include = ["rsocket*", "reactivestreams*"] + +[project.urls] +Repository = "https://github.com/rsocket/rsocket-py" +Documentation = "https://rsocket.io/guides/rsocket-py" +Changelog = "https://github.com/rsocket/rsocket-py/blob/master/CHANGELOG.rst" + +[project.optional-dependencies] +rx = ["Rx>=3.0.0"] +reactivex = ["reactivex>=4.0.0"] +aiohttp = ["aiohttp>=3.0.0"] +quart = ["quart>=0.15.0"] +quic = ["aioquic>=0.9.0"] +cli = ["asyncclick>=8.0.0"] +optimized = ["cbitstruct>=1.1.0"] +fastapi = ["fastapi>=0.115.0"] +cloudevents = [ + "cloudevents>=1.9.0", + "pydantic>=1.10.0", +] +graphql = [ + "graphql-core>=3.2.0", + "gql>=3.4.0", +] +websockets = ["websockets>=11.0.0"] +channels = [ + "channels>=4.0.0", + "daphne>=4.1.2", +] +asyncwebsockets = ["asyncwebsockets>=0.9.4"] + +[project.scripts] +rsocket-py = "rsocket.cli.command:command" + +[tool.pytest.ini_options] +addopts = "--verbose" +asyncio_mode = "auto" +timeout = 10 +asyncio_default_fixture_loop_scope = "function" +filterwarnings = [ + "error", + "ignore::DeprecationWarning", + # TODO: Remove ignoring ResourceWarning after finding out why connection is not always closed after each test (rare event) + "ignore::ResourceWarning", +] diff --git a/setup.cfg b/setup.cfg deleted file mode 100644 index 440915e4..00000000 --- a/setup.cfg +++ /dev/null @@ -1,86 +0,0 @@ -[bdist_wheel] -universal = 0 - -[metadata] -name = rsocket -version = attr: rsocket.__version__ -license = MIT -url = https://github.com/rsocket/rsocket-py -author = Gabriel Shaar -author_email = workofishi@pm.me -long_description = file: README.md -long_description_content_type = text/markdown -description = Python RSocket library -zip_safe = True -classifiers = - Development Status :: 4 - Beta - Programming Language :: Python - Programming Language :: Python :: 3.8 - 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 - Environment :: Web Environment - License :: OSI Approved :: MIT License - Natural Language :: English - Topic :: Internet :: WWW/HTTP :: Dynamic Content - Topic :: Internet :: WWW/HTTP - Topic :: Internet - Topic :: Software Development :: Libraries :: Application Frameworks - Topic :: Software Development :: Libraries :: Python Modules - -[options] -packages = find: -python_requires = >=3.8 - -[options.packages.find] -where = . -include = - rsocket* - reactivestreams* - -[aliases] -test = pytest - -[project_urls] -Documentation = https://rsocket.io/guides/rsocket-py -Changelog = https://github.com/rsocket/rsocket-py/blob/master/CHANGELOG.rst - - -[options.extras_require] -rx = Rx>=3.0.0 -reactivex = reactivex>=4.0.0 -aiohttp = aiohttp>=3.0.0 -quart = quart>=0.15.0 -quic = aioquic>=0.9.0 -cli = asyncclick>=8.0.0 -optimized = cbitstruct>=1.1.0 -fastapi = fastapi>=0.115.0 -cloudevents = - cloudevents>=1.9.0 - pydantic>=1.10.0 -graphql = - graphql-core>=3.2.0 - gql>=3.4.0 -websockets = websockets>=11.0.0 -channels = - channels>=4.0.0 - daphne>=4.1.2 -asyncwebsockets = asyncwebsockets>=0.9.4 - -[options.entry_points] -console_scripts = - rsocket-py = rsocket.cli.command:command - -[tool:pytest] -addopts = --verbose -asyncio_mode = auto -timeout = 10 -asyncio_default_fixture_loop_scope = function - -; TODO: Remove ignoring ResourceWarning after finding out why connection is not always closed after each test (rare event) -filterwarnings = - error - ignore::DeprecationWarning - ignore::ResourceWarning