tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

setup.py (2599B)


      1 #!/usr/bin/env python
      2 # This file is dual licensed under the terms of the Apache License, Version
      3 # 2.0, and the BSD License. See the LICENSE file in the root of this repository
      4 # for complete details.
      5 
      6 import os
      7 import re
      8 
      9 # While I generally consider it an antipattern to try and support both
     10 # setuptools and distutils with a single setup.py, in this specific instance
     11 # where packaging is a dependency of setuptools, it can create a circular
     12 # dependency when projects attempt to unbundle stuff from setuptools and pip.
     13 # Though we don't really support that, it makes things easier if we do this and
     14 # should hopefully cause less issues for end users.
     15 try:
     16    from setuptools import setup
     17 except ImportError:
     18    from distutils.core import setup
     19 
     20 
     21 base_dir = os.path.dirname(__file__)
     22 
     23 about = {}
     24 with open(os.path.join(base_dir, "packaging", "__about__.py")) as f:
     25    exec(f.read(), about)
     26 
     27 with open(os.path.join(base_dir, "README.rst")) as f:
     28    long_description = f.read()
     29 
     30 with open(os.path.join(base_dir, "CHANGELOG.rst")) as f:
     31    # Remove :issue:`ddd` tags that breaks the description rendering
     32    changelog = re.sub(
     33        r":issue:`(\d+)`",
     34        r"`#\1 <https://github.com/pypa/packaging/issues/\1>`__",
     35        f.read(),
     36    )
     37    long_description = "\n".join([long_description, changelog])
     38 
     39 
     40 setup(
     41    name=about["__title__"],
     42    version=about["__version__"],
     43    description=about["__summary__"],
     44    long_description=long_description,
     45    long_description_content_type="text/x-rst",
     46    license=about["__license__"],
     47    url=about["__uri__"],
     48    author=about["__author__"],
     49    author_email=about["__email__"],
     50    python_requires=">=3.6",
     51    install_requires=["pyparsing>=2.0.2,!=3.0.5"],  # 2.0.2 + needed to avoid issue #91
     52    classifiers=[
     53        "Development Status :: 5 - Production/Stable",
     54        "Intended Audience :: Developers",
     55        "License :: OSI Approved :: Apache Software License",
     56        "License :: OSI Approved :: BSD License",
     57        "Programming Language :: Python",
     58        "Programming Language :: Python :: 3",
     59        "Programming Language :: Python :: 3 :: Only",
     60        "Programming Language :: Python :: 3.6",
     61        "Programming Language :: Python :: 3.7",
     62        "Programming Language :: Python :: 3.8",
     63        "Programming Language :: Python :: 3.9",
     64        "Programming Language :: Python :: 3.10",
     65        "Programming Language :: Python :: Implementation :: CPython",
     66        "Programming Language :: Python :: Implementation :: PyPy",
     67    ],
     68    packages=["packaging"],
     69    package_data={"packaging": ["py.typed"]},
     70 )