diff --git a/.gitignore b/.gitignore index 58f2d90..7b25862 100644 --- a/.gitignore +++ b/.gitignore @@ -47,6 +47,9 @@ pip-log.txt env/ .vscode/ +# lock file +*.lock + pyvenv.cfg share/* diff --git a/pyproject.toml b/pyproject.toml index 3b109da..f9cc044 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,2 +1,54 @@ +[project] +name = "thriftpy2" +version = "0.5.1" +description = "Pure python implementation of Apache Thrift." +authors = [ + {name = "ThriftPy Organization", email = "gotzehsing@gmail.com"}, +] +dependencies = [ + "Cython>=3.0.10", + "ply>=3.4,<4.0", + "six~=1.15", +] +requires-python = ">=3.6" +readme = "README.rst" +license = {text = "MIT"} +keywords = ["thrift python thriftpy thriftpy2"] +classifiers = [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "License :: OSI Approved :: MIT License", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: Implementation :: CPython", + "Programming Language :: Python :: Implementation :: PyPy", + "Topic :: Software Development", +] + +[project.urls] +Homepage = "https://thriftpy2.readthedocs.io/" +Source = "https://github.com/Thriftpy/thriftpy2" + +[project.optional-dependencies] +dev = [ + "flake8>=2.5", + "pytest-reraise", + "pytest>=6.1.1,<8.2.0", + "sphinx-rtd-theme>=0.1.9", + "sphinx>=1.3", + "tornado>=4.0,<6.0; python_version<'3.12'", + "tornado>=4.0,<7.0; python_version>='3.12'", +] +tornado = [ + "tornado>=4.0,<6.0; python_version<'3.12'", + "tornado>=4.0,<7.0; python_version>='3.12'", +] + [build-system] requires = ["setuptools", "cython>=0.28.4,<4"] diff --git a/setup.py b/setup.py index f469a20..2af6b76 100644 --- a/setup.py +++ b/setup.py @@ -1,17 +1,11 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- -import re import sys import platform -from os.path import join, dirname +from setuptools import setup, find_packages, Extension -from setuptools import setup, find_packages -from setuptools.extension import Extension - -with open(join(dirname(__file__), 'thriftpy2', '__init__.py'), 'r') as f: - version = re.match(r".*__version__ = '(.*?)'", f.read(), re.S).group(1) install_requires = [ "ply>=3.4,<4.0", @@ -31,15 +25,6 @@ # tornado will now only get installed and we'll get the newer one pass -dev_requires = [ - "flake8>=2.5", - "sphinx-rtd-theme>=0.1.9", - "sphinx>=1.3", - "pytest-reraise", - "pytest>=6.1.1,<8.2.0", -] + tornado_requires - - cmdclass = {} ext_modules = [] @@ -74,44 +59,11 @@ ["thriftpy2/protocol/cybin/cybin.c"], libraries=libraries)) -setup(name="thriftpy2", - version=version, - description="Pure python implementation of Apache Thrift.", - keywords="thrift python thriftpy thriftpy2", - author="ThriftPy Organization", - author_email="gotzehsing@gmail.com", +setup( packages=find_packages(exclude=['benchmark', 'docs', 'tests']), - entry_points={}, - url="https://thriftpy2.readthedocs.io/", - project_urls={ - "Source": "https://github.com/Thriftpy/thriftpy2", - }, - license="MIT", zip_safe=False, long_description=open("README.rst").read(), - install_requires=install_requires, - tests_require=tornado_requires, - python_requires='>=3.6', - extras_require={ - "dev": dev_requires, - "tornado": tornado_requires - }, cmdclass=cmdclass, ext_modules=ext_modules, include_package_data=True, - classifiers=[ - "Topic :: Software Development", - "Development Status :: 4 - Beta", - "Intended Audience :: Developers", - "License :: OSI Approved :: MIT License", - "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.6", - "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", - "Programming Language :: Python :: 3.12", - "Programming Language :: Python :: Implementation :: CPython", - "Programming Language :: Python :: Implementation :: PyPy", - ]) +)