Merge pull request #2073 from freqtrade/update/setuppy

Improve setup.py to allow "extras" installations
This commit is contained in:
Matthias 2019-07-31 19:25:21 +02:00 committed by GitHub
commit 472690a55f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 39 additions and 10 deletions

View File

@ -12,8 +12,8 @@ Special fields for the documentation (like Note boxes, ...) can be found [here](
## Developer setup ## Developer setup
To configure a development environment, use best use the `setup.sh` script and answer "y" when asked "Do you want to install dependencies for dev [y/N]? ". To configure a development environment, best use the `setup.sh` script and answer "y" when asked "Do you want to install dependencies for dev [y/N]? ".
Alternatively (if your system is not supported by the setup.sh script), follow the manual installation process and run `pip3 install -r requirements-dev.txt`. Alternatively (if your system is not supported by the setup.sh script), follow the manual installation process and run `pip3 install -e .[all]`.
This will install all required tools for development, including `pytest`, `flake8`, `mypy`, and `coveralls`. This will install all required tools for development, including `pytest`, `flake8`, `mypy`, and `coveralls`.

View File

@ -2,13 +2,13 @@
-r requirements.txt -r requirements.txt
-r requirements-plot.txt -r requirements-plot.txt
coveralls==1.8.1
flake8==3.7.8 flake8==3.7.8
flake8-type-annotations==0.1.0 flake8-type-annotations==0.1.0
flake8-tidy-imports==2.0.0 flake8-tidy-imports==2.0.0
mypy==0.720
pytest==5.0.1 pytest==5.0.1
pytest-mock==1.10.4
pytest-asyncio==0.10.0 pytest-asyncio==0.10.0
pytest-cov==2.7.1 pytest-cov==2.7.1
pytest-mock==1.10.4
pytest-random-order==1.0.4 pytest-random-order==1.0.4
coveralls==1.8.1
mypy==0.720

View File

@ -8,6 +8,24 @@ if version_info.major == 3 and version_info.minor < 6 or \
from freqtrade import __version__ from freqtrade import __version__
# Requirements used for submodules
api = ['flask']
plot = ['plotly>=4.0']
develop = [
'coveralls',
'flake8',
'flake8-type-annotations',
'flake8-tidy-imports',
'mypy',
'pytest',
'pytest-asyncio',
'pytest-cov',
'pytest-mock',
'pytest-random-order',
]
all_extra = api + plot + develop
setup(name='freqtrade', setup(name='freqtrade',
version=__version__, version=__version__,
@ -20,26 +38,37 @@ setup(name='freqtrade',
setup_requires=['pytest-runner', 'numpy'], setup_requires=['pytest-runner', 'numpy'],
tests_require=['pytest', 'pytest-mock', 'pytest-cov'], tests_require=['pytest', 'pytest-mock', 'pytest-cov'],
install_requires=[ install_requires=[
'ccxt', # from requirements-common.txt
'ccxt>=1.18',
'SQLAlchemy', 'SQLAlchemy',
'python-telegram-bot', 'python-telegram-bot',
'arrow', 'arrow',
'cachetools',
'requests', 'requests',
'urllib3', 'urllib3',
'wrapt', 'wrapt',
'pandas',
'scikit-learn', 'scikit-learn',
'scipy',
'joblib', 'joblib',
'jsonschema', 'jsonschema',
'TA-Lib', 'TA-Lib',
'tabulate', 'tabulate',
'cachetools',
'coinmarketcap', 'coinmarketcap',
'scikit-optimize', 'scikit-optimize',
'filelock',
'py_find_1st',
'python-rapidjson', 'python-rapidjson',
'py_find_1st' 'sdnotify',
# from requirements.txt
'numpy',
'pandas',
'scipy',
], ],
extras_require={
'api': api,
'dev': all_extra,
'plot': plot,
'all': all_extra,
},
include_package_data=True, include_package_data=True,
zip_safe=False, zip_safe=False,
entry_points={ entry_points={