From 709aeb10551784a0d66a23bed67b1493e5cc54c4 Mon Sep 17 00:00:00 2001 From: Gerry Manoim Date: Tue, 28 Jul 2020 11:30:01 -0400 Subject: [PATCH 01/49] BLD: Try github actions again --- .github/workflows/ci.yaml | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 .github/workflows/ci.yaml diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml new file mode 100644 index 0000000000..6db4999fa5 --- /dev/null +++ b/.github/workflows/ci.yaml @@ -0,0 +1,35 @@ +name: Zipline CI + +on: + push: + branches: + - master + pull_request: + branches: + - master + +jobs: + build-and-test: + + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + os: [ubuntu-latest] + python-version: [3.5] + steps: + - uses: actions/checkout@v2 + with: + submodules: 'recursive' + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v2.1.1 + with: + python-version: ${{ matrix.python-version }} + # TODO: set up pip cache + - name: Install requirements + run: | + python -m pip install -r etc/requirements_build.in -c etc/requirements_locked.txt + python -m pip install --no-binary=bcolz -e .[all] -r etc/requirements_blaze.in -c etc/requirements_locked.txt + - name: Run tests + run: | + nosetests tests From bfe1dcfdee0010c4cb9ef734ef9e3c50fe27a162 Mon Sep 17 00:00:00 2001 From: Gerry Manoim Date: Tue, 28 Jul 2020 11:32:06 -0400 Subject: [PATCH 02/49] bad indent --- .github/workflows/ci.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 6db4999fa5..0bc20b264b 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -17,7 +17,7 @@ jobs: matrix: os: [ubuntu-latest] python-version: [3.5] - steps: + steps: - uses: actions/checkout@v2 with: submodules: 'recursive' From 4f0eb58e44a686ee96e4e6399076fc9e5ce5741f Mon Sep 17 00:00:00 2001 From: Gerry Manoim Date: Tue, 28 Jul 2020 12:01:25 -0400 Subject: [PATCH 03/49] try TA lib --- .github/workflows/ci.yaml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 0bc20b264b..678209aa3a 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -25,6 +25,15 @@ jobs: uses: actions/setup-python@v2.1.1 with: python-version: ${{ matrix.python-version }} + - name: Install TA lib (ubuntu) + if: startsWith(matrix.os, 'ubuntu') + run: | + wget https://s3.amazonaws.com/quantopian-orchestration/packages/ta-lib-0.4.0-src.tar.gz + tar xvfz ta-lib-0.4.0-src.tar.gz + cd ta-lib + ./configure + make + sudo make install # TODO: set up pip cache - name: Install requirements run: | From 33a4b576b52a82f7c0bd1de6ecab14837a3dcf47 Mon Sep 17 00:00:00 2001 From: Gerry Manoim Date: Tue, 28 Jul 2020 12:19:36 -0400 Subject: [PATCH 04/49] try macos ta-lib as well --- .github/workflows/ci.yaml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 678209aa3a..014478a688 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -15,7 +15,7 @@ jobs: strategy: fail-fast: false matrix: - os: [ubuntu-latest] + os: [ubuntu-latest, macos-latest] python-version: [3.5] steps: - uses: actions/checkout@v2 @@ -34,6 +34,10 @@ jobs: ./configure make sudo make install + - name: Install TA lib (ubuntu) + if: startsWith(matrix.os, 'macos') + run: | + brew install ta-lib # TODO: set up pip cache - name: Install requirements run: | From e4113fd07cf36489fd9480d4530938634e359811 Mon Sep 17 00:00:00 2001 From: Gerry Manoim Date: Tue, 28 Jul 2020 12:34:39 -0400 Subject: [PATCH 05/49] try ldconfig --- .github/workflows/ci.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 014478a688..dea9246647 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -34,7 +34,8 @@ jobs: ./configure make sudo make install - - name: Install TA lib (ubuntu) + ldconfig + - name: Install TA lib (macOS) if: startsWith(matrix.os, 'macos') run: | brew install ta-lib From d6b218427a02dbc19f804a578fcc6f1c6394fc05 Mon Sep 17 00:00:00 2001 From: Gerry Manoim Date: Tue, 28 Jul 2020 12:37:25 -0400 Subject: [PATCH 06/49] sudo --- .github/workflows/ci.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index dea9246647..36eb6c4c3a 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -34,7 +34,7 @@ jobs: ./configure make sudo make install - ldconfig + sudo ldconfig - name: Install TA lib (macOS) if: startsWith(matrix.os, 'macos') run: | From ac8643c574abec66854c8d89e9aec0e9c89efe77 Mon Sep 17 00:00:00 2001 From: Gerry Manoim Date: Tue, 28 Jul 2020 12:54:48 -0400 Subject: [PATCH 07/49] pip cache --- .github/workflows/ci.yaml | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 36eb6c4c3a..cbc26d7990 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -39,7 +39,17 @@ jobs: if: startsWith(matrix.os, 'macos') run: | brew install ta-lib - # TODO: set up pip cache + - name: Get pip cache dir + id: pip-cache + run: | + echo "::set-output name=dir::$(pip cache dir)" + - name: pip cache + uses: actions/cache@v2 + with: + path: ${{ steps.pip-cache.outputs.dir }} + key: ${{ runner.os }}-pip-${{ hashFiles('etc/requirements_locked.txt') }} + restore-keys: | + ${{ runner.os }}-pip- - name: Install requirements run: | python -m pip install -r etc/requirements_build.in -c etc/requirements_locked.txt From 6655822f32b14096de04e73f30448fa68176d2b7 Mon Sep 17 00:00:00 2001 From: Gerry Manoim Date: Tue, 28 Jul 2020 13:32:52 -0400 Subject: [PATCH 08/49] let's try windows --- .github/workflows/ci.yaml | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index cbc26d7990..6a30abd2dd 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -15,7 +15,7 @@ jobs: strategy: fail-fast: false matrix: - os: [ubuntu-latest, macos-latest] + os: [ubuntu-latest, macos-latest, windows-latest] python-version: [3.5] steps: - uses: actions/checkout@v2 @@ -39,6 +39,13 @@ jobs: if: startsWith(matrix.os, 'macos') run: | brew install ta-lib + - name: Install TA lib (windows) + if: startsWith(matrix.os, 'windows') + run: | + (New-Object Net.WebClient).DownloadFile('http://prdownloads.sourceforge.net/ta-lib/ta-lib-0.4.0-msvc.zip', 'ta-lib-0.4.0-msvc.zip') + Add-Type -AssemblyName System.IO.Compression.FileSystem;[System.IO.Compression.ZipFile]::ExtractToDirectory('ta-lib-0.4.0-msvc.zip', 'C:\') + cd C:\ta-lib\c\make\cdr\win32\msvc + nmake - name: Get pip cache dir id: pip-cache run: | From 743ce623538593ee73628887b10348eba05e2c0f Mon Sep 17 00:00:00 2001 From: Gerry Manoim Date: Tue, 28 Jul 2020 13:37:14 -0400 Subject: [PATCH 09/49] namke? --- .github/workflows/ci.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 6a30abd2dd..bf238a5a25 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -40,6 +40,7 @@ jobs: run: | brew install ta-lib - name: Install TA lib (windows) + uses: ilammy/msvc-dev-cmd@v1 if: startsWith(matrix.os, 'windows') run: | (New-Object Net.WebClient).DownloadFile('http://prdownloads.sourceforge.net/ta-lib/ta-lib-0.4.0-msvc.zip', 'ta-lib-0.4.0-msvc.zip') From bf3287776a48ac913c5f48f384fad18a5048c827 Mon Sep 17 00:00:00 2001 From: Gerry Manoim Date: Tue, 28 Jul 2020 13:39:47 -0400 Subject: [PATCH 10/49] namke --- .github/workflows/ci.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index bf238a5a25..0858ac86d5 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -39,8 +39,8 @@ jobs: if: startsWith(matrix.os, 'macos') run: | brew install ta-lib + - uses: ilammy/msvc-dev-cmd@v1 - name: Install TA lib (windows) - uses: ilammy/msvc-dev-cmd@v1 if: startsWith(matrix.os, 'windows') run: | (New-Object Net.WebClient).DownloadFile('http://prdownloads.sourceforge.net/ta-lib/ta-lib-0.4.0-msvc.zip', 'ta-lib-0.4.0-msvc.zip') From 917428313a498f4833e9280e796fc84eb0b14aa9 Mon Sep 17 00:00:00 2001 From: Gerry Manoim Date: Tue, 28 Jul 2020 13:45:55 -0400 Subject: [PATCH 11/49] turn on fail-fast while I work on windows --- .github/workflows/ci.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 0858ac86d5..bacf752ffd 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -13,7 +13,7 @@ jobs: runs-on: ${{ matrix.os }} strategy: - fail-fast: false + fail-fast: true matrix: os: [ubuntu-latest, macos-latest, windows-latest] python-version: [3.5] From 2f8813496da624f990df1368fcf600138bcc7c0d Mon Sep 17 00:00:00 2001 From: Gerry Manoim Date: Fri, 7 Aug 2020 10:19:26 -0400 Subject: [PATCH 12/49] add 3.6, remove windows --- .github/workflows/ci.yaml | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index bacf752ffd..b16fd6d714 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -15,8 +15,8 @@ jobs: strategy: fail-fast: true matrix: - os: [ubuntu-latest, macos-latest, windows-latest] - python-version: [3.5] + os: [ubuntu-latest, macos-latest] + python-version: [3.5, 3.6] steps: - uses: actions/checkout@v2 with: @@ -39,14 +39,6 @@ jobs: if: startsWith(matrix.os, 'macos') run: | brew install ta-lib - - uses: ilammy/msvc-dev-cmd@v1 - - name: Install TA lib (windows) - if: startsWith(matrix.os, 'windows') - run: | - (New-Object Net.WebClient).DownloadFile('http://prdownloads.sourceforge.net/ta-lib/ta-lib-0.4.0-msvc.zip', 'ta-lib-0.4.0-msvc.zip') - Add-Type -AssemblyName System.IO.Compression.FileSystem;[System.IO.Compression.ZipFile]::ExtractToDirectory('ta-lib-0.4.0-msvc.zip', 'C:\') - cd C:\ta-lib\c\make\cdr\win32\msvc - nmake - name: Get pip cache dir id: pip-cache run: | From f980bbfc542b28e70f3783d67e7eeb95bebb357a Mon Sep 17 00:00:00 2001 From: Gerry Manoim Date: Fri, 7 Aug 2020 10:33:00 -0400 Subject: [PATCH 13/49] remove failiong fast --- .github/workflows/ci.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index b16fd6d714..0597534b99 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -13,7 +13,7 @@ jobs: runs-on: ${{ matrix.os }} strategy: - fail-fast: true + fail-fast: false matrix: os: [ubuntu-latest, macos-latest] python-version: [3.5, 3.6] From 4b56539041ec60ebe0564b046a5c324b5e8de086 Mon Sep 17 00:00:00 2001 From: Gerry Manoim Date: Fri, 7 Aug 2020 11:46:24 -0400 Subject: [PATCH 14/49] new requirements for p36 --- .github/workflows/ci.yaml | 16 +++-- etc/requirements.in | 2 +- etc/requirements_blaze.in | 2 +- etc/requirements_py36_locked.txt | 109 +++++++++++++++++++++++++++++++ 4 files changed, 123 insertions(+), 6 deletions(-) create mode 100644 etc/requirements_py36_locked.txt diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 0597534b99..f3ff3ccfda 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -1,4 +1,4 @@ -name: Zipline CI +name: Zipline CI (Unbutnu/macOS Using Pip) on: push: @@ -39,6 +39,14 @@ jobs: if: startsWith(matrix.os, 'macos') run: | brew install ta-lib + - name: Set Lockfile py 35 + if: maxtrix.python_version == 3.5 + run: | + echo ::set-env name=PIP_CONSTRAINT::etc/requirements_locked.txt + - name: Set Lockfile py36 + if: maxtrix.python_version == 3.6 + run: | + echo ::set-env name=PIP_CONSTRAINT::etc/requirements_py36_locked.txt - name: Get pip cache dir id: pip-cache run: | @@ -47,13 +55,13 @@ jobs: uses: actions/cache@v2 with: path: ${{ steps.pip-cache.outputs.dir }} - key: ${{ runner.os }}-pip-${{ hashFiles('etc/requirements_locked.txt') }} + key: ${{ runner.os }}-pip-${{ hashFiles('$PIP_CONSTRAINT') }} restore-keys: | ${{ runner.os }}-pip- - name: Install requirements run: | - python -m pip install -r etc/requirements_build.in -c etc/requirements_locked.txt - python -m pip install --no-binary=bcolz -e .[all] -r etc/requirements_blaze.in -c etc/requirements_locked.txt + python -m pip install -r etc/requirements_build.in + python -m pip install --no-binary=bcolz -e .[all] -r etc/requirements_blaze.in - name: Run tests run: | nosetests tests diff --git a/etc/requirements.in b/etc/requirements.in index 402d8a23ad..6e49732879 100644 --- a/etc/requirements.in +++ b/etc/requirements.in @@ -19,7 +19,7 @@ toolz>=0.8.2 # Scientific Libraries numpy>=1.11.3 pandas>=0.18.1,<=0.22 -pandas-datareader>=0.2.1 +pandas-datareader>=0.2.1,<0.9.0 scipy>=0.17.1 # Needed for parts of pandas.stats patsy>=0.4.0 diff --git a/etc/requirements_blaze.in b/etc/requirements_blaze.in index 68c8858c83..d62d161669 100644 --- a/etc/requirements_blaze.in +++ b/etc/requirements_blaze.in @@ -1,5 +1,5 @@ -e git://github.com/quantopian/blaze.git@f26375a6708eab85b7acc7869d6c518df2f974eb#egg=blaze -dask[dataframe]>=0.13.0 +dask[dataframe]>=0.13.0,<2.11.0 -e git://github.com/quantopian/datashape.git@cae16a85406ca4302ff1f985b74a3809be0a83a1#egg=datashape -e git://github.com/quantopian/odo.git@ba84238eb8dbcac4784ae7ebf62988d7e163c283#egg=odo diff --git a/etc/requirements_py36_locked.txt b/etc/requirements_py36_locked.txt new file mode 100644 index 0000000000..c7e6f35f39 --- /dev/null +++ b/etc/requirements_py36_locked.txt @@ -0,0 +1,109 @@ +# +# This file is autogenerated by pip-compile +# To update, run: +# +# pip-compile --no-index --output-file=etc/requirements_py36_locked.txt etc/requirements.in etc/requirements_blaze.in etc/requirements_build.in etc/requirements_dev.in etc/requirements_docs.in etc/requirements_talib.in +# +-e git+git://github.com/quantopian/blaze.git@f26375a6708eab85b7acc7869d6c518df2f974eb#egg=blaze # via -r etc/requirements_blaze.in +-e git+git://github.com/quantopian/datashape.git@cae16a85406ca4302ff1f985b74a3809be0a83a1#egg=datashape # via -r etc/requirements_blaze.in, odo +-e git+git://github.com/quantopian/odo.git@ba84238eb8dbcac4784ae7ebf62988d7e163c283#egg=odo # via -r etc/requirements_blaze.in, blaze +alabaster==0.7.12 # via sphinx +alembic==1.4.2 # via -r etc/requirements.in +argh==0.26.2 # via sphinx-autobuild +babel==2.8.0 # via sphinx +bcolz==1.2.1 # via -r etc/requirements.in +bottleneck==1.3.2 # via -r etc/requirements.in +certifi==2020.6.20 # via requests +chardet==3.0.4 # via requests +click==7.1.2 # via -r etc/requirements.in, flask, pip-tools +contextlib2==0.6.0.post1 # via -r etc/requirements.in +coverage==5.2.1 # via -r etc/requirements_dev.in +cycler==0.10.0 # via matplotlib +cython==0.29.21 # via -r etc/requirements_build.in +cytoolz==0.10.1 # via -r etc/requirements_blaze.in +dask[dataframe]==2.10.1 # via -r etc/requirements_blaze.in, blaze, odo +decorator==4.4.2 # via networkx +docutils==0.16 # via sphinx +empyrical==0.5.3 # via -r etc/requirements.in +flake8==3.8.3 # via -r etc/requirements_dev.in +flask-cors==3.0.8 # via blaze +flask==1.1.2 # via blaze, flask-cors +fsspec==0.8.0 # via dask +h5py==2.10.0 # via -r etc/requirements.in +idna==2.10 # via requests +imagesize==1.2.0 # via sphinx +importlib-metadata==1.7.0 # via flake8 +intervaltree==3.1.0 # via -r etc/requirements.in +iso3166==1.0.1 # via -r etc/requirements.in +iso4217==1.6.20180829 # via -r etc/requirements.in +itsdangerous==1.1.0 # via flask +jinja2==2.11.2 # via flask, numpydoc, sphinx +kiwisolver==1.2.0 # via matplotlib +livereload==2.6.2 # via sphinx-autobuild +locket==0.2.0 # via partd +logbook==1.5.3 # via -r etc/requirements.in +lru-dict==1.1.6 # via -r etc/requirements.in +lxml==4.5.2 # via pandas-datareader +mako==1.1.3 # via alembic +markupsafe==1.1.1 # via jinja2, mako +matplotlib==3.3.0 # via -r etc/requirements_dev.in +mccabe==0.6.1 # via flake8 +mock==4.0.2 # via -r etc/requirements_dev.in +multipledispatch==0.6.0 # via -r etc/requirements.in, datashape, odo +networkx==1.11 # via -r etc/requirements.in, odo +nose-ignore-docstring==0.2 # via -r etc/requirements_dev.in +nose-parameterized==0.6.0 # via -r etc/requirements_dev.in +nose-timer==1.0.0 # via -r etc/requirements_dev.in +nose==1.3.7 # via -r etc/requirements_dev.in, nose-timer +numexpr==2.7.1 # via -r etc/requirements.in, tables +numpy==1.19.1 # via -r etc/requirements.in, -r etc/requirements_build.in, bcolz, bottleneck, dask, datashape, empyrical, h5py, matplotlib, numexpr, odo, pandas, patsy, scipy, statsmodels, ta-lib, tables, trading-calendars +numpydoc==1.1.0 # via -r etc/requirements_docs.in +packaging==20.4 # via sphinx +pandas-datareader==0.8.1 # via -r etc/requirements.in, empyrical +pandas==0.22.0 # via -r etc/requirements.in, dask, empyrical, odo, pandas-datareader, statsmodels, trading-calendars +partd==1.1.0 # via dask +pathtools==0.1.2 # via sphinx-autobuild, watchdog +patsy==0.5.1 # via -r etc/requirements.in, statsmodels +pillow==7.2.0 # via matplotlib +pip-tools==5.3.1 # via -r etc/requirements_dev.in +port_for==0.3.1 # via sphinx-autobuild +psutil==5.7.2 # via blaze +pycodestyle==2.6.0 # via flake8 +pyflakes==2.2.0 # via flake8 +pygments==2.6.1 # via sphinx +pyparsing==2.4.7 # via matplotlib, packaging +python-dateutil==2.8.1 # via alembic, datashape, matplotlib, pandas +python-editor==1.0.4 # via alembic +python-interface==1.6.0 # via -r etc/requirements.in +pytz==2020.1 # via -r etc/requirements.in, babel, pandas, trading-calendars +pyyaml==5.3.1 # via sphinx-autobuild +requests==2.24.0 # via -r etc/requirements.in, pandas-datareader, responses, sphinx +responses==0.10.15 # via -r etc/requirements_dev.in +scipy==1.5.2 # via -r etc/requirements.in, empyrical, statsmodels +six==1.15.0 # via -r etc/requirements.in, cycler, flask-cors, h5py, livereload, multipledispatch, packaging, patsy, pip-tools, python-dateutil, python-interface, responses +snowballstemmer==2.0.0 # via sphinx +sortedcontainers==2.2.2 # via intervaltree +sphinx-autobuild==0.7.1 # via -r etc/requirements_docs.in +sphinx==3.1.2 # via -r etc/requirements_docs.in, numpydoc +sphinxcontrib-applehelp==1.0.2 # via sphinx +sphinxcontrib-devhelp==1.0.2 # via sphinx +sphinxcontrib-htmlhelp==1.0.3 # via sphinx +sphinxcontrib-jsmath==1.0.1 # via sphinx +sphinxcontrib-qthelp==1.0.3 # via sphinx +sphinxcontrib-serializinghtml==1.1.4 # via sphinx +sqlalchemy==1.3.18 # via -r etc/requirements.in, alembic, blaze +statsmodels==0.11.1 # via -r etc/requirements.in +ta-lib==0.4.18 # via -r etc/requirements_talib.in +tables==3.6.1 # via -r etc/requirements.in +testfixtures==6.14.1 # via -r etc/requirements_dev.in +toolz==0.10.0 # via -r etc/requirements.in, blaze, cytoolz, dask, odo, partd, trading-calendars +tornado==6.0.4 # via livereload, sphinx-autobuild +trading-calendars==1.11.8 # via -r etc/requirements.in +urllib3==1.25.10 # via requests +watchdog==0.10.3 # via sphinx-autobuild +werkzeug==1.0.1 # via flask +zipp==3.1.0 # via importlib-metadata + +# The following packages are considered to be unsafe in a requirements file: +# pip +# setuptools From df53d2e9dcae23ebde58154fe2dd4dc73ad9b190 Mon Sep 17 00:00:00 2001 From: Gerry Manoim Date: Fri, 7 Aug 2020 11:55:23 -0400 Subject: [PATCH 15/49] spelling --- .github/workflows/ci.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index f3ff3ccfda..5d22ff0c21 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -40,11 +40,11 @@ jobs: run: | brew install ta-lib - name: Set Lockfile py 35 - if: maxtrix.python_version == 3.5 + if: matrix.python_version == 3.5 run: | echo ::set-env name=PIP_CONSTRAINT::etc/requirements_locked.txt - name: Set Lockfile py36 - if: maxtrix.python_version == 3.6 + if: matrix.python_version == 3.6 run: | echo ::set-env name=PIP_CONSTRAINT::etc/requirements_py36_locked.txt - name: Get pip cache dir From 27167002cc48ac04e0c80e093cac1ec5eaf7a4c0 Mon Sep 17 00:00:00 2001 From: Gerry Manoim Date: Fri, 7 Aug 2020 11:59:09 -0400 Subject: [PATCH 16/49] fix version check --- .github/workflows/ci.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 5d22ff0c21..fd9b2336a7 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -40,11 +40,11 @@ jobs: run: | brew install ta-lib - name: Set Lockfile py 35 - if: matrix.python_version == 3.5 + if: matrix.python-version == 3.5 run: | echo ::set-env name=PIP_CONSTRAINT::etc/requirements_locked.txt - name: Set Lockfile py36 - if: matrix.python_version == 3.6 + if: matrix.python-version == 3.6 run: | echo ::set-env name=PIP_CONSTRAINT::etc/requirements_py36_locked.txt - name: Get pip cache dir From ef708f0550ae50415f7a117f37dd3d609e16969d Mon Sep 17 00:00:00 2001 From: Gerry Manoim Date: Fri, 7 Aug 2020 12:47:57 -0400 Subject: [PATCH 17/49] add windows, try to simplify install? --- .github/workflows/ci.yaml | 2 +- .github/workflows/windows_ci.yml | 47 ++++++++++++++++++++++++++++++++ 2 files changed, 48 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/windows_ci.yml diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index fd9b2336a7..89cdfb9090 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -61,7 +61,7 @@ jobs: - name: Install requirements run: | python -m pip install -r etc/requirements_build.in - python -m pip install --no-binary=bcolz -e .[all] -r etc/requirements_blaze.in + python -m pip install --no-binary=bcolz -e .[all] - name: Run tests run: | nosetests tests diff --git a/.github/workflows/windows_ci.yml b/.github/workflows/windows_ci.yml new file mode 100644 index 0000000000..618bd80638 --- /dev/null +++ b/.github/workflows/windows_ci.yml @@ -0,0 +1,47 @@ +name: Zipline CI (Unbutnu/macOS Using Pip) + +on: + push: + branches: + - master + pull_request: + branches: + - master + +jobs: + build-and-test: + + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + os: [windows-latest] + python-version: [3.6] + steps: + - uses: actions/checkout@v2 + with: + submodules: 'recursive' + - uses: goanpeca/setup-miniconda@v1 + with: + auto-update-conda: true + python-version: ${{ matrix.python-version }} + - name: pip cache + uses: actions/cache@v2 + with: + path: ${{ steps.pip-cache.outputs.dir }} + key: ${{ runner.os }}-pip-${{ hashFiles('etc/requirements_py36_locked.txt') }} + restore-keys: | + ${{ runner.os }}-pip- + # - name: Install requirements + # run: | + # python -m pip install -r etc/requirements_build.in -c etc/requirements_locked.txt + + - name: Install requirements + run: | + conda install -y pandas==0.22.0 numpy==1.19.1 scipy==1.5.2 cython==0.29.21 + conda install -c quantopian ta-lib + pip install --no-binary=bcolz -e .[all] -c etc/requirements_py36_locked.txt + + - name: Run tests + run: | + nosetests tests From 13e8485bce5b1e9b98d92a4432876001294885e0 Mon Sep 17 00:00:00 2001 From: Gerry Manoim Date: Fri, 7 Aug 2020 12:48:46 -0400 Subject: [PATCH 18/49] fix the name --- .github/workflows/windows_ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/windows_ci.yml b/.github/workflows/windows_ci.yml index 618bd80638..a7830f79c8 100644 --- a/.github/workflows/windows_ci.yml +++ b/.github/workflows/windows_ci.yml @@ -1,4 +1,4 @@ -name: Zipline CI (Unbutnu/macOS Using Pip) +name: Zipline CI (Windows) on: push: From 3799554e1c80a19e63290e8257dd65660e9eba0e Mon Sep 17 00:00:00 2001 From: Gerry Manoim Date: Fri, 7 Aug 2020 12:53:56 -0400 Subject: [PATCH 19/49] ignore cache for now --- .github/workflows/windows_ci.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/windows_ci.yml b/.github/workflows/windows_ci.yml index a7830f79c8..6711b69fb8 100644 --- a/.github/workflows/windows_ci.yml +++ b/.github/workflows/windows_ci.yml @@ -25,13 +25,13 @@ jobs: with: auto-update-conda: true python-version: ${{ matrix.python-version }} - - name: pip cache - uses: actions/cache@v2 - with: - path: ${{ steps.pip-cache.outputs.dir }} - key: ${{ runner.os }}-pip-${{ hashFiles('etc/requirements_py36_locked.txt') }} - restore-keys: | - ${{ runner.os }}-pip- + # - name: pip cache + # uses: actions/cache@v2 + # with: + # path: ${{ steps.pip-cache.outputs.dir }} + # key: ${{ runner.os }}-pip-${{ hashFiles('etc/requirements_py36_locked.txt') }} + # restore-keys: | + # ${{ runner.os }}-pip- # - name: Install requirements # run: | # python -m pip install -r etc/requirements_build.in -c etc/requirements_locked.txt From 7257c49d7b6bae09c6e8e539f76ec6dbd591f1ac Mon Sep 17 00:00:00 2001 From: Gerry Manoim Date: Fri, 7 Aug 2020 13:04:26 -0400 Subject: [PATCH 20/49] fix scipy version --- .github/workflows/windows_ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/windows_ci.yml b/.github/workflows/windows_ci.yml index 6711b69fb8..4b1a1da0dd 100644 --- a/.github/workflows/windows_ci.yml +++ b/.github/workflows/windows_ci.yml @@ -38,7 +38,7 @@ jobs: - name: Install requirements run: | - conda install -y pandas==0.22.0 numpy==1.19.1 scipy==1.5.2 cython==0.29.21 + conda install -y pandas==0.22.0 numpy==1.19.1 scipy==1.5.0 cython==0.29.21 conda install -c quantopian ta-lib pip install --no-binary=bcolz -e .[all] -c etc/requirements_py36_locked.txt From ada7b2058390b9e1770180548bd80a0e5d242d37 Mon Sep 17 00:00:00 2001 From: Gerry Manoim Date: Fri, 7 Aug 2020 13:19:54 -0400 Subject: [PATCH 21/49] try installing ta-lib first --- .github/workflows/windows_ci.yml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/.github/workflows/windows_ci.yml b/.github/workflows/windows_ci.yml index 4b1a1da0dd..0c6cdb0b77 100644 --- a/.github/workflows/windows_ci.yml +++ b/.github/workflows/windows_ci.yml @@ -35,7 +35,13 @@ jobs: # - name: Install requirements # run: | # python -m pip install -r etc/requirements_build.in -c etc/requirements_locked.txt - + - uses: ilammy/msvc-dev-cmd@v1 + - name: Install TA lib + run: | + (New-Object Net.WebClient).DownloadFile('http://prdownloads.sourceforge.net/ta-lib/ta-lib-0.4.0-msvc.zip', 'ta-lib-0.4.0-msvc.zip') + Add-Type -AssemblyName System.IO.Compression.FileSystem;[System.IO.Compression.ZipFile]::ExtractToDirectory('ta-lib-0.4.0-msvc.zip', 'C:\') + cd C:\ta-lib\c\make\cdr\win32\msvc + nmake - name: Install requirements run: | conda install -y pandas==0.22.0 numpy==1.19.1 scipy==1.5.0 cython==0.29.21 From 799fcde409b0d136cae95c1c2745c103a4db9e73 Mon Sep 17 00:00:00 2001 From: Gerry Manoim Date: Fri, 7 Aug 2020 13:38:59 -0400 Subject: [PATCH 22/49] try reordering everything --- .github/workflows/windows_ci.yml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/.github/workflows/windows_ci.yml b/.github/workflows/windows_ci.yml index 0c6cdb0b77..83d37429cd 100644 --- a/.github/workflows/windows_ci.yml +++ b/.github/workflows/windows_ci.yml @@ -36,16 +36,18 @@ jobs: # run: | # python -m pip install -r etc/requirements_build.in -c etc/requirements_locked.txt - uses: ilammy/msvc-dev-cmd@v1 + - name: Install scientific python requirements + run: | + conda install -y pandas==0.22.0 numpy==1.19.1 scipy==1.5.0 cython==0.29.21 - name: Install TA lib run: | (New-Object Net.WebClient).DownloadFile('http://prdownloads.sourceforge.net/ta-lib/ta-lib-0.4.0-msvc.zip', 'ta-lib-0.4.0-msvc.zip') Add-Type -AssemblyName System.IO.Compression.FileSystem;[System.IO.Compression.ZipFile]::ExtractToDirectory('ta-lib-0.4.0-msvc.zip', 'C:\') cd C:\ta-lib\c\make\cdr\win32\msvc nmake - - name: Install requirements - run: | - conda install -y pandas==0.22.0 numpy==1.19.1 scipy==1.5.0 cython==0.29.21 conda install -c quantopian ta-lib + - name: Install other requirements + run: | pip install --no-binary=bcolz -e .[all] -c etc/requirements_py36_locked.txt - name: Run tests From 80a57b340c6597111ff4b7ad85baf64820d1a076 Mon Sep 17 00:00:00 2001 From: Gerry Manoim Date: Fri, 7 Aug 2020 13:39:45 -0400 Subject: [PATCH 23/49] increase verbosity --- .github/workflows/windows_ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/windows_ci.yml b/.github/workflows/windows_ci.yml index 83d37429cd..c25b73be26 100644 --- a/.github/workflows/windows_ci.yml +++ b/.github/workflows/windows_ci.yml @@ -38,14 +38,14 @@ jobs: - uses: ilammy/msvc-dev-cmd@v1 - name: Install scientific python requirements run: | - conda install -y pandas==0.22.0 numpy==1.19.1 scipy==1.5.0 cython==0.29.21 + conda install -y -vv pandas==0.22.0 numpy==1.19.1 scipy==1.5.0 cython==0.29.21 - name: Install TA lib run: | (New-Object Net.WebClient).DownloadFile('http://prdownloads.sourceforge.net/ta-lib/ta-lib-0.4.0-msvc.zip', 'ta-lib-0.4.0-msvc.zip') Add-Type -AssemblyName System.IO.Compression.FileSystem;[System.IO.Compression.ZipFile]::ExtractToDirectory('ta-lib-0.4.0-msvc.zip', 'C:\') cd C:\ta-lib\c\make\cdr\win32\msvc nmake - conda install -c quantopian ta-lib + conda install -c quantopian -vv ta-lib - name: Install other requirements run: | pip install --no-binary=bcolz -e .[all] -c etc/requirements_py36_locked.txt From 31753e287d51e97d8beb7c7836d754bb7f4edb12 Mon Sep 17 00:00:00 2001 From: Gerry Manoim Date: Fri, 7 Aug 2020 13:44:54 -0400 Subject: [PATCH 24/49] install ta-lib with pip --- .github/workflows/windows_ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/windows_ci.yml b/.github/workflows/windows_ci.yml index c25b73be26..4d802c44c3 100644 --- a/.github/workflows/windows_ci.yml +++ b/.github/workflows/windows_ci.yml @@ -45,7 +45,7 @@ jobs: Add-Type -AssemblyName System.IO.Compression.FileSystem;[System.IO.Compression.ZipFile]::ExtractToDirectory('ta-lib-0.4.0-msvc.zip', 'C:\') cd C:\ta-lib\c\make\cdr\win32\msvc nmake - conda install -c quantopian -vv ta-lib + pip install ta-lib - name: Install other requirements run: | pip install --no-binary=bcolz -e .[all] -c etc/requirements_py36_locked.txt From b7159d0cd0319bb4e7d7b2dffabfa6df1607d4be Mon Sep 17 00:00:00 2001 From: Gerry Manoim Date: Fri, 7 Aug 2020 13:50:24 -0400 Subject: [PATCH 25/49] reorder --- .github/workflows/windows_ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/windows_ci.yml b/.github/workflows/windows_ci.yml index 4d802c44c3..d22c3e93ad 100644 --- a/.github/workflows/windows_ci.yml +++ b/.github/workflows/windows_ci.yml @@ -35,10 +35,10 @@ jobs: # - name: Install requirements # run: | # python -m pip install -r etc/requirements_build.in -c etc/requirements_locked.txt - - uses: ilammy/msvc-dev-cmd@v1 - name: Install scientific python requirements run: | conda install -y -vv pandas==0.22.0 numpy==1.19.1 scipy==1.5.0 cython==0.29.21 + - uses: ilammy/msvc-dev-cmd@v1 - name: Install TA lib run: | (New-Object Net.WebClient).DownloadFile('http://prdownloads.sourceforge.net/ta-lib/ta-lib-0.4.0-msvc.zip', 'ta-lib-0.4.0-msvc.zip') From b4750dede95e2c7eaca3ee1fdccbf8ad71555e18 Mon Sep 17 00:00:00 2001 From: Gerry Manoim Date: Fri, 7 Aug 2020 14:01:07 -0400 Subject: [PATCH 26/49] turn up verbosity? --- .github/workflows/windows_ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/windows_ci.yml b/.github/workflows/windows_ci.yml index d22c3e93ad..853e01e29b 100644 --- a/.github/workflows/windows_ci.yml +++ b/.github/workflows/windows_ci.yml @@ -52,4 +52,4 @@ jobs: - name: Run tests run: | - nosetests tests + nosetests -vv tests From 6056b8bd7779ff921e207f4b26a29cdaa4004349 Mon Sep 17 00:00:00 2001 From: Gerry Manoim Date: Fri, 7 Aug 2020 14:05:56 -0400 Subject: [PATCH 27/49] try installed conda --- .github/workflows/windows_ci.yml | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/.github/workflows/windows_ci.yml b/.github/workflows/windows_ci.yml index 853e01e29b..2362f83607 100644 --- a/.github/workflows/windows_ci.yml +++ b/.github/workflows/windows_ci.yml @@ -21,10 +21,6 @@ jobs: - uses: actions/checkout@v2 with: submodules: 'recursive' - - uses: goanpeca/setup-miniconda@v1 - with: - auto-update-conda: true - python-version: ${{ matrix.python-version }} # - name: pip cache # uses: actions/cache@v2 # with: @@ -37,7 +33,7 @@ jobs: # python -m pip install -r etc/requirements_build.in -c etc/requirements_locked.txt - name: Install scientific python requirements run: | - conda install -y -vv pandas==0.22.0 numpy==1.19.1 scipy==1.5.0 cython==0.29.21 + conda create --name test python={{matrix.python-version}} -y -vv pandas==0.22.0 numpy==1.19.1 scipy==1.5.0 cython==0.29.21 - uses: ilammy/msvc-dev-cmd@v1 - name: Install TA lib run: | From b0a8e8f0c5ca807bc54dda560390e15e905c874e Mon Sep 17 00:00:00 2001 From: Gerry Manoim Date: Fri, 7 Aug 2020 14:06:17 -0400 Subject: [PATCH 28/49] try installed conda --- .github/workflows/windows_ci.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/windows_ci.yml b/.github/workflows/windows_ci.yml index 2362f83607..be3ce4b04a 100644 --- a/.github/workflows/windows_ci.yml +++ b/.github/workflows/windows_ci.yml @@ -34,6 +34,7 @@ jobs: - name: Install scientific python requirements run: | conda create --name test python={{matrix.python-version}} -y -vv pandas==0.22.0 numpy==1.19.1 scipy==1.5.0 cython==0.29.21 + conda activate test - uses: ilammy/msvc-dev-cmd@v1 - name: Install TA lib run: | From b1b3e7443b7d237ed98772035b5c5841cc6c4841 Mon Sep 17 00:00:00 2001 From: Gerry Manoim Date: Fri, 7 Aug 2020 14:14:44 -0400 Subject: [PATCH 29/49] try powershell init --- .github/workflows/windows_ci.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/windows_ci.yml b/.github/workflows/windows_ci.yml index be3ce4b04a..03cfe987e9 100644 --- a/.github/workflows/windows_ci.yml +++ b/.github/workflows/windows_ci.yml @@ -31,6 +31,9 @@ jobs: # - name: Install requirements # run: | # python -m pip install -r etc/requirements_build.in -c etc/requirements_locked.txt + - name: Init Conda in Powershell + run: | + C:\Miniconda\condabin\conda.bat init powershell - name: Install scientific python requirements run: | conda create --name test python={{matrix.python-version}} -y -vv pandas==0.22.0 numpy==1.19.1 scipy==1.5.0 cython==0.29.21 From 8d406a116c1b8028774a98e4f3a6415db6b86624 Mon Sep 17 00:00:00 2001 From: Gerry Manoim Date: Fri, 7 Aug 2020 14:17:15 -0400 Subject: [PATCH 30/49] fix context --- .github/workflows/windows_ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/windows_ci.yml b/.github/workflows/windows_ci.yml index 03cfe987e9..88117ecc5e 100644 --- a/.github/workflows/windows_ci.yml +++ b/.github/workflows/windows_ci.yml @@ -36,7 +36,7 @@ jobs: C:\Miniconda\condabin\conda.bat init powershell - name: Install scientific python requirements run: | - conda create --name test python={{matrix.python-version}} -y -vv pandas==0.22.0 numpy==1.19.1 scipy==1.5.0 cython==0.29.21 + conda create --name test python=${{matrix.python-version}} -y -vv pandas==0.22.0 numpy==1.19.1 scipy==1.5.0 cython==0.29.21 conda activate test - uses: ilammy/msvc-dev-cmd@v1 - name: Install TA lib From c053ac149755194b6309cf93ecffb8a29426dc1f Mon Sep 17 00:00:00 2001 From: Gerry Manoim Date: Fri, 7 Aug 2020 14:19:09 -0400 Subject: [PATCH 31/49] fix version specification syntax --- .github/workflows/windows_ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/windows_ci.yml b/.github/workflows/windows_ci.yml index 88117ecc5e..9bb4a4387d 100644 --- a/.github/workflows/windows_ci.yml +++ b/.github/workflows/windows_ci.yml @@ -36,7 +36,7 @@ jobs: C:\Miniconda\condabin\conda.bat init powershell - name: Install scientific python requirements run: | - conda create --name test python=${{matrix.python-version}} -y -vv pandas==0.22.0 numpy==1.19.1 scipy==1.5.0 cython==0.29.21 + conda create --name test python=${{matrix.python-version}} -y -vv pandas=0.22.0 numpy=1.19.1 scipy=1.5.0 cython=0.29.21 conda activate test - uses: ilammy/msvc-dev-cmd@v1 - name: Install TA lib From f33830c54b9f5e5f66822abea9d6ecb07a8a1c2b Mon Sep 17 00:00:00 2001 From: Gerry Manoim Date: Fri, 7 Aug 2020 14:23:07 -0400 Subject: [PATCH 32/49] fix up argument order --- .github/workflows/windows_ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/windows_ci.yml b/.github/workflows/windows_ci.yml index 9bb4a4387d..40651321de 100644 --- a/.github/workflows/windows_ci.yml +++ b/.github/workflows/windows_ci.yml @@ -36,7 +36,7 @@ jobs: C:\Miniconda\condabin\conda.bat init powershell - name: Install scientific python requirements run: | - conda create --name test python=${{matrix.python-version}} -y -vv pandas=0.22.0 numpy=1.19.1 scipy=1.5.0 cython=0.29.21 + conda create -y -vv --name test python=${{matrix.python-version}} pandas=0.22.0 numpy=1.19.1 scipy=1.5.0 cython=0.29.21 conda activate test - uses: ilammy/msvc-dev-cmd@v1 - name: Install TA lib From dda57e2022e13e26b94f69da9c6d9dd759115554 Mon Sep 17 00:00:00 2001 From: Gerry Manoim Date: Fri, 7 Aug 2020 14:37:02 -0400 Subject: [PATCH 33/49] make sure conda envs are activated? --- .github/workflows/windows_ci.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/windows_ci.yml b/.github/workflows/windows_ci.yml index 40651321de..5de9f16f6e 100644 --- a/.github/workflows/windows_ci.yml +++ b/.github/workflows/windows_ci.yml @@ -37,7 +37,6 @@ jobs: - name: Install scientific python requirements run: | conda create -y -vv --name test python=${{matrix.python-version}} pandas=0.22.0 numpy=1.19.1 scipy=1.5.0 cython=0.29.21 - conda activate test - uses: ilammy/msvc-dev-cmd@v1 - name: Install TA lib run: | @@ -45,9 +44,11 @@ jobs: Add-Type -AssemblyName System.IO.Compression.FileSystem;[System.IO.Compression.ZipFile]::ExtractToDirectory('ta-lib-0.4.0-msvc.zip', 'C:\') cd C:\ta-lib\c\make\cdr\win32\msvc nmake + conda activate test pip install ta-lib - name: Install other requirements run: | + conda activate test pip install --no-binary=bcolz -e .[all] -c etc/requirements_py36_locked.txt - name: Run tests From 104c29518e5ba548a58e9815f77a61969a8d38ef Mon Sep 17 00:00:00 2001 From: Gerry Manoim Date: Fri, 7 Aug 2020 14:37:48 -0400 Subject: [PATCH 34/49] make sure we install conda pip as well --- .github/workflows/windows_ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/windows_ci.yml b/.github/workflows/windows_ci.yml index 5de9f16f6e..ac3c1d443b 100644 --- a/.github/workflows/windows_ci.yml +++ b/.github/workflows/windows_ci.yml @@ -36,7 +36,7 @@ jobs: C:\Miniconda\condabin\conda.bat init powershell - name: Install scientific python requirements run: | - conda create -y -vv --name test python=${{matrix.python-version}} pandas=0.22.0 numpy=1.19.1 scipy=1.5.0 cython=0.29.21 + conda create -y -vv --name test python=${{matrix.python-version}} pip pandas=0.22.0 numpy=1.19.1 scipy=1.5.0 cython=0.29.21 - uses: ilammy/msvc-dev-cmd@v1 - name: Install TA lib run: | From be17757edf4919b151a64468e26714d8d55857c0 Mon Sep 17 00:00:00 2001 From: Gerry Manoim Date: Fri, 7 Aug 2020 14:49:05 -0400 Subject: [PATCH 35/49] another conda activate? --- .github/workflows/windows_ci.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/windows_ci.yml b/.github/workflows/windows_ci.yml index ac3c1d443b..6b3e4b4774 100644 --- a/.github/workflows/windows_ci.yml +++ b/.github/workflows/windows_ci.yml @@ -53,4 +53,5 @@ jobs: - name: Run tests run: | + conda activate test nosetests -vv tests From 50cda9bdaf4d8ca3c93001401a126edfc01759e1 Mon Sep 17 00:00:00 2001 From: Gerry Manoim Date: Fri, 7 Aug 2020 14:49:23 -0400 Subject: [PATCH 36/49] turn verbosity down --- .github/workflows/windows_ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/windows_ci.yml b/.github/workflows/windows_ci.yml index 6b3e4b4774..8511092658 100644 --- a/.github/workflows/windows_ci.yml +++ b/.github/workflows/windows_ci.yml @@ -36,7 +36,7 @@ jobs: C:\Miniconda\condabin\conda.bat init powershell - name: Install scientific python requirements run: | - conda create -y -vv --name test python=${{matrix.python-version}} pip pandas=0.22.0 numpy=1.19.1 scipy=1.5.0 cython=0.29.21 + conda create -y --name test python=${{matrix.python-version}} pip pandas=0.22.0 numpy=1.19.1 scipy=1.5.0 cython=0.29.21 - uses: ilammy/msvc-dev-cmd@v1 - name: Install TA lib run: | From 27fca9936c15953645bdf6e7ffaa9e4a4c5944b6 Mon Sep 17 00:00:00 2001 From: Gerry Manoim Date: Fri, 7 Aug 2020 15:04:31 -0400 Subject: [PATCH 37/49] set up dev env with conda? --- .github/workflows/windows_ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/windows_ci.yml b/.github/workflows/windows_ci.yml index 8511092658..5617c319c3 100644 --- a/.github/workflows/windows_ci.yml +++ b/.github/workflows/windows_ci.yml @@ -31,13 +31,13 @@ jobs: # - name: Install requirements # run: | # python -m pip install -r etc/requirements_build.in -c etc/requirements_locked.txt + - uses: ilammy/msvc-dev-cmd@v1 - name: Init Conda in Powershell run: | C:\Miniconda\condabin\conda.bat init powershell - name: Install scientific python requirements run: | conda create -y --name test python=${{matrix.python-version}} pip pandas=0.22.0 numpy=1.19.1 scipy=1.5.0 cython=0.29.21 - - uses: ilammy/msvc-dev-cmd@v1 - name: Install TA lib run: | (New-Object Net.WebClient).DownloadFile('http://prdownloads.sourceforge.net/ta-lib/ta-lib-0.4.0-msvc.zip', 'ta-lib-0.4.0-msvc.zip') From bdfeb48c82437277fbb6cb150a9fb84b95ebb6de Mon Sep 17 00:00:00 2001 From: Gerry Manoim Date: Fri, 7 Aug 2020 15:18:21 -0400 Subject: [PATCH 38/49] take verbosity back down --- .github/workflows/windows_ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/windows_ci.yml b/.github/workflows/windows_ci.yml index 5617c319c3..4c4617b479 100644 --- a/.github/workflows/windows_ci.yml +++ b/.github/workflows/windows_ci.yml @@ -54,4 +54,4 @@ jobs: - name: Run tests run: | conda activate test - nosetests -vv tests + nosetests tests From 58f54b5e4496c3d419d4ebc889e2a7c7398cdb4b Mon Sep 17 00:00:00 2001 From: Gerry Manoim Date: Fri, 7 Aug 2020 15:18:46 -0400 Subject: [PATCH 39/49] apparently we do need blaze --- .github/workflows/ci.yaml | 2 +- .github/workflows/windows_ci.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 89cdfb9090..fd9b2336a7 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -61,7 +61,7 @@ jobs: - name: Install requirements run: | python -m pip install -r etc/requirements_build.in - python -m pip install --no-binary=bcolz -e .[all] + python -m pip install --no-binary=bcolz -e .[all] -r etc/requirements_blaze.in - name: Run tests run: | nosetests tests diff --git a/.github/workflows/windows_ci.yml b/.github/workflows/windows_ci.yml index 4c4617b479..8bd881f1ce 100644 --- a/.github/workflows/windows_ci.yml +++ b/.github/workflows/windows_ci.yml @@ -49,7 +49,7 @@ jobs: - name: Install other requirements run: | conda activate test - pip install --no-binary=bcolz -e .[all] -c etc/requirements_py36_locked.txt + pip install --no-binary=bcolz -e .[all] -r etc/requirements_blaze.in -c etc/requirements_py36_locked.txt - name: Run tests run: | From 216556aa7c5c17277a813eaec9eddc03e3fe3b44 Mon Sep 17 00:00:00 2001 From: Gerry Manoim Date: Mon, 10 Aug 2020 14:20:38 -0400 Subject: [PATCH 40/49] fix bad path --- zipline/testing/predicates.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/zipline/testing/predicates.py b/zipline/testing/predicates.py index 5a2a426a17..2a06de870d 100644 --- a/zipline/testing/predicates.py +++ b/zipline/testing/predicates.py @@ -578,7 +578,7 @@ def assert_array_equal(result, % (result_dtype, expected_dtype, _fmt_path(path)) ) f = partial( - np.testing.utils.assert_array_compare, + np.testing.assert_array_compare, compare_datetime_arrays, header='Arrays are not equal', ) From 9eb0efcfce29904276a82a23f5e084f6455bac73 Mon Sep 17 00:00:00 2001 From: Gerry Manoim Date: Mon, 10 Aug 2020 15:49:34 -0400 Subject: [PATCH 41/49] fix up for error message formatting changes --- tests/pipeline/test_computable_term.py | 17 ++++------------- zipline/data/minute_bars.py | 2 +- 2 files changed, 5 insertions(+), 14 deletions(-) diff --git a/tests/pipeline/test_computable_term.py b/tests/pipeline/test_computable_term.py index cb2a306b5e..6859d4546e 100644 --- a/tests/pipeline/test_computable_term.py +++ b/tests/pipeline/test_computable_term.py @@ -245,7 +245,7 @@ def should_error(self, f, exc_type, expected_message): f() message = str(e.exception) - self.assertEqual(message, expected_message) + assert expected_message in message def test_bad_inputs(self): def dtype_for(o): @@ -254,30 +254,21 @@ def dtype_for(o): self.should_error( lambda: Floats().fillna('3.0'), TypeError, - "Fill value '3.0' is not a valid choice for term Floats with" - " dtype float64.\n\n" - "Coercion attempt failed with: Cannot cast array from {!r}" - " to {!r} according to the rule 'same_kind'" + " from {!r} to {!r} according to the rule 'same_kind'" .format(dtype_for('3.0'), np.dtype(float)) ) self.should_error( lambda: Dates().fillna('2014-01-02'), TypeError, - "Fill value '2014-01-02' is not a valid choice for term Dates with" - " dtype datetime64[ns].\n\n" - "Coercion attempt failed with: Cannot cast array from {!r}" - " to {!r} according to the rule 'same_kind'" + "from {!r} to {!r} according to the rule 'same_kind'" .format(dtype_for('2014-01-02'), np.dtype('M8[ns]')) ) self.should_error( lambda: Ints().fillna('300'), TypeError, - "Fill value '300' is not a valid choice for term Ints with" - " dtype int64.\n\n" - "Coercion attempt failed with: Cannot cast array from {!r}" - " to {!r} according to the rule 'same_kind'" + "from {!r} to {!r} according to the rule 'same_kind'" .format(dtype_for('300'), np.dtype('i8')), ) diff --git a/zipline/data/minute_bars.py b/zipline/data/minute_bars.py index cab25e52f8..0349253eff 100644 --- a/zipline/data/minute_bars.py +++ b/zipline/data/minute_bars.py @@ -644,7 +644,7 @@ def pad(self, sid, date): # No need to pad. return - if last_date == pd.NaT: + if last_date is pd.NaT: # If there is no data, determine how many days to add so that # desired days are written to the correct slots. days_to_zerofill = tds[tds.slice_indexer(end=date)] From 634111116fdb1fbe2ae2642f338be09596867ff5 Mon Sep 17 00:00:00 2001 From: Gerry Manoim Date: Mon, 10 Aug 2020 15:55:00 -0400 Subject: [PATCH 42/49] fix for value errors showing up in matmul --- tests/test_labelarray.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/test_labelarray.py b/tests/test_labelarray.py index 0133c16dcf..9fc4f1d6a8 100644 --- a/tests/test_labelarray.py +++ b/tests/test_labelarray.py @@ -328,7 +328,7 @@ def test_reject_ufuncs(self): ret = func(labels, ints) else: self.fail("Who added a ternary ufunc !?!") - except TypeError: + except (TypeError, ValueError): pass else: self.assertIs(ret, NotImplemented) From 2757ccaaf99fa23958e005920014f145be048c8e Mon Sep 17 00:00:00 2001 From: Gerry Manoim Date: Mon, 10 Aug 2020 16:19:30 -0400 Subject: [PATCH 43/49] fix code different across numpy versions --- zipline/testing/predicates.py | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/zipline/testing/predicates.py b/zipline/testing/predicates.py index 2a06de870d..33e006ec96 100644 --- a/zipline/testing/predicates.py +++ b/zipline/testing/predicates.py @@ -577,11 +577,20 @@ def assert_array_equal(result, "expected dtype: %s\n%s" % (result_dtype, expected_dtype, _fmt_path(path)) ) - f = partial( - np.testing.assert_array_compare, - compare_datetime_arrays, - header='Arrays are not equal', - ) + try: + # Depending on the version of numpy testing func is in a different + # place + f = partial( + np.testing.utils.assert_array_compare, + compare_datetime_arrays, + header='Arrays are not equal', + ) + except AttributeError: + f = partial( + np.testing.assert_array_compare, + compare_datetime_arrays, + header='Arrays are not equal', + ) elif array_decimal is not None and expected_dtype.kind not in {'O', 'S'}: f = partial( np.testing.assert_array_almost_equal, From 860a065aede4602757b15a47eba71719afa48cec Mon Sep 17 00:00:00 2001 From: Gerry Manoim Date: Tue, 11 Aug 2020 14:07:25 -0400 Subject: [PATCH 44/49] silence the correct warnings for tests to run --- tests/metrics/test_metrics.py | 68 +++++++++++++++++++++++------------ zipline/testing/fixtures.py | 51 +++++++++++++++----------- 2 files changed, 75 insertions(+), 44 deletions(-) diff --git a/tests/metrics/test_metrics.py b/tests/metrics/test_metrics.py index ae0a60f19f..ececf7559f 100644 --- a/tests/metrics/test_metrics.py +++ b/tests/metrics/test_metrics.py @@ -1,4 +1,5 @@ import unittest +import warnings import numpy as np import pandas as pd @@ -116,7 +117,11 @@ def init_class_fixtures(cls): cls.closes.name = None def test_nop(self): - perf = self.run_algorithm() + # Filter out pandas `ix` DeprecationWarning causing tests to fail + with warnings.catch_warnings(): + warnings.simplefilter("ignore", DeprecationWarning) + + perf = self.run_algorithm() zeros = pd.Series(0.0, index=self.closes) all_zero_fields = [ @@ -446,10 +451,13 @@ def handle_data(context, data): check_portfolio(context) context.bar_count += 1 - perf = self.run_algorithm( - initialize=initialize, - handle_data=handle_data, - ) + # Filter out pandas `ix` DeprecationWarning causing tests to fail + with warnings.catch_warnings(): + warnings.simplefilter("ignore", DeprecationWarning) + perf = self.run_algorithm( + initialize=initialize, + handle_data=handle_data, + ) first_day_returns = -( abs(per_fill_commission.sum()) / self.SIM_PARAMS_CAPITAL_BASE @@ -600,10 +608,13 @@ def handle_data(context, data): # the portfolio on the bar of the order, only the following bars check_portfolio(context, first_bar) - perf = self.run_algorithm( - initialize=initialize, - handle_data=handle_data, - ) + # Filter out pandas `ix` DeprecationWarning causing tests to fail + with warnings.catch_warnings(): + warnings.simplefilter("ignore", DeprecationWarning) + perf = self.run_algorithm( + initialize=initialize, + handle_data=handle_data, + ) zeros = pd.Series(0.0, index=self.closes) all_zero_fields = [ @@ -1015,10 +1026,13 @@ def handle_data(context, data): # the portfolio on the bar of the order, only the following bars check_portfolio(context, first_bar) - perf = self.run_algorithm( - initialize=initialize, - handle_data=handle_data, - ) + # Filter out pandas `ix` DeprecationWarning causing tests to fail + with warnings.catch_warnings(): + warnings.simplefilter("ignore", DeprecationWarning) + perf = self.run_algorithm( + initialize=initialize, + handle_data=handle_data, + ) zeros = pd.Series(0.0, index=self.closes) all_zero_fields = [ @@ -1571,10 +1585,14 @@ def handle_data(context, data): # the portfolio on the bar of the order, only the following bars check_portfolio(data, context, first_bar) - perf = self.run_algorithm( - initialize=initialize, - handle_data=handle_data, - ) + # Filter out pandas `ix` DeprecationWarning causing tests to fail + with warnings.catch_warnings(): + warnings.simplefilter("ignore", DeprecationWarning) + + perf = self.run_algorithm( + initialize=initialize, + handle_data=handle_data, + ) zeros = pd.Series(0.0, index=self.equity_closes) all_zero_fields = [ @@ -1988,12 +2006,16 @@ def handle_data(context, data): # the portfolio on the bar of the order, only the following bars check_portfolio(data, context, first_bar) - perf = self.run_algorithm( - initialize=initialize, - handle_data=handle_data, - trading_calendar=self.trading_calendars[Future], - data_portal=self.futures_data_portal, - ) + # Filter out pandas `ix` DeprecationWarning causing tests to fail + with warnings.catch_warnings(): + warnings.simplefilter("ignore", DeprecationWarning) + + perf = self.run_algorithm( + initialize=initialize, + handle_data=handle_data, + trading_calendar=self.trading_calendars[Future], + data_portal=self.futures_data_portal, + ) zeros = pd.Series(0.0, index=self.future_closes) all_zero_fields = [ diff --git a/zipline/testing/fixtures.py b/zipline/testing/fixtures.py index 0cdbb3f0fe..3f59768e43 100644 --- a/zipline/testing/fixtures.py +++ b/zipline/testing/fixtures.py @@ -7,6 +7,7 @@ from logbook import NullHandler, Logger import numpy as np import pandas as pd +from pandas.core.common import PerformanceWarning from six import with_metaclass, iteritems, itervalues, PY2 import responses from toolz import flip, groupby, merge @@ -530,21 +531,25 @@ def init_class_fixtures(cls): super(WithTradingCalendars, cls).init_class_fixtures() cls.trading_calendars = {} - - for cal_str in ( - set(cls.TRADING_CALENDAR_STRS) | - {cls.TRADING_CALENDAR_PRIMARY_CAL} - ): - # Set name to allow aliasing. - calendar = get_calendar(cal_str) - setattr(cls, - '{0}_calendar'.format(cal_str.lower()), calendar) - cls.trading_calendars[cal_str] = calendar - - type_to_cal = iteritems(cls.TRADING_CALENDAR_FOR_ASSET_TYPE) - for asset_type, cal_str in type_to_cal: - calendar = get_calendar(cal_str) - cls.trading_calendars[asset_type] = calendar + # Silence `pandas.errors.PerformanceWarning: Non-vectorized DateOffset + # being applied to Series or DatetimeIndex` in trading calendar + # construction. This causes nosetest to fail. + with warnings.catch_warnings(): + warnings.simplefilter("ignore", PerformanceWarning) + for cal_str in ( + set(cls.TRADING_CALENDAR_STRS) | + {cls.TRADING_CALENDAR_PRIMARY_CAL} + ): + # Set name to allow aliasing. + calendar = get_calendar(cal_str) + setattr(cls, + '{0}_calendar'.format(cal_str.lower()), calendar) + cls.trading_calendars[cal_str] = calendar + + type_to_cal = iteritems(cls.TRADING_CALENDAR_FOR_ASSET_TYPE) + for asset_type, cal_str in type_to_cal: + calendar = get_calendar(cal_str) + cls.trading_calendars[asset_type] = calendar cls.trading_calendar = ( cls.trading_calendars[cls.TRADING_CALENDAR_PRIMARY_CAL] @@ -1688,12 +1693,16 @@ def make_adjustment_db_conn_str(cls): def init_class_fixtures(cls): super(WithAdjustmentReader, cls).init_class_fixtures() conn = sqlite3.connect(cls.make_adjustment_db_conn_str()) - cls.make_adjustment_writer(conn).write( - splits=cls.make_splits_data(), - mergers=cls.make_mergers_data(), - dividends=cls.make_dividends_data(), - stock_dividends=cls.make_stock_dividends_data(), - ) + # Silence numpy DeprecationWarnings which cause nosetest to fail + with warnings.catch_warnings(): + warnings.simplefilter("ignore", DeprecationWarning) + + cls.make_adjustment_writer(conn).write( + splits=cls.make_splits_data(), + mergers=cls.make_mergers_data(), + dividends=cls.make_dividends_data(), + stock_dividends=cls.make_stock_dividends_data(), + ) cls.adjustment_reader = SQLiteAdjustmentReader(conn) From 8657685d0b5873de5e250819016705e65f079781 Mon Sep 17 00:00:00 2001 From: Gerry Manoim Date: Tue, 11 Aug 2020 14:25:29 -0400 Subject: [PATCH 45/49] turn off blaze for a bit --- .github/workflows/windows_ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/windows_ci.yml b/.github/workflows/windows_ci.yml index 8bd881f1ce..4c4617b479 100644 --- a/.github/workflows/windows_ci.yml +++ b/.github/workflows/windows_ci.yml @@ -49,7 +49,7 @@ jobs: - name: Install other requirements run: | conda activate test - pip install --no-binary=bcolz -e .[all] -r etc/requirements_blaze.in -c etc/requirements_py36_locked.txt + pip install --no-binary=bcolz -e .[all] -c etc/requirements_py36_locked.txt - name: Run tests run: | From c08e3181e82fa9765576bcc74b7ef59f7718252e Mon Sep 17 00:00:00 2001 From: gerrymanoim Date: Tue, 11 Aug 2020 14:44:37 -0400 Subject: [PATCH 46/49] try different ms build system --- .github/workflows/windows_ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/windows_ci.yml b/.github/workflows/windows_ci.yml index 4c4617b479..ad9351d052 100644 --- a/.github/workflows/windows_ci.yml +++ b/.github/workflows/windows_ci.yml @@ -31,7 +31,7 @@ jobs: # - name: Install requirements # run: | # python -m pip install -r etc/requirements_build.in -c etc/requirements_locked.txt - - uses: ilammy/msvc-dev-cmd@v1 + - uses: microsoft/setup-msbuild@v1.0.1 - name: Init Conda in Powershell run: | C:\Miniconda\condabin\conda.bat init powershell From 33afd038148aa5814a968795f4c9beba61faa009 Mon Sep 17 00:00:00 2001 From: gerrymanoim Date: Tue, 11 Aug 2020 14:49:30 -0400 Subject: [PATCH 47/49] Move ms build setup --- .github/workflows/windows_ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/windows_ci.yml b/.github/workflows/windows_ci.yml index ad9351d052..0c8f489170 100644 --- a/.github/workflows/windows_ci.yml +++ b/.github/workflows/windows_ci.yml @@ -31,7 +31,6 @@ jobs: # - name: Install requirements # run: | # python -m pip install -r etc/requirements_build.in -c etc/requirements_locked.txt - - uses: microsoft/setup-msbuild@v1.0.1 - name: Init Conda in Powershell run: | C:\Miniconda\condabin\conda.bat init powershell @@ -39,6 +38,7 @@ jobs: run: | conda create -y --name test python=${{matrix.python-version}} pip pandas=0.22.0 numpy=1.19.1 scipy=1.5.0 cython=0.29.21 - name: Install TA lib + uses: microsoft/setup-msbuild@v1.0.1 run: | (New-Object Net.WebClient).DownloadFile('http://prdownloads.sourceforge.net/ta-lib/ta-lib-0.4.0-msvc.zip', 'ta-lib-0.4.0-msvc.zip') Add-Type -AssemblyName System.IO.Compression.FileSystem;[System.IO.Compression.ZipFile]::ExtractToDirectory('ta-lib-0.4.0-msvc.zip', 'C:\') From 7dea6da84c6b80835f7fdc7916f6b176ab13aba3 Mon Sep 17 00:00:00 2001 From: gerrymanoim Date: Tue, 11 Aug 2020 14:50:49 -0400 Subject: [PATCH 48/49] Move setup --- .github/workflows/windows_ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/windows_ci.yml b/.github/workflows/windows_ci.yml index 0c8f489170..879ff71762 100644 --- a/.github/workflows/windows_ci.yml +++ b/.github/workflows/windows_ci.yml @@ -37,8 +37,8 @@ jobs: - name: Install scientific python requirements run: | conda create -y --name test python=${{matrix.python-version}} pip pandas=0.22.0 numpy=1.19.1 scipy=1.5.0 cython=0.29.21 + - uses: microsoft/setup-msbuild@v1.0.1 - name: Install TA lib - uses: microsoft/setup-msbuild@v1.0.1 run: | (New-Object Net.WebClient).DownloadFile('http://prdownloads.sourceforge.net/ta-lib/ta-lib-0.4.0-msvc.zip', 'ta-lib-0.4.0-msvc.zip') Add-Type -AssemblyName System.IO.Compression.FileSystem;[System.IO.Compression.ZipFile]::ExtractToDirectory('ta-lib-0.4.0-msvc.zip', 'C:\') From 6f45989f2de4c8ace658ea3648ad33be6357f2d7 Mon Sep 17 00:00:00 2001 From: gerrymanoim Date: Tue, 11 Aug 2020 15:19:28 -0400 Subject: [PATCH 49/49] conda ta-lib --- .github/workflows/windows_ci.yml | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/.github/workflows/windows_ci.yml b/.github/workflows/windows_ci.yml index 879ff71762..fe7e9bde0a 100644 --- a/.github/workflows/windows_ci.yml +++ b/.github/workflows/windows_ci.yml @@ -37,15 +37,10 @@ jobs: - name: Install scientific python requirements run: | conda create -y --name test python=${{matrix.python-version}} pip pandas=0.22.0 numpy=1.19.1 scipy=1.5.0 cython=0.29.21 - - uses: microsoft/setup-msbuild@v1.0.1 - name: Install TA lib run: | - (New-Object Net.WebClient).DownloadFile('http://prdownloads.sourceforge.net/ta-lib/ta-lib-0.4.0-msvc.zip', 'ta-lib-0.4.0-msvc.zip') - Add-Type -AssemblyName System.IO.Compression.FileSystem;[System.IO.Compression.ZipFile]::ExtractToDirectory('ta-lib-0.4.0-msvc.zip', 'C:\') - cd C:\ta-lib\c\make\cdr\win32\msvc - nmake conda activate test - pip install ta-lib + conda install -y -c quantopian ta-lib - name: Install other requirements run: | conda activate test