Skip to content
Snippets Groups Projects
setup.py 2.28 KiB
Newer Older
  • Learn to ignore specific revisions
  • Matt Traudt's avatar
    Matt Traudt committed
    #!/usr/bin/env python3
    # Always prefer setuptools over distutils
    from setuptools import setup, find_packages
    # To use a consistent encoding
    from codecs import open
    import os
    
    # To generate the version at build time based on
    # git describe --tags --dirty --always
    import versioneer
    
    Matt Traudt's avatar
    Matt Traudt committed
    
    
    Matt Traudt's avatar
    Matt Traudt committed
    here = os.path.abspath(os.path.dirname(__file__))
    
    
    juga's avatar
    juga committed
    
    def long_description():
        with open(os.path.join(here, 'README.md'), encoding='utf-8') as f:
            return f.read()
    
    Matt Traudt's avatar
    Matt Traudt committed
    
    
    def get_package_data():
        # Example that grabs all *.ini files in the cwd and all files in foo/bar
        # other_files = ['*.ini']
        # for r, _, fs in os.walk(os.path.join(here, 'foo', 'bar')):
        #     for f in fs:
        #         other_files.append(os.path.join(r, f))
        # return other_files
    
        return [
            'config.default.ini',
    
    Matt Traudt's avatar
    Matt Traudt committed
            'config.log.default.ini',
    
    Matt Traudt's avatar
    Matt Traudt committed
    
    
    def get_data_files():
    
    juga's avatar
    juga committed
        pass
    
    Matt Traudt's avatar
    Matt Traudt committed
    
    
    setup(
        name='sbws',
    
        version=versioneer.get_version(),
        cmdclass=versioneer.get_cmdclass(),
    
    Matt Traudt's avatar
    Matt Traudt committed
        description='Simple Bandwidth Scanner',
    
    juga's avatar
    juga committed
        long_description=long_description(),
        long_description_content_type="text/markdown",
    
    juga's avatar
    juga committed
        author='Matt Traudt, juga',
        author_email='{pastly, juga}@torproject.org',
    
        license='CC0',
    
    juga's avatar
    juga committed
        url="https://gitweb.torproject.org/sbws.git",
    
    Matt Traudt's avatar
    Matt Traudt committed
        classifiers=[
    
    Matt Traudt's avatar
    Matt Traudt committed
            'Development Status :: 4 - Beta',
    
    juga's avatar
    juga committed
            "Environment :: Console",
            'Intended Audience :: Developers',
            'Intended Audience :: System Administrators',
            'Operating System :: OS Independent',
            'Programming Language :: Python :: 3.5',
            'Programming Language :: Python :: 3.6',
            'Topic :: System :: Networking',
    
    Matt Traudt's avatar
    Matt Traudt committed
        ],
        packages=find_packages(),
    
        include_package_data=True,
    
    Matt Traudt's avatar
    Matt Traudt committed
        package_data={
            'sbws': get_package_data(),
        },
        data_files=get_data_files(),
    
    juga's avatar
    juga committed
        keywords='tor onion bandwidth measurements scanner relay circuit',
    
    juga's avatar
    juga committed
        python_requires='>=3.5',
    
    Matt Traudt's avatar
    Matt Traudt committed
        entry_points={
            'console_scripts': [
    
                'sbws = sbws.sbws:main',
    
    Matt Traudt's avatar
    Matt Traudt committed
            ]
        },
        install_requires=[
    
    juga's avatar
    juga committed
            'stem>=1.7.0',
    
            'requests[socks]',
    
    Matt Traudt's avatar
    Matt Traudt committed
        ],
        extras_require={
    
            # vulture: find unused code
            'dev': ['flake8', 'vulture'],
    
            'test': ['tox', 'pytest', 'coverage'],
    
    juga's avatar
    juga committed
            # recommonmark: to make sphinx render markdown
    
    juga's avatar
    juga committed
            'doc': ['sphinx', 'recommonmark', 'pylint'],
    
    Matt Traudt's avatar
    Matt Traudt committed
        },
    )