ED_LRR/setup.py

117 lines
3.3 KiB
Python

# -*- coding: utf-8 -*-
from setuptools import find_packages, setup
from setuptools_rust import Binding, RustExtension, Strip
with open('README.md', 'r') as fh:
long_description = fh.read()
extras_require = {
'build': ['pyinstaller', 'pywin32'],
'test': [
'pytest',
'pytest-cov',
'pytest-dependency',
'pytest-benchmark[histogram]',
'pytest-metadata',
'pytest-flake8',
'pytest-flask',
'pytest-mock',
'pytest-flask-sqlalchemy',
'pytest-steps',
'pytest-xdist',
'flake8-bugbear',
'flake8-comprehensions',
'cohesion',
'hypothesis',
'flaky'
],
'dev': [
'black; python_version >= "3.6"',
'jinja2',
'tsp',
'flake8',
'flake8-bugbear',
'flake8-comprehensions',
'cohesion',
'pre-commit',
'ipython',
'flask-konch',
'setuptools_rust'
],
'gui': ['PyQt5', 'pyperclip'],
'web': [
'flask',
'gevent',
'webargs',
'flask-executor',
'flask-wtf',
'flask-user',
'flask-debugtoolbar',
'flask-bootstrap4',
'flask-sqlalchemy',
'flask-nav',
'flask-admin',
'sqlalchemy_utils[password]',
'python-dotenv',
],
}
extras_require['all'] = sorted(set(sum(extras_require.values(), [])))
setup(
use_scm_version={'write_to': '__version__.py'},
name='ed_lrr_gui',
author='Daniel Seiller',
author_email='earthnuker@gmail.com',
description='Elite: Dangerous long range route plotter',
long_description=long_description,
long_description_content_type='text/markdown',
url='https://gitlab.com/Earthnuker/ed_lrr/-/tree/pyqt_gui',
rust_extensions=[
RustExtension(
'_ed_lrr',
path='rust/Cargo.toml',
binding=Binding.PyO3,
strip=Strip.No,
debug=False,
native=True,
quiet=True,
)
],
packages=find_packages(),
entry_points={
'console_scripts': ['ed_lrr = ed_lrr_gui.__main__:main'],
'gui_scripts': ['ed_lrr_gui = ed_lrr_gui.__main__:gui_main']
},
install_requires=[
'appdirs',
'PyYAML',
'requests',
'python-dateutil',
'click',
'tqdm',
'click-default-group',
'profig',
'ujson',
'colorama',
'svgwrite',
],
setup_requires=['setuptools', 'setuptools-rust',
'setuptools-scm', 'wheel'],
dependency_links=['https://github.com/Nuitka/Nuitka/archive/develop.zip'],
extras_require=extras_require,
classifiers=[
'License :: OSI Approved :: MIT License',
'Programming Language :: Rust',
'Programming Language :: Python',
'Programming Language :: Python :: 3',
'Programming Language :: Python :: 3.5',
'Programming Language :: Python :: 3.6',
'Programming Language :: Python :: 3.7',
'Programming Language :: Python :: 3.8',
'Programming Language :: Python :: Implementation :: CPython',
'Operating System :: Windows',
'Operating System :: Linux',
],
include_package_data=True,
zip_safe=False,
)