Skip to content

Commit

Permalink
Seperate requirements to run the bot and to develop.
Browse files Browse the repository at this point in the history
- Add a requirements-dev.txt file which includes additional deps for development.
- Add a Dockerfile.develop which installs all deps for development and also enables dev commands.
- Change related documentations on how to run/dev the bot.
  • Loading branch information
pan-long committed Dec 17, 2018
1 parent 5d253f3 commit 1372095
Show file tree
Hide file tree
Showing 6 changed files with 35 additions and 8 deletions.
2 changes: 1 addition & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ install:
- ./build_helpers/install_ta-lib.sh
- export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
- pip install --upgrade flake8 coveralls pytest-random-order pytest-asyncio mypy
- pip install -r requirements.txt
- pip install -r requirements-dev.txt
- pip install -e .
jobs:
include:
Expand Down
9 changes: 9 additions & 0 deletions Dockerfile.develop
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
FROM freqtrade:latest

# Install dependencies
COPY requirements-dev.txt /freqtrade/
RUN pip install numpy --no-cache-dir \
&& pip install -r requirements-dev.txt --no-cache-dir

# Empty the ENTRYPOINT to allow all commands
ENTRYPOINT []
7 changes: 7 additions & 0 deletions docs/installation.md
Original file line number Diff line number Diff line change
Expand Up @@ -134,6 +134,13 @@ cd freqtrade
docker build -t freqtrade .
```

If you are developing using Docker, use `Dockerfile.develop` instead, which will also set up develop dependencies:

```bash
cd freqtrade
docker build -f ./Dockerfile.develop -t freqtrade .
```

For security reasons, your configuration file will not be included in the image, you will need to bind mount it. It is also advised to bind mount an SQLite database file (see the "5. Run a restartable docker image" section) to keep it between updates.

### 3. Verify the Docker image
Expand Down
8 changes: 8 additions & 0 deletions requirements-dev.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# Include all requirements to run the bot.
-r requirements.txt

flake8==3.6.0
pytest==4.0.2
pytest-mock==1.10.0
pytest-asyncio==0.9.0
pytest-cov==2.6.0
7 changes: 0 additions & 7 deletions requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -13,19 +13,12 @@ scipy==1.1.0
jsonschema==2.6.0
numpy==1.15.4
TA-Lib==0.4.17
pytest==4.0.2
pytest-mock==1.10.0
pytest-asyncio==0.9.0
pytest-cov==2.6.0
tabulate==0.8.2
coinmarketcap==5.0.3

# Required for hyperopt
scikit-optimize==0.5.2

# Required for plotting data
#plotly==3.1.1

# find first, C search in arrays
py_find_1st==1.1.3

Expand Down
10 changes: 10 additions & 0 deletions setup.sh
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,16 @@ function updateenv () {
pip3 install --quiet --upgrade pip
pip3 install --quiet -r requirements.txt --upgrade
pip3 install --quiet -r requirements.txt

read -p "Do you want to install dependencies for dev [Y/N]? "
if [[ $REPLY =~ ^[Yy]$ ]]
then
pip3 install --quiet -r requirements-dev.txt --upgrade
pip3 install --quiet -r requirements-dev.txt
else
echo "Dev dependencies ignored."
fi

pip3 install --quiet -e .
echo "pip3 install completed"
echo
Expand Down

0 comments on commit 1372095

Please sign in to comment.