https://github.com/heal-research/pyoperon
Python bindings and scikit-learn interface for the Operon library for symbolic regression.
https://github.com/heal-research/pyoperon
genetic-programming machine-learning parallel python sklearn-compatible symbolic-regression
Last synced: 11 days ago
JSON representation
Python bindings and scikit-learn interface for the Operon library for symbolic regression.
- Host: GitHub
- URL: https://github.com/heal-research/pyoperon
- Owner: heal-research
- License: mit
- Created: 2021-12-04T11:09:10.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2026-02-28T13:38:04.000Z (12 days ago)
- Last Synced: 2026-02-28T17:18:20.426Z (12 days ago)
- Topics: genetic-programming, machine-learning, parallel, python, sklearn-compatible, symbolic-regression
- Language: C++
- Homepage:
- Size: 975 KB
- Stars: 69
- Watchers: 7
- Forks: 16
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# pyoperon
[](https://github.com/heal-research/pyoperon/blob/master/LICENSE)
[](https://github.com/heal-research/pyoperon/actions/workflows/build-linux.yml)
[](https://github.com/heal-research/pyoperon/actions/workflows/build-macos.yml)
[](https://matrix.to/#/#operon:matrix.org)
**pyoperon** is the python bindings library of [**Operon**](https://github.com/heal-research/operon), a modern C++ framework for symbolic regression developed by [Heal-Research](https://github.com/heal-research) at the University of Applied Sciences Upper Austria.
A scikit-learn regressor is also available:
```python
from pyoperon.sklearn import SymbolicRegressor
```
The [example](https://github.com/heal-research/pyoperon/tree/main/example) folder contains sample code for using either the Python bindings directly or the **pyoperon.sklearn** module.
# Installation
New releases are published on [github](https://github.com/heal-research/pyoperon/releases/) and on [PyPI](https://pypi.org/project/pyoperon/).
Most of the time `pip install pyoperon` should be enough.
## Building from source
### Conda/Mamba
1. Clone the repository
```bash
git clone https://github.com/heal-research/pyoperon.git
cd pyoperon
```
2. Install and activate the environment (replace `micromamba` with your package manager)
```bash
micromamba env create -f environment.yml
micromamba activate pyoperon
```
3. Build the C++ dependencies and install `pyoperon`
```bash
export CC=clang
export CXX=clang++
python script/dependencies.py
pip install . --no-build-isolation
```
### Nix
The repository includes a `flake.nix` with a development shell that provides all C++ and Python dependencies.
1. Clone the repository
```bash
git clone https://github.com/heal-research/pyoperon.git
cd pyoperon
```
2. Enter the dev shell and install `pyoperon` into a virtual environment
```bash
nix develop .#pyenv
virtualenv --system-site-packages .venv
source .venv/bin/activate
pip install scikit-build-core
pip install --no-build-isolation .
```
3. Run the tests (optional)
```bash
pip install --no-build-isolation '.[test]'
pytest tests/ -v
```
# Contributing
See the [CONTRIBUTING](CONTRIBUTING.md) document.