import os.path import sys import setuptools root_dir = os.path.abspath(os.path.dirname(__file__)) about = {} about_file = os.path.join(root_dir, "src", "aioquic", "about.py") with open(about_file, encoding="utf-8") as fp: exec(fp.read(), about) readme_file = os.path.join(root_dir, "README.rst") with open(readme_file, encoding="utf-8") as f: long_description = f.read() if sys.platform == "win32": extra_compile_args = [] libraries = ["libcrypto", "advapi32", "crypt32", "gdi32", "user32", "ws2_32"] else: extra_compile_args = ["-std=c99"] libraries = ["crypto"] setuptools.setup( name=about["__title__"], version=about["__version__"], description=about["__summary__"], long_description=long_description, url=about["__uri__"], author=about["__author__"], author_email=about["__email__"], license=about["__license__"], include_package_data=True, classifiers=[ "Development Status :: 4 - Beta", "Environment :: Web Environment", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", "Topic :: Internet :: WWW/HTTP", ], ext_modules=[ setuptools.Extension( "aioquic._buffer", extra_compile_args=extra_compile_args, sources=["src/aioquic/_buffer.c"], ), setuptools.Extension( "aioquic._crypto", extra_compile_args=extra_compile_args, libraries=libraries, sources=["src/aioquic/_crypto.c"], ), ], package_dir={"": "src"}, package_data={"aioquic": ["py.typed", "_buffer.pyi", "_crypto.pyi"]}, packages=["aioquic", "aioquic.asyncio", "aioquic.h0", "aioquic.h3", "aioquic.quic"], install_requires=[ "certifi", "cryptography >= 2.5", 'dataclasses; python_version < "3.7"', "pylsqpack >= 0.3.3, < 0.4.0", ], )