AaronWard/covidify

pmdarima dependency

Closed this issue · 2 comments

Hi Aaron,

I run

pip3 install covidify

in a virtualenv and I had to run

pip3 install pmdarima

Is it intended that pmdarima is not installed as requirement?

Let me add the complete installation log:

rd@h370:~/virtualenv$ virtualenv -p python3 covidify
Already using interpreter /usr/bin/python3
Using base prefix '/usr'
New python executable in /home/rd/virtualenv/covidify/bin/python3
Also creating executable in /home/rd/virtualenv/covidify/bin/python
Installing setuptools, pkg_resources, pip, wheel...done.
rd@h370:~/virtualenv$ source covidify/bin/activate
(covidify) rd@h370:~/virtualenv$ pip3 list
Package       Version
------------- -------
pip           20.1
pkg-resources 0.0.0
setuptools    46.1.3
wheel         0.34.2
(covidify) rd@h370:~/virtualenv$ pip3 install covidify
Collecting covidify
  Using cached covidify-1.2.0-py2.py3-none-any.whl (18 kB)
Collecting pillow
  Using cached Pillow-7.1.2-cp37-cp37m-manylinux1_x86_64.whl (2.1 MB)
Collecting GitPython
  Using cached GitPython-3.1.1-py3-none-any.whl (450 kB)
Collecting tqdm
  Using cached tqdm-4.45.0-py2.py3-none-any.whl (60 kB)
Collecting click
  Using cached click-7.1.2-py2.py3-none-any.whl (82 kB)
Collecting matplotlib
  Using cached matplotlib-3.2.1-cp37-cp37m-manylinux1_x86_64.whl (12.4 MB)
Processing /home/rd/.cache/pip/wheels/72/b0/3f/1d95f96ff986c7dfffe46ce2be4062f38ebd04b506c77c81b9/docopt-0.6.2-py2.py3-none-any.whl
Collecting xlsxwriter
  Using cached XlsxWriter-1.2.8-py2.py3-none-any.whl (141 kB)
Collecting pyarrow
  Using cached pyarrow-0.17.0-cp37-cp37m-manylinux2014_x86_64.whl (63.8 MB)
Collecting pandas
  Using cached pandas-1.0.3-cp37-cp37m-manylinux1_x86_64.whl (10.0 MB)
Collecting numpy
  Using cached numpy-1.18.3-cp37-cp37m-manylinux1_x86_64.whl (20.2 MB)
Collecting gitdb<5,>=4.0.1
  Using cached gitdb-4.0.4-py3-none-any.whl (63 kB)
Collecting cycler>=0.10
  Using cached cycler-0.10.0-py2.py3-none-any.whl (6.5 kB)
Collecting pyparsing!=2.0.4,!=2.1.2,!=2.1.6,>=2.0.1
  Using cached pyparsing-2.4.7-py2.py3-none-any.whl (67 kB)
Collecting kiwisolver>=1.0.1
  Using cached kiwisolver-1.2.0-cp37-cp37m-manylinux1_x86_64.whl (88 kB)
Collecting python-dateutil>=2.1
  Using cached python_dateutil-2.8.1-py2.py3-none-any.whl (227 kB)
Collecting pytz>=2017.2
  Using cached pytz-2020.1-py2.py3-none-any.whl (510 kB)
Collecting smmap<4,>=3.0.1
  Using cached smmap-3.0.2-py2.py3-none-any.whl (25 kB)
Collecting six
  Using cached six-1.14.0-py2.py3-none-any.whl (10 kB)
Installing collected packages: pillow, smmap, gitdb, GitPython, tqdm, click, six, cycler, numpy, pyparsing, kiwisolver, python-dateutil, matplotlib, docopt, xlsxwriter, pyarrow, pytz, pandas, covidify
Successfully installed GitPython-3.1.1 click-7.1.2 covidify-1.2.0 cycler-0.10.0 docopt-0.6.2 gitdb-4.0.4 kiwisolver-1.2.0 matplotlib-3.2.1 numpy-1.18.3 pandas-1.0.3 pillow-7.1.2 pyarrow-0.17.0 pyparsing-2.4.7 python-dateutil-2.8.1 pytz-2020.1 six-1.14.0 smmap-3.0.2 tqdm-4.45.0 xlsxwriter-1.2.8
(covidify) rd@h370:~/virtualenv$ covidify run --source JHU --output ~/tmp.nobackup/covidify-test --country Germany
     MESSAGE:  No top countries given, defaulting to top 10 
###
### Job arguments:
###
... ENV: /home/rd/virtualenv/covidify/lib/python3.7/site-packages/covidify
... OUTPUT FOLDER: /home/rd/tmp.nobackup/covidify-test
... DATA SOURCE: JHU
... COUNTRIES: Germany
... TOP INFECTED COUNTRIES: 10
... FORECAST PERIOD: 10
###
### Data Extraction
###
git pull from https://github.com/CSSEGISandData/COVID-19.git
Getting sheets...
... loading data: 100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 99/99 [00:07<00:00, 12.72it/s]
Country specified!
... filtering data for Germany
... Calculating dataframe for new cases
Calculating data for logarithmic plotting...
   ... Germany: 161539
