from pathlib import Path
from setuptools import find_packages, setup
from ereuse_devicehub import __version__


test_requires = [
    'pytest',
    'requests_mock'
]

setup(
    name='ereuse-devicehub',
    version=__version__,
    url='https://github.com/ereuse/devicehub-teal',
    project_urls={
        'Documentation': 'http://devicehub.ereuse.org',
        'Code': 'http://github.com/ereuse/devicehub-teal',
        'Issue tracker': 'https://tree.taiga.io/project/ereuseorg-devicehub/issues?q=rules'
    },
    license='Affero',
    author='eReuse.org team',
    author_email='x.bustamante@ereuse.org',
    description='A system to manage devices focusing reuse.',
    packages=find_packages(),
    include_package_data=True,
    python_requires='>=3.7.3',
    long_description=Path('README.md').read_text('utf8'),
    install_requires=[
        'teal>=0.2.0a38',  # teal always first
        'click',
        'click-spinner',
        'ereuse-utils[naming,test,session,cli]>=0.4b49',
        'hashids',
        'marshmallow_enum',
        'psycopg2-binary',
        'python-stdnum',
        'PyYAML',
        'requests[security]',
        'requests-toolbelt',
        'sqlalchemy-citext',
        'sqlalchemy-utils[password, color, phone]',
        'Flask-WeasyPrint',
        'sortedcontainers'
    ],
    extras_require={
        'docs': [
            'sphinx',
            'sphinxcontrib-httpdomain >= 1.5.0',
            'sphinxcontrib-plantuml >= 0.12',
            'sphinxcontrib-websupport >= 1.0.1'
        ],
        'docs-auto': [
            'sphinx-autobuild'
        ],
        'test': test_requires
    },
    tests_require=test_requires,
    entry_points={
        'console_scripts': [
            'dh = ereuse_devicehub.cli:cli'
        ]
    },
    setup_requires=[
        'pytest-runner'
    ],
    classifiers=[
        'Development Status :: 2 - Pre-Alpha',
        'Environment :: Web Environment',
        'Framework :: Flask',
        'Intended Audience :: Developers',
        'License :: OSI Approved :: GNU Affero General Public License v3',
        'Operating System :: OS Independent',
        'Programming Language :: Python :: 3 :: Only',
        'Programming Language :: Python :: 3.5',
        'Programming Language :: Python :: 3.6',
        'Topic :: Internet :: WWW/HTTP :: Dynamic Content',
        'Topic :: Internet :: WWW/HTTP :: WSGI :: Application',
        'Topic :: Software Development :: Libraries :: Python Modules',
    ]
)
