From c1133322501fcd3d1711c0d306a81bf6ad374198 Mon Sep 17 00:00:00 2001 From: Dulmandakh Date: Fri, 28 Jun 2024 22:08:19 +0800 Subject: [PATCH] pyproject.toml --- pyproject.toml | 50 +++++++++++++++++++++++++++ setup.cfg | 16 --------- setup.py | 91 -------------------------------------------------- 3 files changed, 50 insertions(+), 107 deletions(-) create mode 100644 pyproject.toml delete mode 100644 setup.cfg delete mode 100644 setup.py diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 00000000..3c0944b5 --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,50 @@ +[build-system] +requires = [ + "setuptools >= 61.0", + "graphql-core>=3.1,<3.3", + "graphql-relay>=3.1,<3.3", +] +build-backend = "setuptools.build_meta" + + +[project] +name = "graphene" +dynamic = ["version"] +dependencies = ["graphql-core>=3.1,<3.3", "graphql-relay>=3.1,<3.3"] +requires-python = ">=3.8" +authors = [{ name = "Syrus Akbary", email = "me@syrusakbary.com" }] +description = "GraphQL Framework for Python" +readme = "README.md" +license = { file = "LICENSE" } +keywords = ["api", "graphql", "protocol", "rest", "relay", "graphene"] +classifiers = [ + "Development Status :: 5 - Production/Stable", + "Intended Audience :: Developers", + "Topic :: Software Development :: Libraries", + "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", +] + +[tool.setuptools.dynamic] +version = { attr = "graphene.__version__" } + +[project.optional-dependencies] +dev = ["ruff==0.5.0", "graphene[test]"] +test = [ + "tox", + "pytest>=8,<9", + "pytest-benchmark>=4,<5", + "pytest-cov>=5,<6", + "pytest-mock>=3,<4", + "pytest-asyncio>=0.16,<2", + "snapshottest>=0.6,<1", + "coveralls>=3.3,<5", +] + +[project.urls] +Homepage = "https://graphene-python.org/" +Repository = "https://github.com/graphql-python/graphene" diff --git a/setup.cfg b/setup.cfg deleted file mode 100644 index db1ff134..00000000 --- a/setup.cfg +++ /dev/null @@ -1,16 +0,0 @@ -[flake8] -exclude = setup.py,docs/*,*/examples/*,graphene/pyutils/*,tests -max-line-length = 120 - -# This is a specific ignore for Black+Flake8 -# source: https://black.readthedocs.io/en/stable/guides/using_black_with_other_tools.html#id1 -extend-ignore = E203 - -[coverage:run] -omit = graphene/pyutils/*,*/tests/*,graphene/types/scalars.py - -[isort] -known_first_party=graphene - -[bdist_wheel] -universal=1 diff --git a/setup.py b/setup.py deleted file mode 100644 index 72377c7e..00000000 --- a/setup.py +++ /dev/null @@ -1,91 +0,0 @@ -import ast -import codecs -import re -import sys - -from setuptools import find_packages, setup -from setuptools.command.test import test as TestCommand - -_version_re = re.compile(r"VERSION\s+=\s+(.*)") - -with open("graphene/__init__.py", "rb") as f: - version = ast.literal_eval(_version_re.search(f.read().decode("utf-8")).group(1)) - -path_copy = sys.path[:] - -sys.path.append("graphene") -try: - from pyutils.version import get_version - - version = get_version(version) -except Exception: - version = ".".join([str(v) for v in version]) - -sys.path[:] = path_copy - - -class PyTest(TestCommand): - user_options = [("pytest-args=", "a", "Arguments to pass to py.test")] - - def initialize_options(self): - TestCommand.initialize_options(self) - self.pytest_args = [] - - def finalize_options(self): - TestCommand.finalize_options(self) - self.test_args = [] - self.test_suite = True - - def run_tests(self): - # import here, cause outside the eggs aren't loaded - import pytest - - errno = pytest.main(self.pytest_args) - sys.exit(errno) - - -tests_require = [ - "pytest>=8,<9", - "pytest-benchmark>=4,<5", - "pytest-cov>=5,<6", - "pytest-mock>=3,<4", - "pytest-asyncio>=0.16,<2", - "snapshottest>=0.6,<1", - "coveralls>=4,<5", -] - -dev_requires = ["ruff==0.4.10", "flake8>=4,<5"] + tests_require - -setup( - name="graphene", - version=version, - description="GraphQL Framework for Python", - long_description=codecs.open( - "README.md", "r", encoding="ascii", errors="replace" - ).read(), - long_description_content_type="text/markdown", - url="https://github.com/graphql-python/graphene", - author="Syrus Akbary", - author_email="me@syrusakbary.com", - license="MIT", - classifiers=[ - "Development Status :: 5 - Production/Stable", - "Intended Audience :: Developers", - "Topic :: Software Development :: Libraries", - "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", - ], - keywords="api graphql protocol rest relay graphene", - packages=find_packages(exclude=["examples*"]), - install_requires=[ - "graphql-core>=3.1,<3.3", - "graphql-relay>=3.1,<3.3", - ], - tests_require=tests_require, - extras_require={"test": tests_require, "dev": dev_requires}, - cmdclass={"test": PyTest}, -)