#!/usr/bin/env python """Python packaging.""" import os import sys from setuptools import setup from setuptools.command.test import test as TestCommand class Tox(TestCommand): """Test command that runs tox.""" def finalize_options(self): TestCommand.finalize_options(self) self.test_args = [] self.test_suite = True def run_tests(self): import tox # import here, cause outside the eggs aren't loaded. errno = tox.cmdline(self.test_args) sys.exit(errno) #: Absolute path to directory containing setup.py file. here = os.path.abspath(os.path.dirname(__file__)) NAME = "django-downloadview" DESCRIPTION = "Serve files with Django and reverse-proxies." README = open(os.path.join(here, "README.rst")).read() VERSION = open(os.path.join(here, "VERSION")).read().strip() AUTHOR = "BenoƮt Bryon" EMAIL = "benoit@marmelune.net" LICENSE = "BSD" URL = "https://{name}.readthedocs.io/".format(name=NAME) CLASSIFIERS = [ "Development Status :: 5 - Production/Stable", "Framework :: Django", "License :: OSI Approved :: BSD License", "Programming Language :: Python :: 3 :: Only", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", ] KEYWORDS = [ "file", "stream", "download", "FileField", "ImageField", "x-accel", "x-accel-redirect", "x-sendfile", "sendfile", "mod_xsendfile", "offload", ] PACKAGES = [NAME.replace("-", "_")] REQUIREMENTS = [ # BEGIN requirements "Django>=1.11", "requests", "setuptools", # END requirements ] ENTRY_POINTS = {} SETUP_REQUIREMENTS = ["setuptools"] TEST_REQUIREMENTS = ["tox"] CMDCLASS = {"test": Tox} EXTRA_REQUIREMENTS = { "test": TEST_REQUIREMENTS, } if __name__ == "__main__": # Don't run setup() when we import this module. setup( name=NAME, version=VERSION, description=DESCRIPTION, long_description=README, classifiers=CLASSIFIERS, keywords=" ".join(KEYWORDS), author=AUTHOR, author_email=EMAIL, url=URL, license=LICENSE, packages=PACKAGES, include_package_data=True, zip_safe=False, install_requires=REQUIREMENTS, entry_points=ENTRY_POINTS, tests_require=TEST_REQUIREMENTS, cmdclass=CMDCLASS, setup_requires=SETUP_REQUIREMENTS, extras_require=EXTRA_REQUIREMENTS, )