scikit-build>=0.10.0
cmake>=3.16.3
appdirs==1.4.3
toposort>=1.5
google-api-python-client==2.4.0
# google-auth==1.6.3
# google-auth-httplib2==0.0.3
# google-auth-oauthlib>=0.4.0
gunicorn==19.9.0
Cython==0.29.7
# WINDOWS: REMOVE and USE "conda install -c conda-forge python-blosc" (install "gitforwindows", then open terminal using "Run as Administrator")
blosc>=1.8.1
matplotlib>=3.0.3
webdavclient==1.0.8
# May be troublesome in generating Windows executable
owlready2==0.23
pykml==0.1.3
geojson>=2.4.1
nbformat>=5.0.7
attrs>=19.3.0
Flask>=1.0.2
Flask_Session>=0.3.1
Flask_Cors==3.0.3
Werkzeug==0.15.5  # >=
requests==2.21.0  # >=Fe
requests_cache==0.4.13
pycurl>=7.43.0.6
SQLAlchemy>=1.3.3
redis>=2.10.6
pyparsing>=2.2.0
numpy>=1.16.0
pandas>=1.0.3
pandas_datareader>=0.9.0
pandaSDMX==0.9
sdmx>=0.2.10
regex>=2017.11.9
chardet>=3.0.4
anytree>=2.2.2
networkx>=2.2
multidict>=3.3.2
xmltodict>=0.11.0
Pint>=0.8.1
xlrd==1.2.0
fire>=0.4.0
# NOTE: Only 2.4.8 allows to display Workbooks in the Kendo Spreadsheet component...
#       A Workaround is to prepare two virtualenv's:
#         1. virtualenv nisfrontend -> pip install nexinfosys -> pip install openpyxl==2.4.8
#         2. virtualenv nis_as_package -> pip install nexinfosys (or as a dependence)
# In environment 1., (cd [environment 1.] && . bin/activate && gunicorn --workers=3 --log-level=2000 --bind 0.0.0.0:5000 nexinfosys.restful_service.service_main:app
# Run embedding application in environemnt 2.
openpyxl>=2.4.8
xlsxwriter==1.0.4
lxml==4.6.2
#jsonpickle==0.9.6
jsonpickle==1.2
dotted>=0.1.8 # <- Dotted notation: !!Fantastic!!
NamedAtomicLock==1.1.3
# aadict>=0.2.3
# uncertainties>=3.1.2
# pyarrow==1.0.0
# celery>=4.3.0
# pymonetdb>=1.1.1
# sqlalchemy_monetdb==0.9.3
# cubes==1.1
# brightway2==2.3
#psycopg2==2.7.3.2  # Removed because it requires having PostgreSQL installed. It is explicitly in the Dockerfile
# REMOVE "geopandas" for Windows
# geopandas>=0.4.1
#redislite>=5.0.124623  # Disabled because it leads to a problem in "setup.py". It is explicitly used in the Dockerfile
#koala2==0.0.17
# python_magic>=0.4.13  # To be removed, it is used only by the Magic Box file type detection
# sympy>=1.1.1
#sympy==1.3
#cachier==1.2.2
#tablib <- dictmapper (convert nested dict's to CSV)

# ############################### CANDIDATE LIBRARIES #################################

# Mondrian cubes generator
#PyMondrian <- https://github.com/gabitoju/pymondrian
#XMondrian : NOT a Python package, a self-contained Mondrian WAR <- https://github.com/rpbouman/xmondrian, http://rpbouman.blogspot.com.es/2016/03/need-mondrian-war-checkout-xmondrian.html

# Dotted notation
#j = {"a": [{"b": 5, "c": "hola"},{"b": 2, "c": "adios"}], "g": {"t": "hello", "r": "bye"}}
#python-box <- INTERESTING, MATURE
#mo-dots
#dpath <- ~ Could be, there are some quirks for cases with a bit more complexity
#mydict <- does not support list indices inside the dot notation

#objdict (substitute namedtuple, namedlists, OrderedDict, with LESS performance) Supports DOT notation
#JsonWeb (overlaps "objdict")
#DataModelDict (maybe interesting for Backend - Frontend communication)

# JSONPath, ObjectPath, JMESPath
#dpath
#jpath (2013... but seems interesting, it was mature at that time)
#jsonpath-ng

# Dublin Core XML generation
#dcxml 0.1.0

# RDFLib
# JSONPath
# Cubes (https://github.com/DataBrewery/cubes) Warning!: It is not very active