Creating subdirectory for data...
... /home/rd/tmp.nobackup/covidify-test/data/2020-04-30
Saving...
... agg_data_2020-04-30.parquet.gzip
... agg_data_2020-04-30.csv
... trend_2020-04-30.csv
... log_2020-04-30.csv
Done!
###
### Training Forecasting Model
###
Traceback (most recent call last):
  File "/home/rd/virtualenv/covidify/lib/python3.7/site-packages/covidify/forecast.py", line 25, in <module>
    from pmdarima.arima import auto_arima
ModuleNotFoundError: No module named 'pmdarima'
(covidify) rd@h370:~/virtualenv$ pip3 install pmdarima
Collecting pmdarima
  Using cached pmdarima-1.5.3-cp37-cp37m-manylinux1_x86_64.whl (1.5 MB)
Collecting scipy>=1.3.2
  Using cached scipy-1.4.1-cp37-cp37m-manylinux1_x86_64.whl (26.1 MB)
Requirement already satisfied: pandas>=0.19 in ./covidify/lib/python3.7/site-packages (from pmdarima) (1.0.3)
Collecting joblib>=0.11
  Using cached joblib-0.14.1-py2.py3-none-any.whl (294 kB)
Collecting scikit-learn>=0.22
  Using cached scikit_learn-0.22.2.post1-cp37-cp37m-manylinux1_x86_64.whl (7.1 MB)
Collecting urllib3
  Using cached urllib3-1.25.9-py2.py3-none-any.whl (126 kB)
Collecting statsmodels>=0.10.2
  Using cached statsmodels-0.11.1-cp37-cp37m-manylinux1_x86_64.whl (8.7 MB)
Collecting Cython>=0.29
  Using cached Cython-0.29.17-cp37-cp37m-manylinux1_x86_64.whl (2.1 MB)
Requirement already satisfied: numpy>=1.17.3 in ./covidify/lib/python3.7/site-packages (from pmdarima) (1.18.3)
Requirement already satisfied: python-dateutil>=2.6.1 in ./covidify/lib/python3.7/site-packages (from pandas>=0.19->pmdarima) (2.8.1)
Requirement already satisfied: pytz>=2017.2 in ./covidify/lib/python3.7/site-packages (from pandas>=0.19->pmdarima) (2020.1)
Collecting patsy>=0.5
  Using cached patsy-0.5.1-py2.py3-none-any.whl (231 kB)
Requirement already satisfied: six>=1.5 in ./covidify/lib/python3.7/site-packages (from python-dateutil>=2.6.1->pandas>=0.19->pmdarima) (1.14.0)
Installing collected packages: scipy, joblib, scikit-learn, urllib3, patsy, statsmodels, Cython, pmdarima
Successfully installed Cython-0.29.17 joblib-0.14.1 patsy-0.5.1 pmdarima-1.5.3 scikit-learn-0.22.2.post1 scipy-1.4.1 statsmodels-0.11.1 urllib3-1.25.9
(covidify) rd@h370:~/virtualenv$ covidify run --source JHU --output ~/tmp.nobackup/covidify-test --country Germany
     MESSAGE:  No top countries given, defaulting to top 10 
###
### Job arguments:
###
... ENV: /home/rd/virtualenv/covidify/lib/python3.7/site-packages/covidify
... OUTPUT FOLDER: /home/rd/tmp.nobackup/covidify-test
... DATA SOURCE: JHU
... COUNTRIES: Germany
... TOP INFECTED COUNTRIES: 10
... FORECAST PERIOD: 10
###
### Data Extraction
###
git pull from https://github.com/CSSEGISandData/COVID-19.git
Getting sheets...
... loading data: 100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 99/99 [00:06<00:00, 15.45it/s]
Country specified!
... filtering data for Germany
... Calculating dataframe for new cases
Calculating data for logarithmic plotting...
   ... Germany: 161539
Creating subdirectory for data...
... /home/rd/tmp.nobackup/covidify-test/data/2020-04-30
Saving...
... agg_data_2020-04-30.parquet.gzip
... agg_data_2020-04-30.csv
... trend_2020-04-30.csv
... log_2020-04-30.csv
Done!
###
### Training Forecasting Model
###
Creating reports folder...
Training forecasting model...
... train/test split: 0.95
... RMSE: 131.3694287335682
... forecasting 10 days in the future
... saving file: forecast_2020-04-30.csv
... saving graph
###
### Data Visualization
###
Importing Data...
Creating graphs...
... Time Series Trend Line
... Daily Figures
... Daily New Infections Differences
... Logarithmic plots
Creating excel spreadsheet report...
... reading images for: log
... reading images for: trendline
... reading images for: bar
... reading images for: forecasts
Done!
###
### Complete!
###
* Results in: /home/rd/tmp.nobackup/covidify-test
(covidify) rd@h370:~/virtualenv$ 

Is it intended that pmdarima is not installed as requirement?

I forgot to add it to the requirements.txt before pushing the newest release, will fix in the next release