# DO NOT EDIT - This file is automatically generated
# Install OMFIT framework dependencies with `pip install -r OMFIT-source/install/requirements.txt`
# Optional packages can be installed with `pip install -r OMFIT-source/install/optional.txt`
# Note that if one of the requirements fails, then none of them will be installed
# More info about OMFIT install: https://omfit.io/install.html
# More info about PIP requirements file: https://pip.readthedocs.org/en/1.1/requirements.html

aurorafusion>=2.1                #{'optional':'Used in ImpRad, STEP and CHEF modules'}
bibtexparser>=0.6                #{'optional':'Keep track of papers that used OMFIT; also needed for omfit_bibtex class'}
boto3>=1.5                       #{'optional':'Download harvest objects stored on amazon servers'}
botocore>=1.8                    #{'optional':'Download harvest objects stored on amazon servers'}
chaospy>=3.0.11,<=3.0.12         #{'optional':'Used to construct proxy functions for TGLF UQ'}
corner>=2.0,<=2.1.0              #{'optional':'Make some beautiful corner plots'}
csaps>=0.11                      #{'optional':'Needed for profile fitting in CAKE'}
Cython>=0.28                     #{'optional':'An optimising static compiler for the Python and Cython languages'}
dask>=0.17                       #{'optional':'Needed for stable xarray import'}
dicttoxml>=1.7                   #{'optional':'EU/IM actors'}
emcee>=2.2                       #{'optional':'Gaussian processes fitting'}
ffmpeg>=1.4                      #{'optional':'Used to make animations from matplotlib'}
gptools>=0.2                     #{'optional':'Used in OMFITprofiles for profile fitting'}
gpr1dfusion>=1.0                 #{'optional':'gpr1dfusion'}
imbalanced-learn>=0.3            #{'optional':'imbalanced-learn'}
ipython>=5.4                     #{'optional':'ipython'}
matplotlib-label-lines>=0.3.9    #{'optional':'Better MARS-F eigenfunction plots'}
mayavi>=4.5                      #{'optional':'Make good 3d graphs; GPEC, M3D-C1, TRIP3D modules'}
nlopt>=2.4                       #{'optional':'to offer wide range of nonlinear optimizers'}
numba>=0.38                      #{'optional':'speed up numerically intensive python code'}
oyaml>=1                         #{'optional':'OMFIT uses yaml files in several places and it is nice to be able to maintain dict ordering.'}
pidly>=0.2                       #{'optional':'Start an interactive IDL<->python session; there are many fusion analysis codes already written in IDL'}
psycopg2-binary>=2.7.3           #{'optional':'Osborne pedestal tools and OMFIT shape control store settings in postgresql databases'}
pyAesCrypt>=6.0.0                #{'optional':'used for password-based encryption/decryption'}
pygsheets>=2.0.3.1               #{'optional':'Used for interfacing with Google sheets in omfit_google_sheet.py'}
PyPDF2>=1.26                     #{'optional':'Allow embedding of files in PDFs'}
tables>=3.4                      #{'optional':'reading fast camera .cine files'}
python-dateutil>=1.5             #{'optional':'Used for OMFIT statistics'}
scikit-image>=0.13               #{'optional':'Used required by the python fidasim module'}
scikit-learn>=0.24               #{'optional':'Used by several modules including KN1D and TGLF_scan'}
scikit-optimize>=0.5             #{'optional':'Used for machine learning'}
scikit-sparse>=0.4               #{'optional':'Used for profile fitting'}
seaborn>=0.8                     #{'optional':'SCOPE, M3D-C1, TUTORIAL modules'}
Shapely>=0.6                     #{'optional':'Find intersections of radiated power sightlines and first wall in PCS prad control module; Also needed in eqdsk utils'}
sphinx>=1.6                      #{'optional':'producing OMFIT documentation'}
sphinx_bootstrap_theme>=0.5      #{'optional':'producing OMFIT documentation'}
sphinxcontrib-bibtex>=1.0        #{'optional':'Producing GACODE documentation'}
tensorflow<=2.6                  #{'optional':'Leverage Google advancements in machine learning'}
twine>=3                         #{'optional':'Used for uploading standalone OMFIT classes to pypi'}
unbaffeld==0.2.2                 #{'optional':'Used for GPR fitting in OMFITprofiles'}
wordcloud>=1.8                   #{'optional':'OMFITstats module for module usage visualization'}
xmltodict>=0.11                  #{'optional':'OMFITxml'}