Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
58 changes: 54 additions & 4 deletions envexp/environment.yml
Original file line number Diff line number Diff line change
@@ -1,10 +1,60 @@
name: experiment
channels:
- sleap-deps/label/dev
- conda-forge
- nvidia
- sleap-deps
- sleap
- anaconda
dependencies:
- python=3.10
- qtpy
- pyside6
- pip
# Packages SLEAP uses directly
- conda-forge::attrs >=23.1.0 # Corresponds to version of cattrs
# - conda-forge::cattrs ==1.1.1
- conda-forge::cattrs >=23.2.0
- conda-forge::jsmin
# - conda-forge::jsonpickle ==1.2
- conda-forge::jsonpickle <=1.5.0 # 1.5.1 breaks compatibility with v1 encoded files
- conda-forge::networkx
# - anaconda::numpy >=1.19.5,<1.23.0
- conda-forge::numpy >=1.16.5 # Scipy 1.7.0 requires numpy >=1.16.5
- conda-forge::opencv
# - conda-forge::h5py <=3.7.0
- conda-forge::h5py
- conda-forge::imageio
- conda-forge::imageio-ffmpeg
- conda-forge::pandas
- conda-forge::pip
- conda-forge::pillow #>=8.3.1,<=8.4.0
- conda-forge::psutil
- conda-forge::pykalman
# - conda-forge::pyside2 >=5.12 # To ensure application works correctly with QtPy.
- conda-forge::pyside6 >=6.5.0 # >=6.2 is compatible with Python 3.10, conda package exists for >=6.4, 6.4 conda package uses problematic QtCharts https://github.com/roomrys/envexp/pull/3
# - conda-forge::python ~=3.7 # Run into _MAX_WINDOWS_WORKERS not found if ==
- conda-forge::python >=3.10.0,<3.11.0 # Trying python 3.10
- conda-forge::python-rapidjson
- conda-forge::pyyaml
- conda-forge::pyzmq
- conda-forge::qtpy >=2.0.1
- conda-forge::rich
# - conda-forge::scipy >=1.4.1,<=1.9.0
- conda-forge::scipy >=1.7.0 # Python 3.10 is compatible with scipy >=1.7.0
- conda-forge::scikit-image
# - conda-forge::scikit-learn ==1.0
- conda-forge::scikit-learn >=1.0.0 # Python 3.10 is compatible with scikit-learn >=1.0.0
# - conda-forge::scikit-video
- conda-forge::seaborn
# - sleap/label/dev::tensorflow ==2.7.0 # TODO: Switch to main label when updated
- sleap-deps/label/dev::tensorflow ==2.9.2a0 # TODO: Switch to main label when updated
- conda-forge::tensorflow-hub # Pinned in meta.yml, but no problems here... yet
- conda-forge::qudida
- conda-forge::albumentations
- conda-forge::ndx-pose

# Packages required by tensorflow to find/use GPUs
- conda-forge::cudatoolkit ==11.3.1
# "==" results in package not found
- conda-forge::cudnn=8.2.1
- nvidia::cuda-nvcc=11.3
- pip:
- -r requirements.txt # The conda_dev option requirements
- -e . # Install the package in the current directory
44 changes: 44 additions & 0 deletions envexp/requirements.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
# This file contains the minimal requirements to be installed via pip when using conda.

# No conda packages for these
# tensorflow-macos==2.9.2; sys_platform == 'darwin' and platform_machine == 'arm64' # 2.9.2 can only work up to Python 3.10
# tensorflow-metal==0.5.0; sys_platform == 'darwin' and platform_machine == 'arm64'
# tensorflow-hub==0.12.0; sys_platform == 'darwin' and platform_machine == 'arm64'
imgstore<0.3.0 # 0.3.3 results in https://github.com/O365/python-o365/issues/591 which is from https://github.com/regebro/tzlocal/issues/112 when tzlocal is v3.0
nixio>=1.5.3 # Constrain put on by @jgrewe from G-Node
qimage2ndarray # ==1.9.0
segmentation-models

pynwb>=2.3.3 # 2.0.0 required by ndx-pose, 2.3.3 fixes importlib-metadata incompatibility

# This file contains the dependencies to be installed if in developer mode.

pytest
pytest-qt>=4.0.0
pytest-cov<=3.0.0
pytest-xvfb
ipython
sphinx
# furo
sphinx-book-theme
sphinx-copybutton
nbformat==5.1.3
myst-nb
myst-parser
linkify-it-py
sphinx-autobuild
black==21.6b0
pre-commit
twine==3.3.0
PyGithub
jedi==0.17.2
click==8.0.4

# Attrs needs to match cattrs
attrs >=23.1.0 # We use cattrs >=23.2.0 which requires attrs >=23.1.0

# This file contains the dependencies to be installed for jupyter lab support.

ipykernel
ipywidgets
jupyterlab
19 changes: 5 additions & 14 deletions envexp/user_test_code.py
Original file line number Diff line number Diff line change
@@ -1,19 +1,10 @@
"""User-defined test code to run after the imports have been tested."""

if __name__ == "__main__":
assert False, "Replace this block with your own test code."

import os

# Example test code that is not run since after return
from qtpy.QtWidgets import QApplication, QMainWindow
from sleap import load_file

def create_app():
"""Creates Qt application."""
app = QApplication([])
return app

app = create_app()

window = QMainWindow()
window.showMaximized()

app.exec_()
ds = os.environ["ds-dmc"]
load_file(ds)
Loading