| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 |
- #!/usr/bin/env python
- # This file is protected via CODEOWNERS
- import codecs
- import os
- import re
- from setuptools import setup
- base_path = os.path.dirname(__file__)
- # Get the version (borrowed from SQLAlchemy)
- with open(os.path.join(base_path, "src", "urllib3", "_version.py")) as fp:
- VERSION = (
- re.compile(r""".*__version__ = ["'](.*?)['"]""", re.S).match(fp.read()).group(1)
- )
- with codecs.open("README.rst", encoding="utf-8") as fp:
- # Remove reST raw directive from README as they're not allowed on PyPI
- # Those blocks start with a newline and continue until the next newline
- mode = None
- lines = []
- for line in fp:
- if line.startswith(".. raw::"):
- mode = "ignore_nl"
- elif line == "\n":
- mode = "wait_nl" if mode == "ignore_nl" else None
- if mode is None:
- lines.append(line)
- readme = "".join(lines)
- with codecs.open("CHANGES.rst", encoding="utf-8") as fp:
- changes = fp.read()
- version = VERSION
- setup(
- name="urllib3",
- version=version,
- description="HTTP library with thread-safe connection pooling, file post, and more.",
- long_description=u"\n\n".join([readme, changes]),
- long_description_content_type="text/x-rst",
- classifiers=[
- "Environment :: Web Environment",
- "Intended Audience :: Developers",
- "License :: OSI Approved :: MIT License",
- "Operating System :: OS Independent",
- "Programming Language :: Python",
- "Programming Language :: Python :: 2",
- "Programming Language :: Python :: 2.7",
- "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 :: Implementation :: CPython",
- "Programming Language :: Python :: Implementation :: PyPy",
- "Topic :: Internet :: WWW/HTTP",
- "Topic :: Software Development :: Libraries",
- ],
- keywords="urllib httplib threadsafe filepost http https ssl pooling",
- author="Andrey Petrov",
- author_email="andrey.petrov@shazow.net",
- url="https://urllib3.readthedocs.io/",
- project_urls={
- "Documentation": "https://urllib3.readthedocs.io/",
- "Code": "https://github.com/urllib3/urllib3",
- "Issue tracker": "https://github.com/urllib3/urllib3/issues",
- },
- license="MIT",
- packages=[
- "urllib3",
- "urllib3.packages",
- "urllib3.packages.backports",
- "urllib3.contrib",
- "urllib3.contrib._securetransport",
- "urllib3.util",
- ],
- package_dir={"": "src"},
- requires=[],
- python_requires=">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, <4",
- extras_require={
- "brotli": [
- "brotli>=1.0.9; (os_name != 'nt' or python_version >= '3') and platform_python_implementation == 'CPython'",
- "brotlicffi>=0.8.0; (os_name != 'nt' or python_version >= '3') and platform_python_implementation != 'CPython'",
- "brotlipy>=0.6.0; os_name == 'nt' and python_version < '3'",
- ],
- "secure": [
- "pyOpenSSL>=0.14",
- "cryptography>=1.3.4",
- "idna>=2.0.0",
- "certifi",
- "ipaddress; python_version=='2.7'",
- "urllib3-secure-extra",
- ],
- "socks": ["PySocks>=1.5.6,<2.0,!=1.5.7"],
- },
- )
|