Skip to main content

Python Wheels for eggp algorithm.

Project description

eggp - e-graph GP

eggp (e-graph genetic programming), follows the same structure as the traditional GP. The initial population is created using ramped half-and-half respecting a maximum size and maximum depth parameter and, for a number of generations, it will choose two parents using tournament selection, apply the subtree crossover with probability $pc$ followed by the subtree mutation with probability $pm$, when the offsprings replace the current population following a dominance criteria.

The key differences of eggp are:

- new solutions are inserted into the e-graph followed by one step of equality saturation to find and store some of the  equivalent expressions of the new offspring.
- the current population is replaced by the set of individuals formed by: the Pareto front, the next front after excluding the first Pareto-front, and a selection of the last offspring at random until it reaches the desired population size.
- the subtree crossover and mutation are modified to try to generate an unvisited exp

This repository provides a CLI and a Python package for eggp with a scikit-learn compatible API for symbolic regression.

Instructions:

CLI

How to use

eggp - E-graph Genetic Programming for Symbolic Regression.

Usage: eggp (-d|--dataset INPUT-FILE) [-t|--test ARG] [-g|--generations GENS]
            (-s|--maxSize ARG) [-k|--split ARG] [--print-pareto] [--trace] 
            [--loss ARG] [--opt-iter ARG] [--opt-retries ARG] 
            [--number-params ARG] [--nPop ARG] [--tournament-size ARG] 
            [--pc ARG] [--pm ARG] [--non-terminals ARG] [--dump-to ARG] 
            [--load-from ARG] [--moo]

  An implementation of GP with modified crossover and mutation operators
  designed to exploit equality saturation and e-graphs.
  https://arxiv.org/abs/2501.17848

Available options:
  -d,--dataset INPUT-FILE  CSV dataset.
  -t,--test ARG            test data (default: "")
  -g,--generations GENS    Number of generations. (default: 100)
  -s,--maxSize ARG         max-size.
  -k,--split ARG           k-split ratio training-validation (default: 1)
  --print-pareto           print Pareto front instead of best found expression
  --trace                  print all evaluated expressions.
  --loss ARG               loss function: MSE, Gaussian, Poisson, Bernoulli.
                           (default: MSE)
  --opt-iter ARG           number of iterations in parameter optimization.
                           (default: 30)
  --opt-retries ARG        number of retries of parameter fitting. (default: 1)
  --number-params ARG      maximum number of parameters in the model. If this
                           argument is absent, the number is bounded by the
                           maximum size of the expression and there will be no
                           repeated parameter. (default: -1)
  --nPop ARG               population size (Default: 100). (default: 100)
  --tournament-size ARG    tournament size. (default: 2)
  --pc ARG                 probability of crossover. (default: 1.0)
  --pm ARG                 probability of mutation. (default: 0.3)
  --non-terminals ARG      set of non-terminals to use in the search.
                           (default: "Add,Sub,Mul,Div,PowerAbs,Recip")
  --dump-to ARG            dump final e-graph to a file. (default: "")
  --load-from ARG          load initial e-graph from a file. (default: "")
  --moo                    replace the current population with the pareto front
                           instead of replacing it with the generated children.
  -h,--help                Show this help text

The dataset file must contain a header with each features name, and the --dataset and --test arguments can be accompanied by arguments separated by ':' following the format:

filename.ext:start_row:end_row:target:features

where each ':' field is optional. The fields are:

  • start_row:end_row is the range of the training rows (default 0:nrows-1). every other row not included in this range will be used as validation
  • target is either the name of the (if the datafile has headers) or the index of the target variable
  • features is a comma separated list of names or indices to be used as input variables of the regression model.

Example of valid names: dataset.csv, mydata.tsv, dataset.csv:20:100, dataset.tsv:20:100:price:m2,rooms,neighborhood, dataset.csv:::5:0,1,2.

The format of the file will be determined by the extension (e.g., csv, tsv,...). To use multi-view, simply pass multiple filenames in double-quotes:

eggp --dataset "dataset1.csv dataset2.csv dataset3.csv" ...

Installation

To install eggp you'll need:

  • libz
  • libnlopt
  • libgmp
  • ghc-9.6.6
  • cabal or stack

Method 1: PIP

Simply run:

pip install eggp 

under your Python environment.

Method 2: cabal

After installing the dependencies (e.g., apt install libz libnlopt libgmp), install ghcup

For Linux, macOS, FreeBSD or WSL2:

curl --proto '=https' --tlsv1.2 -sSf https://get-ghcup.haskell.org | sh

For Windows, run the following in a PowerShell:

Set-ExecutionPolicy Bypass -Scope Process -Force;[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; try { & ([ScriptBlock]::Create((Invoke-WebRequest https://www.haskell.org/ghcup/sh/bootstrap-haskell.ps1 -UseBasicParsing))) -Interactive -DisableCurl } catch { Write-Error $_ }

After the installation, run ghcup tui and install the latest stack or cabal together with ghc-9.6.6 (select the items and press i). To install srsimplify simply run:

cabal install

Python

Features

  • Scikit-learn compatible API with fit() and predict() methods
  • Genetic programming approach with e-graph representation
  • Support for multi-view symbolic regression see here
  • Customizable evolutionary parameters (population size, tournament selection, etc.)
  • Flexible function set selection
  • Various loss functions for different problem types
  • Parameter optimization with multiple restarts
  • Optional expression simplification through equality saturation
  • Ability to save and load e-graphs

Usage

Basic Example

from eggp import EGGP
import numpy as np

# Create sample data
X = np.linspace(-10, 10, 100).reshape(-1, 1)
y = 2 * X.ravel() + 3 * np.sin(X.ravel()) + np.random.normal(0, 1, 100)

# Create and fit the model
model = EGGP(gen=100, nonterminals="add,sub,mul,div,sin,cos")
model.fit(X, y)

# Make predictions
y_pred = model.predict(X)

# Examine the results
print(model.results)

Multi-View Symbolic Regression

from eggp import EGGP
import numpy as np

# Create multiple views of data
X1 = np.linspace(-5, 5, 50).reshape(-1, 1)
y1 = np.sin(X1.ravel()) + np.random.normal(0, 0.1, 50)

X2 = np.linspace(0, 10, 100).reshape(-1, 1)
y2 = np.sin(X2.ravel()) + np.random.normal(0, 0.2, 100)

# Create and fit multi-view model
model = EGGP(gen=150, nPop=200)
model.fit_mvsr([X1, X2], [y1, y2])

# Make predictions for each view
y_pred1 = model.predict_mvsr(X1, view=0)
y_pred2 = model.predict_mvsr(X2, view=1)

Integration with scikit-learn

from sklearn.model_selection import train_test_split
from sklearn.metrics import mean_squared_error
from eggp import EGGP

# Split data
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)

# Create and fit model
model = EGGP(gen=150, nPop=150, optIter=100)
model.fit(X_train, y_train)

# Evaluate on test set
y_pred = model.predict(X_test)
mse = mean_squared_error(y_test, y_pred)
print(f"Test MSE: {mse}")

Parameters

Parameter Type Default Description
gen int 100 Number of generations to run
nPop int 100 Population size
maxSize int 15 Maximum allowed size for expressions (max 100)
nTournament int 3 Tournament size for parent selection
pc float 0.9 Probability of performing crossover
pm float 0.3 Probability of performing mutation
nonterminals str "add,sub,mul,div" Comma-separated list of allowed functions
loss str "MSE" Loss function: "MSE", "Gaussian", "Bernoulli", or "Poisson"
optIter int 50 Number of iterations for parameter optimization
optRepeat int 2 Number of restarts for parameter optimization
nParams int -1 Maximum number of parameters (-1 for unlimited)
split int 1 Data splitting ratio for validation
simplify bool False Whether to apply equality saturation to simplify expressions
dumpTo str "" Filename to save the final e-graph
loadFrom str "" Filename to load an e-graph to resume search

Available Functions

The following functions can be used in the nonterminals parameter:

  • Basic operations: add, sub, mul, div
  • Powers: power, powerabs, square, cube
  • Roots: sqrt, sqrtabs, cbrt
  • Trigonometric: sin, cos, tan, asin, acos, atan
  • Hyperbolic: sinh, cosh, tanh, asinh, acosh, atanh
  • Others: abs, log, logabs, exp, recip, aq (analytical quotient)

Methods

Core Methods

  • fit(X, y): Fits the symbolic regression model
  • predict(X): Generates predictions using the best model
  • score(X, y): Computes R² score of the best model

Multi-View Methods

  • fit_mvsr(Xs, ys): Fits a multi-view regression model
  • predict_mvsr(X, view): Generates predictions for a specific view
  • evaluate_best_model_view(X, view): Evaluates the best model on a specific view
  • evaluate_model_view(X, ix, view): Evaluates a specific model on a specific view

Utility Methods

  • evaluate_best_model(X): Evaluates the best model on the given data
  • evaluate_model(ix, X): Evaluates the model with index ix on the given data
  • get_model(idx): Returns a model function and its visual representation

Results

After fitting, the results attribute contains a pandas DataFrame with details about the discovered models, including:

  • Mathematical expressions
  • Model complexity
  • Parameter values
  • Error metrics
  • NumPy-compatible expressions

License

[LICENSE]

Citation

If you use EGGP in your research, please cite:

@inproceedings{eggp,
author = {de Franca, Fabricio Olivetti and Kronberger, Gabriel},
title = {Improving Genetic Programming for Symbolic Regression with Equality Graphs},
year = {2025},
isbn = {9798400714658},
publisher = {Association for Computing Machinery},
address = {New York, NY, USA},
url = {https://doi.org/10.1145/3712256.3726383},
doi = {10.1145/3712256.3726383},
booktitle = {Proceedings of the Genetic and Evolutionary Computation Conference},
pages = {},
numpages = {9},
keywords = {Symbolic regression, Genetic programming, Equality saturation, Equality graphs},
location = {Malaga, Spain},
series = {GECCO '25},
archivePrefix = {arXiv},
       eprint = {2501.17848},
 primaryClass = {cs.LG}, 
}

Acknowledgments

The bindings were created following the amazing example written by wenkokke

Fabricio Olivetti de Franca is supported by Conselho Nacional de Desenvolvimento Cient'{i}fico e Tecnol'{o}gico (CNPq) grant 301596/2022-0.

Gabriel Kronberger is supported by the Austrian Federal Ministry for Climate Action, Environment, Energy, Mobility, Innovation and Technology, the Federal Ministry for Labour and Economy, and the regional government of Upper Austria within the COMET project ProMetHeus (904919) supported by the Austrian Research Promotion Agency (FFG).

Project details


Download files

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

Source Distribution

eggp-1.0.15.tar.gz (56.9 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

eggp-1.0.15-cp313-cp313-manylinux_2_28_x86_64.whl (24.7 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

eggp-1.0.15-cp313-cp313-manylinux_2_28_aarch64.whl (26.7 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ ARM64

eggp-1.0.15-cp313-cp313-macosx_14_0_x86_64.whl (13.0 MB view details)

Uploaded CPython 3.13macOS 14.0+ x86-64

eggp-1.0.15-cp313-cp313-macosx_14_0_arm64.whl (12.0 MB view details)

Uploaded CPython 3.13macOS 14.0+ ARM64

eggp-1.0.15-cp312-cp312-manylinux_2_28_x86_64.whl (24.7 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

eggp-1.0.15-cp312-cp312-manylinux_2_28_aarch64.whl (26.7 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ ARM64

eggp-1.0.15-cp312-cp312-macosx_14_0_x86_64.whl (13.0 MB view details)

Uploaded CPython 3.12macOS 14.0+ x86-64

eggp-1.0.15-cp312-cp312-macosx_14_0_arm64.whl (12.0 MB view details)

Uploaded CPython 3.12macOS 14.0+ ARM64

eggp-1.0.15-cp311-cp311-manylinux_2_28_x86_64.whl (24.7 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

eggp-1.0.15-cp311-cp311-manylinux_2_28_aarch64.whl (26.7 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ ARM64

eggp-1.0.15-cp311-cp311-macosx_14_0_x86_64.whl (13.0 MB view details)

Uploaded CPython 3.11macOS 14.0+ x86-64

eggp-1.0.15-cp311-cp311-macosx_14_0_arm64.whl (12.0 MB view details)

Uploaded CPython 3.11macOS 14.0+ ARM64

eggp-1.0.15-cp310-cp310-manylinux_2_28_x86_64.whl (24.7 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ x86-64

eggp-1.0.15-cp310-cp310-manylinux_2_28_aarch64.whl (26.7 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ ARM64

eggp-1.0.15-cp310-cp310-macosx_14_0_x86_64.whl (13.0 MB view details)

Uploaded CPython 3.10macOS 14.0+ x86-64

eggp-1.0.15-cp310-cp310-macosx_14_0_arm64.whl (12.0 MB view details)

Uploaded CPython 3.10macOS 14.0+ ARM64

eggp-1.0.15-cp39-cp39-manylinux_2_28_x86_64.whl (24.7 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.28+ x86-64

eggp-1.0.15-cp39-cp39-manylinux_2_28_aarch64.whl (26.7 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.28+ ARM64

eggp-1.0.15-cp39-cp39-macosx_14_0_x86_64.whl (13.0 MB view details)

Uploaded CPython 3.9macOS 14.0+ x86-64

eggp-1.0.15-cp39-cp39-macosx_14_0_arm64.whl (12.0 MB view details)

Uploaded CPython 3.9macOS 14.0+ ARM64

File details

Details for the file eggp-1.0.15.tar.gz.

File metadata

  • Download URL: eggp-1.0.15.tar.gz
  • Upload date:
  • Size: 56.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for eggp-1.0.15.tar.gz
Algorithm Hash digest
SHA256 6a32af90f8f7881737bf2f3eb259e7da677309adba0f70fe798de35b4d4af312
MD5 7507574670e646134077d6f48e40bb17
BLAKE2b-256 9bea6ed42a3ce8c4e00e39f7decc5530535575f4ac75e1e7e1a0f422fdbe8ca7

See more details on using hashes here.

Provenance

The following attestation bundles were made for eggp-1.0.15.tar.gz:

Publisher: release.yml on folivetti/eggp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file eggp-1.0.15-cp313-cp313-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for eggp-1.0.15-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 9e505f35c4cad9a6e06a3707eb1c3617d1a4d9e185137d04891c0ec13e7c18f5
MD5 2a0dfdc6e2edcd9584507800f89aac8a
BLAKE2b-256 6f619fd80337cd03780d572971dd506cd77db304055203c076878dcbbcb1c264

See more details on using hashes here.

Provenance

The following attestation bundles were made for eggp-1.0.15-cp313-cp313-manylinux_2_28_x86_64.whl:

Publisher: release.yml on folivetti/eggp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file eggp-1.0.15-cp313-cp313-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for eggp-1.0.15-cp313-cp313-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 750971cc1f0ce155c17cfc765c5806eb8f1e545328fe3d01fabd1cfa35afd47d
MD5 5eaeb9bad23628b637a0958f020295d1
BLAKE2b-256 385857b2f7622c33e8fe1bc8b6f0e87347498bd1354a655fa62267beea43a5d2

See more details on using hashes here.

Provenance

The following attestation bundles were made for eggp-1.0.15-cp313-cp313-manylinux_2_28_aarch64.whl:

Publisher: release.yml on folivetti/eggp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file eggp-1.0.15-cp313-cp313-macosx_14_0_x86_64.whl.

File metadata

File hashes

Hashes for eggp-1.0.15-cp313-cp313-macosx_14_0_x86_64.whl
Algorithm Hash digest
SHA256 82196224e9f19e354d123f986e5a93c63500dfe26d72746a8909137cc5c8b283
MD5 4d76ae460580337838948828dbd19fbe
BLAKE2b-256 6fa68267fbd4b6724deb96d85c413ce3fbb53a20ecded98557ccc9a71d52d484

See more details on using hashes here.

Provenance

The following attestation bundles were made for eggp-1.0.15-cp313-cp313-macosx_14_0_x86_64.whl:

Publisher: release.yml on folivetti/eggp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file eggp-1.0.15-cp313-cp313-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for eggp-1.0.15-cp313-cp313-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 13ae398d2147a7721ec255e58aca2d859a812ae890bbdea8d0bd41762e05fb8d
MD5 1a310398830deca45e5cd425a4f7264a
BLAKE2b-256 0a3653d55e029ebbc913a7187b3c2846dc221b7c72c348e23292ab20fed8c8a3

See more details on using hashes here.

Provenance

The following attestation bundles were made for eggp-1.0.15-cp313-cp313-macosx_14_0_arm64.whl:

Publisher: release.yml on folivetti/eggp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file eggp-1.0.15-cp312-cp312-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for eggp-1.0.15-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 3cf7d0b396e5efe8a3d1930560bba8a7ff63c6eac122279ab172a2ee8720a524
MD5 70e488a95cb82ff8c9102c015d14765a
BLAKE2b-256 ca1f65bf647fbab4f526271bf737125d3cfe6f169ac64017225296a987eb84c2

See more details on using hashes here.

Provenance

The following attestation bundles were made for eggp-1.0.15-cp312-cp312-manylinux_2_28_x86_64.whl:

Publisher: release.yml on folivetti/eggp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file eggp-1.0.15-cp312-cp312-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for eggp-1.0.15-cp312-cp312-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 56776e3ccff1b88d22c9dce4f5e6a3d982b706818988817c6d1eb54005a982c5
MD5 7ca8f970761304a84bfa941a272cf381
BLAKE2b-256 8b8dd6da8c6cbf9006a04b470aa050b3a42d6034d2f887456c3bb28a39237ef2

See more details on using hashes here.

Provenance

The following attestation bundles were made for eggp-1.0.15-cp312-cp312-manylinux_2_28_aarch64.whl:

Publisher: release.yml on folivetti/eggp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file eggp-1.0.15-cp312-cp312-macosx_14_0_x86_64.whl.

File metadata

File hashes

Hashes for eggp-1.0.15-cp312-cp312-macosx_14_0_x86_64.whl
Algorithm Hash digest
SHA256 55d7f56d69c857a2911c2dde05bc2e75c4deb3a7cebd18450417bfc99d6620d8
MD5 80e7b09f21e506172910767350328fa3
BLAKE2b-256 104113f7d96ab987513962285cac59dec4c64b1215963dd8dfd1951d51af5d9a

See more details on using hashes here.

Provenance

The following attestation bundles were made for eggp-1.0.15-cp312-cp312-macosx_14_0_x86_64.whl:

Publisher: release.yml on folivetti/eggp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file eggp-1.0.15-cp312-cp312-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for eggp-1.0.15-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 deebf4d7951314b4682acf6def3516ce4afcfd6bd884e4bf2f5b39b7bd76f7c2
MD5 f2d48d08000eda31ac7a5773b7fc607c
BLAKE2b-256 6eba82e45d6b4630347b3010c78769e973c1cef5126e56913beffac2dd412dfc

See more details on using hashes here.

Provenance

The following attestation bundles were made for eggp-1.0.15-cp312-cp312-macosx_14_0_arm64.whl:

Publisher: release.yml on folivetti/eggp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file eggp-1.0.15-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for eggp-1.0.15-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 0ab476ef854bd1abbe1b8fab129b25816d81c922b223c0b553ba9a4300622b04
MD5 2f5ea89c69e995533896fd40b58e1ecc
BLAKE2b-256 0988367ac1bc5321ba39b634775b16c065804e135d9302a8c4952a193e324458

See more details on using hashes here.

Provenance

The following attestation bundles were made for eggp-1.0.15-cp311-cp311-manylinux_2_28_x86_64.whl:

Publisher: release.yml on folivetti/eggp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file eggp-1.0.15-cp311-cp311-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for eggp-1.0.15-cp311-cp311-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 91c361d511026ae49b8e8fc7c521ee3bcbc75fbcfe2ece734e9b339d4907f657
MD5 b5ed44320f2e21abce6b05ce97c4ab3d
BLAKE2b-256 15c18e5cd10f60491a7828a4e716b8ae520f1a13c87ddd400064b41826f999e3

See more details on using hashes here.

Provenance

The following attestation bundles were made for eggp-1.0.15-cp311-cp311-manylinux_2_28_aarch64.whl:

Publisher: release.yml on folivetti/eggp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file eggp-1.0.15-cp311-cp311-macosx_14_0_x86_64.whl.

File metadata

File hashes

Hashes for eggp-1.0.15-cp311-cp311-macosx_14_0_x86_64.whl
Algorithm Hash digest
SHA256 d42eda2531623f8569b2539ddd1faf1c8ea04022923ddc5d304a384166d35d2b
MD5 f17331dcf92960dd125df259beb2096f
BLAKE2b-256 2de549dab244d5e79529fee1f8f3c1920034a59c400e7c345a62732432629b75

See more details on using hashes here.

Provenance

The following attestation bundles were made for eggp-1.0.15-cp311-cp311-macosx_14_0_x86_64.whl:

Publisher: release.yml on folivetti/eggp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file eggp-1.0.15-cp311-cp311-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for eggp-1.0.15-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 1b6d47be7670ef4d8d53ad99c0bf213ad90e5d5b4332e288caeb590cfd0d53aa
MD5 fee9fd1cbc6b753045e4f99049ed42c5
BLAKE2b-256 c58bcf5968f965969565623f03fdc01cdb3e47adfee25b1bd63ac411349c81cd

See more details on using hashes here.

Provenance

The following attestation bundles were made for eggp-1.0.15-cp311-cp311-macosx_14_0_arm64.whl:

Publisher: release.yml on folivetti/eggp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file eggp-1.0.15-cp310-cp310-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for eggp-1.0.15-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 df3dc4a8763ce15e20d6146cc00594efc26be58d5243495e4c5157fff728cd64
MD5 a9243a0735d6be6747eb6630b5567f3d
BLAKE2b-256 159de11e622583105795aa9ca363425d2eb5022b1bd0cfc1232ad186113128e8

See more details on using hashes here.

Provenance

The following attestation bundles were made for eggp-1.0.15-cp310-cp310-manylinux_2_28_x86_64.whl:

Publisher: release.yml on folivetti/eggp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file eggp-1.0.15-cp310-cp310-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for eggp-1.0.15-cp310-cp310-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 94ae7d2d7cc62bd31b5446137812024919a3882f49ba008c73d0f574886d189b
MD5 1d3622a83317c749a6c2016c48c27d43
BLAKE2b-256 b40deb168402246b0884c5d297341a948d233c9b593b754cdd3da97067f189de

See more details on using hashes here.

Provenance

The following attestation bundles were made for eggp-1.0.15-cp310-cp310-manylinux_2_28_aarch64.whl:

Publisher: release.yml on folivetti/eggp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file eggp-1.0.15-cp310-cp310-macosx_14_0_x86_64.whl.

File metadata

File hashes

Hashes for eggp-1.0.15-cp310-cp310-macosx_14_0_x86_64.whl
Algorithm Hash digest
SHA256 8c024943775973bd2fcdb4faeb5959fbce30477dcb44fa22a44e65a5cffba66f
MD5 bef5c0616e6499cbe7f932de5f1ace90
BLAKE2b-256 83e4943911f8efe51b8ea83c009812adfcd50ba25132627ab31eae1c1cf584ef

See more details on using hashes here.

Provenance

The following attestation bundles were made for eggp-1.0.15-cp310-cp310-macosx_14_0_x86_64.whl:

Publisher: release.yml on folivetti/eggp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file eggp-1.0.15-cp310-cp310-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for eggp-1.0.15-cp310-cp310-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 bfb9049836ec4569bb07e5048332ac2e44395681ff0a4e8836b97b6a22dae1cd
MD5 57ae77c21453e3b99b44525fc9db2a99
BLAKE2b-256 0f10cc7ba076f3646de7383f5cb3e39abd09c526e8928b4a05f3cfd7139bb7af

See more details on using hashes here.

Provenance

The following attestation bundles were made for eggp-1.0.15-cp310-cp310-macosx_14_0_arm64.whl:

Publisher: release.yml on folivetti/eggp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file eggp-1.0.15-cp39-cp39-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for eggp-1.0.15-cp39-cp39-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 68c6faefbac7f9aa05204e4063116eb99991e5b6b1a523cc04d82e960b8477f8
MD5 a78233e874130f173df3fd653712ef9c
BLAKE2b-256 63457d68192512ed4a82e28a61335ed603befae960d36fb383941fb5e37bbe4e

See more details on using hashes here.

Provenance

The following attestation bundles were made for eggp-1.0.15-cp39-cp39-manylinux_2_28_x86_64.whl:

Publisher: release.yml on folivetti/eggp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file eggp-1.0.15-cp39-cp39-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for eggp-1.0.15-cp39-cp39-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 c4a2ed4f6e2c8f4db994deb41e5d085b5b8487acefdba3c3a3ef17991c31d29d
MD5 5d39354f02cd969aa1897b17169840e0
BLAKE2b-256 831f26a466ea2cdb45cfe27cb8027fa70ef4a1d66e578bbdd72f2ff4e8e1a637

See more details on using hashes here.

Provenance

The following attestation bundles were made for eggp-1.0.15-cp39-cp39-manylinux_2_28_aarch64.whl:

Publisher: release.yml on folivetti/eggp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file eggp-1.0.15-cp39-cp39-macosx_14_0_x86_64.whl.

File metadata

File hashes

Hashes for eggp-1.0.15-cp39-cp39-macosx_14_0_x86_64.whl
Algorithm Hash digest
SHA256 2ab6906cc4e121e50402c6677f2fc0d8361c3d8a929db1cd046de63ce10b8788
MD5 278c4044702d57af0fc3cfd4a7cdf3fd
BLAKE2b-256 1e24553657943248d4d05309ca5bd1cbedf17fcfca360b559203034b862b5eb8

See more details on using hashes here.

Provenance

The following attestation bundles were made for eggp-1.0.15-cp39-cp39-macosx_14_0_x86_64.whl:

Publisher: release.yml on folivetti/eggp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file eggp-1.0.15-cp39-cp39-macosx_14_0_arm64.whl.

File metadata

  • Download URL: eggp-1.0.15-cp39-cp39-macosx_14_0_arm64.whl
  • Upload date:
  • Size: 12.0 MB
  • Tags: CPython 3.9, macOS 14.0+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for eggp-1.0.15-cp39-cp39-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 fbd7aea15f25480b3d287152de137d877e20c6ae568a8d6ae5a8828e1ccc8f8a
MD5 a04a8aea0b05e65f0eb8152b0402223d
BLAKE2b-256 7e63984672f2db278b7139b74f0fc8168c89200be721376eb2c2cfcbfce36642

See more details on using hashes here.

Provenance

The following attestation bundles were made for eggp-1.0.15-cp39-cp39-macosx_14_0_arm64.whl:

Publisher: release.yml on folivetti/eggp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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