Skip to content

Python bindings and scikit-learn interface for the Operon library for symbolic regression.

License

Notifications You must be signed in to change notification settings

heal-research/pyoperon

Folders and files

NameName
Last commit message
Last commit date

Latest commit

d5382c3 · Feb 7, 2025
Feb 7, 2025
Sep 1, 2022
Jan 20, 2022
Dec 4, 2021
Oct 1, 2024
Oct 1, 2024
Jan 20, 2022
Feb 7, 2025
Feb 7, 2025
Feb 7, 2025
Dec 4, 2021
Dec 4, 2021
Apr 18, 2022
Dec 4, 2021
May 30, 2024
Dec 4, 2021
Feb 7, 2025
Jun 1, 2024
Dec 4, 2021
Dec 4, 2021
Dec 4, 2021
Aug 28, 2022
Jul 3, 2024
Feb 7, 2025
Feb 7, 2025
Feb 7, 2025
Feb 7, 2025
Feb 7, 2025
Jan 14, 2022

Repository files navigation

pyoperon

License Build-linux Build-macos Matrix chat

pyoperon is the python bindings library of Operon, a modern C++ framework for symbolic regression developed by Heal-Research at the University of Applied Sciences Upper Austria.

A scikit-learn regressor is also available:

from pyoperon.sklearn import SymbolicRegressor

The example folder contains sample code for using either the Python bindings directly or the pyoperon.sklearn module.

Installation

New releases are published on github and on PyPI.

Most of the time pip install pyoperon should be enough.

Building from source

Conda/Mamba

  1. Clone the repository
git clone https://github.com/heal-research/pyoperon.git
cd pyoperon
  1. Install and activate the environment (replace micromamba with your actual program)
micromamba env create -f environment.yml
micromamba activate pyoperon
  1. Install the dependencies
export CC=${CONDA_PREFIX}/bin/clang
export CXX=${CONDA_PREFIX}/bin/clang++
./script/dependencies.sh
  1. Install pyoperon
pip install .

Nix

Use this environment created with poetry2nix

nix develop github:foolnotion/poetryenv --no-write-lock-file

This will install operon and dependencies. Modify the flake file if you need additional python libraries (see https://github.com/nix-community/poetry2nix#how-to-guides)

Contributing

See the CONTRIBUTING document.