Metadata-Version: 2.4
Name: pyoframe
Version: 1.0.0a0
Summary: Blazing fast linear program interface
Author-email: Bravos Power <dev@bravospower.com>
License-Expression: MIT
Project-URL: Homepage, https://bravos-power.github.io/pyoframe/
Project-URL: documentation, https://bravos-power.github.io/pyoframe/
Project-URL: repository, https://github.com/Bravos-Power/pyoframe/
Project-URL: Issues, https://github.com/Bravos-Power/pyoframe/issues
Classifier: Programming Language :: Python :: 3
Classifier: Operating System :: OS Independent
Classifier: Development Status :: 3 - Alpha
Classifier: Natural Language :: English
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: polars~=1.0
Requires-Dist: numpy
Requires-Dist: pyarrow
Requires-Dist: pandas
Requires-Dist: pyoptinterface<1,>=0.4.1
Provides-Extra: highs
Requires-Dist: highsbox; extra == "highs"
Provides-Extra: ipopt
Requires-Dist: pyoptinterface[nlp]; extra == "ipopt"
Requires-Dist: llvmlite<=0.44.0; extra == "ipopt"
Provides-Extra: dev
Requires-Dist: ruff==0.12.11; extra == "dev"
Requires-Dist: polars>=1.32.3; extra == "dev"
Requires-Dist: pytest==8.4.1; extra == "dev"
Requires-Dist: pytest-cov==6.2.1; extra == "dev"
Requires-Dist: sybil[pytest]==9.2.0; extra == "dev"
Requires-Dist: pre-commit==4.3.0; extra == "dev"
Requires-Dist: gurobipy==12.0.3; extra == "dev"
Requires-Dist: coverage==7.10.6; extra == "dev"
Requires-Dist: ipykernel==6.30.1; extra == "dev"
Requires-Dist: highsbox; extra == "dev"
Requires-Dist: pyoptinterface[nlp]; extra == "dev"
Requires-Dist: llvmlite<=0.44.0; extra == "dev"
Provides-Extra: docs
Requires-Dist: mkdocs-material~=9.6.18; extra == "docs"
Requires-Dist: mkdocstrings[python]~=0.30.0; extra == "docs"
Requires-Dist: mkdocs-git-revision-date-localized-plugin~=1.4.7; extra == "docs"
Requires-Dist: mkdocs-git-committers-plugin-2~=2.5.0; extra == "docs"
Requires-Dist: mkdocs-gen-files~=0.5.0; extra == "docs"
Requires-Dist: mkdocs-section-index~=0.3.10; extra == "docs"
Requires-Dist: mkdocs-awesome-nav~=3.1.2; extra == "docs"
Requires-Dist: doccmd==2025.4.8; extra == "docs"
Requires-Dist: mkdocs-table-reader-plugin~=3.1.0; extra == "docs"
Requires-Dist: markdown-katex==202406.1035; extra == "docs"
Requires-Dist: mike==2.1.3; extra == "docs"
Requires-Dist: ruff==0.12.11; extra == "docs"
Dynamic: license-file

# Pyoframe: Fast and low-memory linear programming models 

[![codecov](https://codecov.io/gh/Bravos-Power/pyoframe/graph/badge.svg?token=8258XESRYQ)](https://codecov.io/gh/Bravos-Power/pyoframe)
[![Build](https://github.com/Bravos-Power/pyoframe/actions/workflows/ci.yml/badge.svg)](https://github.com/Bravos-Power/pyoframe/actions/workflows/ci.yml)
[![Docs](https://github.com/Bravos-Power/pyoframe/actions/workflows/publish_doc.yml/badge.svg)](https://Bravos-Power.github.io/pyoframe/reference/)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![Issues Needing Triage](https://img.shields.io/github/issues-search/Bravos-Power/pyoframe?query=no%3Alabel%20is%3Aopen&label=Needs%20Triage)](https://github.com/Bravos-Power/pyoframe/issues?q=is%3Aopen+is%3Aissue+no%3Alabel)
[![Open Bugs](https://img.shields.io/github/issues-search/Bravos-Power/pyoframe?query=label%3Abug%20is%3Aopen&label=Open%20Bugs)](https://github.com/Bravos-Power/pyoframe/issues?q=is%3Aopen+is%3Aissue+label%3Abug)


A library to rapidly and memory-efficiently formulate large and sparse optimization models using Pandas or Polars DataFrames.

## **[Documentation](https://bravos-power.github.io/pyoframe/)**

[Read the documentation](https://bravos-power.github.io/pyoframe/) to get started or to learn how to [contribute](https://bravos-power.github.io/pyoframe/contribute/index.md).


## Acknowledgments

Martin Staadecker first created this library while working for [Bravos Power](https://www.bravospower.com/). The library takes inspiration from Linopy and Pyomo, two prior libraries for optimization for which we are thankful.

