Skip to content

qoco-org/qoco-python

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

174 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

QOCO Python

drawing

PyPI Downloads Documentation License

This repository contains the python wrapper for QOCO and the code generator QOCOGEN.

QOCOGEN is a code generator which takes in an second-order cone program problem family and generates a customized C solver (called qoco_custom) for the specified problem family which implements the same algorithm as QOCO. This customized solver is library-free, only uses static memory allocation, and can be a few times faster than QOCO.

Installation and Usage

You can install qoco-python by running pip install qoco.

For instructions on using the wrapper for QOCO, refer to API, and simple example for an example of solving a simple SOCP with the python wrapper.

For instructions on using QOCOGEN, refer to the documentation.

Tests

To run tests, first install cvxpy and pytest

pip install cvxpy pytest

and execute:

pytest

Bug reports

File any issues or bug reports using the issue tracker.

Citing

@misc{chari2025qoco,
  title         = {Custom Solver Generation for Quadratic Objective Second-Order Cone Programs},
  author        = {Chari, Govind M and A{\c{c}}{\i}kme{\c{s}}e, Beh{\c{c}}et},
  year          = {2025},
  eprint        = {2503.12658},
  archiveprefix = {arXiv},
  primaryclass  = {math.OC},
  url           = {https://arxiv.org/abs/2503.12658}
}

License

QOCO is licensed under the BSD-3-Clause license.

About

Python interface for the QOCO solver

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors