Skip to main content

Python bindings for the Operon symbolic regression library

Project description

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

Due to ABI incompatiblity, the PyOperon version on PyPI is outdated. The wheels are instead released on github: https://github.com/heal-research/pyoperon/releases/

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

pyoperon-0.4.0-cp312-cp312-manylinux_2_28_x86_64.whl (1.7 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.28+ x86-64

pyoperon-0.4.0-cp312-cp312-manylinux_2_28_aarch64.whl (1.4 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.28+ ARM64

pyoperon-0.4.0-cp312-cp312-macosx_14_0_arm64.whl (1.1 MB view hashes)

Uploaded CPython 3.12 macOS 14.0+ ARM64

pyoperon-0.4.0-cp312-cp312-macosx_13_0_x86_64.whl (1.2 MB view hashes)

Uploaded CPython 3.12 macOS 13.0+ x86-64

pyoperon-0.4.0-cp312-cp312-macosx_12_0_x86_64.whl (1.2 MB view hashes)

Uploaded CPython 3.12 macOS 12.0+ x86-64

pyoperon-0.4.0-cp312-cp312-macosx_11_0_x86_64.whl (1.2 MB view hashes)

Uploaded CPython 3.12 macOS 11.0+ x86-64

pyoperon-0.4.0-cp311-cp311-manylinux_2_28_x86_64.whl (1.7 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.28+ x86-64

pyoperon-0.4.0-cp311-cp311-manylinux_2_28_aarch64.whl (1.4 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.28+ ARM64

pyoperon-0.4.0-cp311-cp311-macosx_14_0_arm64.whl (1.1 MB view hashes)

Uploaded CPython 3.11 macOS 14.0+ ARM64

pyoperon-0.4.0-cp311-cp311-macosx_13_0_x86_64.whl (1.2 MB view hashes)

Uploaded CPython 3.11 macOS 13.0+ x86-64

pyoperon-0.4.0-cp311-cp311-macosx_12_0_x86_64.whl (1.2 MB view hashes)

Uploaded CPython 3.11 macOS 12.0+ x86-64

pyoperon-0.4.0-cp311-cp311-macosx_11_0_x86_64.whl (1.2 MB view hashes)

Uploaded CPython 3.11 macOS 11.0+ x86-64

pyoperon-0.4.0-cp310-cp310-manylinux_2_28_x86_64.whl (1.7 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.28+ x86-64

pyoperon-0.4.0-cp310-cp310-manylinux_2_28_aarch64.whl (1.4 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.28+ ARM64

pyoperon-0.4.0-cp310-cp310-macosx_14_0_arm64.whl (1.1 MB view hashes)

Uploaded CPython 3.10 macOS 14.0+ ARM64

pyoperon-0.4.0-cp310-cp310-macosx_13_0_x86_64.whl (1.2 MB view hashes)

Uploaded CPython 3.10 macOS 13.0+ x86-64

pyoperon-0.4.0-cp310-cp310-macosx_12_0_x86_64.whl (1.2 MB view hashes)

Uploaded CPython 3.10 macOS 12.0+ x86-64

pyoperon-0.4.0-cp310-cp310-macosx_11_0_x86_64.whl (1.2 MB view hashes)

Uploaded CPython 3.10 macOS 11.0+ x86-64

pyoperon-0.4.0-cp39-cp39-manylinux_2_28_x86_64.whl (1.7 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.28+ x86-64

pyoperon-0.4.0-cp39-cp39-manylinux_2_28_aarch64.whl (1.4 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.28+ ARM64

pyoperon-0.4.0-cp39-cp39-macosx_14_0_arm64.whl (1.1 MB view hashes)

Uploaded CPython 3.9 macOS 14.0+ ARM64

pyoperon-0.4.0-cp39-cp39-macosx_13_0_x86_64.whl (1.2 MB view hashes)

Uploaded CPython 3.9 macOS 13.0+ x86-64

pyoperon-0.4.0-cp39-cp39-macosx_12_0_x86_64.whl (1.2 MB view hashes)

Uploaded CPython 3.9 macOS 12.0+ x86-64

pyoperon-0.4.0-cp39-cp39-macosx_11_0_x86_64.whl (1.2 MB view hashes)

Uploaded CPython 3.9 macOS 11.0+ x86-64

pyoperon-0.4.0-cp38-cp38-manylinux_2_28_x86_64.whl (1.7 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.28+ x86-64

pyoperon-0.4.0-cp38-cp38-manylinux_2_28_aarch64.whl (1.4 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.28+ ARM64

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page