Skip to content
Snippets Groups Projects
setup.py 2.61 KiB
Newer Older
  • Learn to ignore specific revisions
  • ulif's avatar
    ulif committed
    import os
    import sys
    from setuptools import setup
    from setuptools.command.test import test as TestCommand
    
    tests_path = os.path.join(os.path.dirname(__file__), 'tests')
    
    
    ulif's avatar
    ulif committed
    
    
    ulif's avatar
    ulif committed
    class PyTest(TestCommand):
    
    ulif's avatar
    ulif committed
        user_options = [('pytest-args=', 'a', "Arguments to pass to py.test"), ]
    
        def initialize_options(self):
            TestCommand.initialize_options(self)
            self.pytest_args = []
    
    
    ulif's avatar
    ulif committed
        def finalize_options(self):
            TestCommand.finalize_options(self)
    
    ulif's avatar
    ulif committed
            self.test_args = []
    
    ulif's avatar
    ulif committed
            self.test_suite = True
    
    ulif's avatar
    ulif committed
    
    
    ulif's avatar
    ulif committed
        def run_tests(self):
    
    ulif's avatar
    ulif committed
            # import here, cause outside the eggs aren't loaded
    
    ulif's avatar
    ulif committed
            import pytest
    
    ulif's avatar
    ulif committed
            errno = pytest.main(self.pytest_args)
    
    ulif's avatar
    ulif committed
            sys.exit(errno)
    
    
    ulif's avatar
    ulif committed
    
    
    ulif's avatar
    ulif committed
    def read(fname):
        return open(os.path.join(os.path.dirname(__file__), fname)).read()
    
    
    ulif's avatar
    ulif committed
    install_requires = [
        'setuptools',
        ]
    
    
    ulif's avatar
    ulif committed
    tests_require = [
        'pytest >= 2.0.3',
        'pytest-xdist',
        'pytest-cov',
        ]
    
    docs_require = [
        'Sphinx',
        ]
    
    setup(
        name="diceware",
    
    ulif's avatar
    ulif committed
        version="0.4.1.dev0",
    
    ulif's avatar
    ulif committed
        author="Uli Fouquet",
        author_email="uli@gnufix.de",
        description=(
            "Passphrases you will remember."),
        license="GPL 3.0",
        keywords="diceware password passphrase",
        url="https://github.com/ulif/diceware/",
    
        py_modules=[],
        packages=['diceware', ],
    
    ulif's avatar
    ulif committed
        namespace_packages=[],
    
        long_description=read('README.rst') + '\n\n\n' + read('CHANGES.rst'),
    
    ulif's avatar
    ulif committed
        classifiers=[
            "Development Status :: 3 - Alpha",
            "Environment :: Console",
            "Intended Audience :: End Users/Desktop",
            "Intended Audience :: System Administrators",
            "Topic :: Utilities",
            "Topic :: Security :: Cryptography",
    
    ulif's avatar
    ulif committed
            (
                "License :: OSI Approved :: "
                "GNU General Public License v3 or later (GPLv3+)"),
    
    ulif's avatar
    ulif committed
            "Operating System :: POSIX :: Linux",
            "Programming Language :: Python :: 2",
            "Programming Language :: Python :: 2.6",
            "Programming Language :: Python :: 2.7",
            "Programming Language :: Python :: 3",
            "Programming Language :: Python :: 3.2",
            "Programming Language :: Python :: 3.3",
            "Programming Language :: Python :: 3.4",
            "Programming Language :: Python :: Implementation :: CPython",
            "Programming Language :: Python :: Implementation :: PyPy",
        ],
        include_package_data=True,
        zip_safe=False,
    
    ulif's avatar
    ulif committed
        install_requires=install_requires,
    
    ulif's avatar
    ulif committed
        tests_require=tests_require,
        extras_require=dict(
            tests=tests_require,
            docs=docs_require,
            ),
        cmdclass={'test': PyTest},
        entry_points={
            'console_scripts': [
    
    ulif's avatar
    ulif committed
                'diceware = diceware:main',