.. raw:: latex \newpage 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`