# Create environment with "conda env create", update with "conda env update"!
# This file contains the top level dependencies of the pyramid project!
# requirements.txt also contains sub-dependencies, generated by "pip freeze > requirements.txt"!
# Add new dependencies here, then "conda env update", then "pip freeze > requirements.txt"!
# To see if compatible upgrades are available for the current packages, use "conda upgrade --all"!
# When packages are deprecated/deleted, it may be best to recreate the environment from scratch!

name: pyramid

channels:
  - defaults  # Default conda channels, on top to keep highest priority!
  - conda-forge  # Used for hyperspy, pyFFTW!

dependencies:
  # Basic:
  - python=3.6
  - numpy=1.15
  - scipy=1.1
  - tqdm=4.26
  - scikit-image=0.14
  # File IO:
  - hyperspy=1.4
  - hyperspy-gui-ipywidgets=1.1
  - h5py=2.8
  # Plotting and colors:
  - matplotlib=3.0.2 #=1.5  # Only conda-forge channel has working version for qt4!
  - Pillow=5.3
  - cmocean=1.2
  - qt=5.6  # Necessary because of traits in mayavi... On server, pyqt=5.6 is needed!
  - mayavi=4.6  # TODO: Get rid of!
  # Testing:
  - pytest=3.9
  - pytest-cov=2.6
  - pytest-flake8=1.0
  - pytest-runner=4.2
  - pytest-mpl=0.10  # Needed for testing hyperspy! TODO: Use for pyramid or plotting library, too!
  - coverage=4.5
  # IPython and notebooks:
  - ipython=7.0
  - jupyter=1.0
  - nb_conda=2.2
  # TODO: Add back GUI dependencies!
  # TODO: Get Jutil from gitlab (currently doesn't work, git and cygwin don't play nice,...
  # TODO: ...because one is Unix, ond is Windows).
  # Fast computation:
  - pyFFTW=0.11  # TODO: Was only possible for Python 3.6 and only via wheel (see below)!
  # PIP installations:
  - pip=10.0
#  - pip:
#    # ALSO NEEDS JUTIL!
#    - "git+ssh://gitlab@iffgit.fz-juelich.de/unger/jutil.git"
