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

 

History

317 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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 package manager)
micromamba env create -f environment.yml
micromamba activate pyoperon
  1. Build the C++ dependencies and install pyoperon
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
git clone https://github.com/heal-research/pyoperon.git
cd pyoperon
  1. Enter the dev shell and install pyoperon into a virtual environment
nix develop .#pyenv
virtualenv --system-site-packages .venv
source .venv/bin/activate
pip install scikit-build-core
pip install --no-build-isolation .
  1. Run the tests (optional)
pip install --no-build-isolation '.[test]'
pytest tests/ -v

Contributing

See the CONTRIBUTING document.

About

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

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors