Metadata-Version: 2.1
Name: cvxRiskOpt
Version: 0.2.0
Summary: Risk-Based Optimization tool using CVXPY and CVXPYgen
Home-page: https://github.com/TSummersLab/cvxRiskOpt
Author: Sleiman Safaoui, Tyler Summers
Author-email: snsafaoui@gmail.com, tyler.summers@utdallas.edu
Maintainer: Sleiman Safaoui
Maintainer-email: snsafaoui@gmail.com
License: Apache-2.0
Keywords: dro,risk,optimization,robust,code generation,mpc
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: scipy>=1.11.4
Requires-Dist: numpy>=1.26.2
Requires-Dist: matplotlib>=3.8.0
Requires-Dist: cvxpygen>=0.3.5
Requires-Dist: cvxpy>=1.4.3
Provides-Extra: dev
Requires-Dist: pytest==7.4.0; extra == "dev"
Requires-Dist: polytope==0.2.5; extra == "dev"
Requires-Dist: Sphinx==7.2.6; extra == "dev"

# CVXPY Risk Optimization

A package for risk-based optimization using CVXPY and CVXPYgen.

## Installation

### Installing from PyPI

The package can be installed using pip:

```bash
pip install cvxRiskOpt
```

Notes:

- The installation will also include cvxpy and cvxpygen.
- Please refer to cvxpy's documentation for [installing additional solvers](https://www.cvxpy.org/install/).
- Compiling code with Clarabel requires `Rust`, `Eigen`, and `cbindgen`. (e.g. These can be installed with `homebrew` on MacOS)
- Compiled code using the ECOS solver is licensed under the GNU General Public License v3.0.
- Please refer to the [cvxpygen](https://github.com/cvxgrp/cvxpygen) documentation for more details about compiled code.

### Installing from source

- Clone/Download the package
- Create and activate conda env

```bash
conda create --name cvxRiskOpt python=3.10 pip -y
conda activate cvxRiskOpt
```

- Install dependencies (see `setup.py`)
- Install the package

```bash
python3 -m pip install -e .
```

## Tests

To run tests, execute the following from the root of the package.

```bash
pytest
```

## Examples

There are several examples in `examples` demonstrating the usage of the package.
