diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 5f895369..74f24b3f 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -9,24 +9,24 @@ on: jobs: build: runs-on: ubuntu-22.04 + defaults: + run: + shell: bash -l {0} steps: - name: Checkout repo uses: actions/checkout@v3 with: fetch-depth: 0 - - name: Set up Python - uses: actions/setup-python@v4 + - name: Install conda + uses: conda-incubator/setup-miniconda@v3 with: + environment-file: environments/eeg-expy-docsbuild.yml + auto-activate-base: false python-version: 3.8 - - - name: Install dependencies - run: | - make install-deps-apt - python -m pip install --upgrade pip wheel - python -m pip install attrdict - - make install-deps-wxpython + activate-environment: eeg-expy-full + channels: conda-forge + miniconda-version: "latest" - name: Build project run: | diff --git a/environments/eeg-expy-docsbuild.yml b/environments/eeg-expy-docsbuild.yml index 06dbaa5d..e001934e 100644 --- a/environments/eeg-expy-docsbuild.yml +++ b/environments/eeg-expy-docsbuild.yml @@ -1,9 +1,11 @@ -name: eeg-expy-docsbuild channels: - conda-forge dependencies: # System-level dependencies - - python>=3.8,<=3.13 + + # conda overrides current environment python version when not using --freeze-installed, and installs a random version of python... + # - python>=3.8,<=3.13 + - pytables # install pytables for macOS arm64, so do not need to build from source. - rust # used by docsbuild - pip diff --git a/environments/eeg-expy-full.yml b/environments/eeg-expy-full.yml index 9e234aab..6b2a2ea6 100644 --- a/environments/eeg-expy-full.yml +++ b/environments/eeg-expy-full.yml @@ -1,9 +1,11 @@ -name: eeg-expy-full channels: - conda-forge dependencies: # System-level dependencies - - python>=3.8,<=3.10 # psychopy <= 3.10 + + # conda overrides current environment python version when not using --freeze-installed, and installs a random version of python... + # - python>=3.8,<=3.10 # psychopy <= 3.10 + - dukpy==0.2.3 # psychopy dependency, avoid failing due to building wheel on win 3.9. - numpy # fix PsychXR numpy dependency DLL issues on Windows - pytables # install pytables for macOS arm64, so do not need to build from source. diff --git a/environments/eeg-expy-stimpres.yml b/environments/eeg-expy-stimpres.yml index c315f9f5..5d7e32e5 100644 --- a/environments/eeg-expy-stimpres.yml +++ b/environments/eeg-expy-stimpres.yml @@ -1,9 +1,11 @@ -name: eeg-expy-stimpres channels: - conda-forge dependencies: # System-level dependencies - - python>=3.8,<=3.10 # psychopy <= 3.10 + + # conda overrides current environment python version when not using --freeze-installed, and installs a random version of python... + #- python>=3.8,<=3.10 # psychopy <= 3.10 + - dukpy==0.2.3 # psychopy dependency, avoid failing due to building wheel on win 3.9. - wxpython>=4.0 # install wxpython to prevent error on macOS arm64: "site-packages/wx/_core.cpython-38-darwin.so, 0x0002): symbol not found in flat namespace '__ZN10wxBoxSizer20InformFirstDirectionEiii'" - cffi # Fix sound ffi.callback() issue with sounddevice on macOS: https://github.com/spatialaudio/python-sounddevice/issues/397 diff --git a/environments/eeg-expy-streaming.yml b/environments/eeg-expy-streaming.yml index 8a8a751a..129370bb 100644 --- a/environments/eeg-expy-streaming.yml +++ b/environments/eeg-expy-streaming.yml @@ -1,9 +1,11 @@ -name: eeg-expy-streaming channels: - conda-forge dependencies: # System-level dependencies - - python>=3.8,<=3.13 + + # conda overrides current environment python version when not using --freeze-installed, and installs a random version of python... + #- python>=3.8,<=3.13 + - liblsl # install liblsl to prevent error on macOS and Ubuntu: "RuntimeError: LSL binary library file was not found." - pip - pip: diff --git a/environments/eeg-expy-streamstim.yml b/environments/eeg-expy-streamstim.yml index ec355171..d65eb0c9 100644 --- a/environments/eeg-expy-streamstim.yml +++ b/environments/eeg-expy-streamstim.yml @@ -1,10 +1,12 @@ -name: eeg-expy-streamstim channels: - conda-forge - defaults dependencies: # System-level dependencies - - python>=3.8,<=3.10 # psychopy <= 3.10 + + # conda overrides current environment python version when not using --freeze-installed, and installs a random version of python... + #- python>=3.8,<=3.10 # psychopy <= 3.10 + - dukpy==0.2.3 # psychopy dependency, avoid failing due to building wheel on win 3.9. - liblsl # install liblsl to prevent error on macOS and Ubuntu: "RuntimeError: LSL binary library file was not found." - wxpython>=4.0 # install wxpython to prevent error on macOS arm64: "site-packages/wx/_core.cpython-38-darwin.so, 0x0002): symbol not found in flat namespace '__ZN10wxBoxSizer20InformFirstDirectionEiii'" diff --git a/requirements.txt b/requirements.txt index 001b6922..d9fe0448 100644 --- a/requirements.txt +++ b/requirements.txt @@ -3,7 +3,8 @@ scikit-learn>=0.23.2 pandas>=1.1.4 -numpy>=1.26.0; python_version >= "3.9" +# psychxr build pinned to this version of numpy. +numpy>=1.26,<1.27; python_version >= "3.9" numpy<=1.24.4; python_version == "3.8" mne>=0.20.8 seaborn>=0.11.0 @@ -60,7 +61,8 @@ ffpyplayer==4.5.2 # 4.5.3 fails to build as wheel. psychtoolbox scikit-learn>=0.23.2 pandas>=1.1.4 -numpy>=1.26.0; python_version >= "3.9" +# psychxr build pinned to this version of numpy. +numpy>=1.26,<1.27; python_version >= "3.9" numpy==1.24.4; python_version == "3.8" mne>=0.20.8 seaborn>=0.11.0 @@ -87,7 +89,8 @@ pyglet==1.4.11 ; platform_system == "Windows" psychxr>=0.2.4rc2; platform_system == "Windows" and python_version <= "3.9" - +# Used for generating checkerboard in pattern reversal experiment +stimupy ## ~~ Docsbuild Requirements ~~ recommonmark