Installation¶
Chama requires Python (tested on 3.7-3.11) along with several Python package dependencies. Information on installing and using Python can be found at https://www.python.org/. Python distributions, such as Anaconda, are recommended to manage the Python interface.
To install the latest stable version of Chama using pip:
pip install chama
To install the development branch of Chama from source using git:
git clone https://github.com/sandialabs/chama
cd chama
python -m pip install .
Developers should build Chama using python -m pip install -e .
Dependencies¶
Required Python package dependencies include:
Pyomo [HLWW12]: Used to formulate optimization problems and call solvers, https://github.com/pyomo.
Pandas [Mcki13]: Used to analyze and store dataframes, http://pandas.pydata.org.
Numpy [VaCV11]: Used to analyze large, multi-dimensional arrays and matrices, http://www.numpy.org.
Scipy [VaCV11]: Used to support efficient routines for numerical analysis, http://www.scipy.org.
Setuptools: used to install the chama package, https://setuptools.pypa.io/
Optional Python package dependencies include:
Matplotlib [Hunt07]: Used to produce graphics, http://matplotlib.org.
pytest: Used to run software tests, https://docs.pytest.org/.
Required Pyomo supported MIP solver:
In addition to the Python package dependencies, a Pyomo supported MIP solver is required to solve the optimization problems formulated in Chama. Examples of solvers that meet this requirement include GLPK [Makh10], Gurobi [GUROBI], and CPLEX [CPLEX].
GLPK can be installed through conda-forge, conda install -c conda-forge glpk