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.12.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.12-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.12-cp313-cp313-manylinux_2_28_aarch64.whl (26.7 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ ARM64

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

Uploaded CPython 3.13macOS 14.0+ x86-64

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

Uploaded CPython 3.13macOS 14.0+ ARM64

eggp-1.0.12-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.12-cp312-cp312-manylinux_2_28_aarch64.whl (26.7 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ ARM64

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

Uploaded CPython 3.12macOS 14.0+ x86-64

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

Uploaded CPython 3.12macOS 14.0+ ARM64

eggp-1.0.12-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.12-cp311-cp311-manylinux_2_28_aarch64.whl (26.7 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ ARM64

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

Uploaded CPython 3.11macOS 14.0+ x86-64

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

Uploaded CPython 3.11macOS 14.0+ ARM64

eggp-1.0.12-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.12-cp310-cp310-manylinux_2_28_aarch64.whl (26.7 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ ARM64

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

Uploaded CPython 3.10macOS 14.0+ x86-64

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

Uploaded CPython 3.10macOS 14.0+ ARM64

eggp-1.0.12-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.12-cp39-cp39-manylinux_2_28_aarch64.whl (26.7 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.28+ ARM64

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

Uploaded CPython 3.9macOS 14.0+ x86-64

eggp-1.0.12-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.12.tar.gz.

File metadata

  • Download URL: eggp-1.0.12.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.12.tar.gz
Algorithm Hash digest
SHA256 569644713e7e02b5d5bc059dae6889ea961e5ed6a37cbff66b71ba125b04a6c7
MD5 6bc046a6ed0d5c2593aecaadd8f81358
BLAKE2b-256 02f604419a378b4b9b53f4df0bfdc1770ccf0a4337ce481e1023bdb78b2a1230

See more details on using hashes here.

Provenance

The following attestation bundles were made for eggp-1.0.12.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.12-cp313-cp313-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for eggp-1.0.12-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f467a438467b55ae1e33bfca8732cfe532ad0b04a203577bdddf60054aea4f93
MD5 16fe0040eae5f4997264677495375719
BLAKE2b-256 5f5ac6b4ca5916617b7a2cd0e0766c37d7f8df5d206ee1c7cd97ad26d89db2f6

See more details on using hashes here.

Provenance

The following attestation bundles were made for eggp-1.0.12-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.12-cp313-cp313-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for eggp-1.0.12-cp313-cp313-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 678b9c7d21e8495923562a8ef0b40819724fdd059191c2b4b59ceac79a57ebdc
MD5 fbf88c7e6cf24fcf7fcdfd90d01532a3
BLAKE2b-256 b354e2196cf969d18cf9f0994dfc87983b4344c1dd24ae86738cfaa477ce2999

See more details on using hashes here.

Provenance

The following attestation bundles were made for eggp-1.0.12-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.12-cp313-cp313-macosx_14_0_x86_64.whl.

File metadata

File hashes

Hashes for eggp-1.0.12-cp313-cp313-macosx_14_0_x86_64.whl
Algorithm Hash digest
SHA256 e875b42467fc2984dda4e36d2aaaadd64d505546f785e2c6909e88b820064eee
MD5 cf60377aef9ddbf340789c4843129ad1
BLAKE2b-256 f99a34cca4e2674492ac835b15bff100047f2664c3e3c96529dd8629037f2ca3

See more details on using hashes here.

Provenance

The following attestation bundles were made for eggp-1.0.12-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.12-cp313-cp313-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for eggp-1.0.12-cp313-cp313-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 07c6427d23a9aa0a52db0138e70f35a421946b4a4125fde63950bd10850ede31
MD5 979b39c1b099bdde204ec56e107e64c1
BLAKE2b-256 1c8e4b3563402f812615ed07d5febdcb21649055ea8d48a2134a7c947010bdbf

See more details on using hashes here.

Provenance

The following attestation bundles were made for eggp-1.0.12-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.12-cp312-cp312-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for eggp-1.0.12-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b2276956a6fa0016e5208769709dd2ef557af8ba3526ef8454da1da04d701a94
MD5 8d521d0cf22ae49201ef148f981d7bba
BLAKE2b-256 799ad1b49109bd2575be46cf9fb7aa1d3c1caf5305b988fe1c1f592f8f07352d

See more details on using hashes here.

Provenance

The following attestation bundles were made for eggp-1.0.12-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.12-cp312-cp312-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for eggp-1.0.12-cp312-cp312-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 8e25c99e1950bd6aee75472b9b648fbc354cc85523bb310d80aad801991e287d
MD5 1894adde44d66fb86d1b5d42ec9c3d55
BLAKE2b-256 c201b770c1ccf18f7a7a20065c5494368eae1547d6907e234d2e487fad103bf0

See more details on using hashes here.

Provenance

The following attestation bundles were made for eggp-1.0.12-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.12-cp312-cp312-macosx_14_0_x86_64.whl.

File metadata

File hashes

Hashes for eggp-1.0.12-cp312-cp312-macosx_14_0_x86_64.whl
Algorithm Hash digest
SHA256 066e99a07b40faae6e50228b4d46cd177354f2bf4b99694a790db31340afca18
MD5 521e3ba83075bc6dd4434384d3c0f201
BLAKE2b-256 c82351d930b3a4d16a2f6aeecd847442008a3f7b6150c64faac42fc0565252bf

See more details on using hashes here.

Provenance

The following attestation bundles were made for eggp-1.0.12-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.12-cp312-cp312-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for eggp-1.0.12-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 b76d9eb6e1621894cfb5337857d76305586c34104bf097ebcf10fc0b983303e7
MD5 531bd3cdeaf28d0b46a567efd4f20c8d
BLAKE2b-256 571c78de22934dcde647c9cfa47f43abddebdb17b20d4a7603e0d9c176e5ed38

See more details on using hashes here.

Provenance

The following attestation bundles were made for eggp-1.0.12-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.12-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for eggp-1.0.12-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 2127faec319d27888ff1e2446da7202e695c2e0ad67364763a5879e5c9450b31
MD5 72d8104db6630a8db3be9f1a0b9c4f01
BLAKE2b-256 2c77d37764e7425039fb51adeda1fe73f73716587dd54d461ad2b4be46eeb3dc

See more details on using hashes here.

Provenance

The following attestation bundles were made for eggp-1.0.12-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.12-cp311-cp311-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for eggp-1.0.12-cp311-cp311-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 297a5c9807ae59da9e712f7451ab3c5979e0489fecf0cfad3c22d1fecb0968e6
MD5 60f6c864ca50a44ca6c1c10a71514c3d
BLAKE2b-256 5325bb8b6749bc0c164d5232f789ffab9b255a9f481236ec0efd7c563c7e8e2c

See more details on using hashes here.

Provenance

The following attestation bundles were made for eggp-1.0.12-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.12-cp311-cp311-macosx_14_0_x86_64.whl.

File metadata

File hashes

Hashes for eggp-1.0.12-cp311-cp311-macosx_14_0_x86_64.whl
Algorithm Hash digest
SHA256 da02e292443a660f3448acdce05c7162320e9f6e346518f92cd500933dce7290
MD5 012e9ae5372a1191d4d74e205f1c2a64
BLAKE2b-256 262e584e0cd40d99be5f01dd682a0afd00fcb3f6f5a4be34dc94cebd34070440

See more details on using hashes here.

Provenance

The following attestation bundles were made for eggp-1.0.12-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.12-cp311-cp311-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for eggp-1.0.12-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 d3e7d74e6c3f4b2d88e1c93dfab3accf8b55cce9e3ad2b3bf3c8dc6d72be4c2a
MD5 1fc2613fd662efb996fa6fb1b2da2fef
BLAKE2b-256 f65826f0611794ad8d1225fff0fbc41d5a0a989dd333fd1a59e77627cefe230d

See more details on using hashes here.

Provenance

The following attestation bundles were made for eggp-1.0.12-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.12-cp310-cp310-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for eggp-1.0.12-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 e5ca20e9c0a2c741a59b5964443c1ada58297c99656c86fdc2b7a8b22eaf17a1
MD5 9503b1b0c39172fd6f08e4c91f75a030
BLAKE2b-256 429bbe3ac618a9df46115bcdf82894f0beddf2c851ac54513a2ebd2acb2c6b24

See more details on using hashes here.

Provenance

The following attestation bundles were made for eggp-1.0.12-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.12-cp310-cp310-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for eggp-1.0.12-cp310-cp310-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 e8f2259ccc891302d41f0f993d4c9d017de947743c2bc70ab95a3e270c03f2c3
MD5 0eb6b61efb378a8e2b79e92bb19e989d
BLAKE2b-256 933ea55a78a8c01c9dd99256dfdf0f4284c95fdf643b7826daa35dfa3a67f162

See more details on using hashes here.

Provenance

The following attestation bundles were made for eggp-1.0.12-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.12-cp310-cp310-macosx_14_0_x86_64.whl.

File metadata

File hashes

Hashes for eggp-1.0.12-cp310-cp310-macosx_14_0_x86_64.whl
Algorithm Hash digest
SHA256 62f0ae0e02794235dde39870f1e4010518ef84e0017e2eb3b110ea8e2b0ece98
MD5 c918fcd4bf1bb470a6af6c45da317412
BLAKE2b-256 c7c61a0d93d67132f76b1ff3eead0ed3a57bb5d4651a2548a8f19e85333833a1

See more details on using hashes here.

Provenance

The following attestation bundles were made for eggp-1.0.12-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.12-cp310-cp310-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for eggp-1.0.12-cp310-cp310-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 8ced2d0a5a51e0b63cd880bca43fa7350deb0de02c4da9e1a0db497f59a659c6
MD5 d84d737f960ae4bb5925458a4477c860
BLAKE2b-256 e46b7ca1dd2aefe858074f4a4fe116a59500c3641a5dbe2abae775c8bcad1931

See more details on using hashes here.

Provenance

The following attestation bundles were made for eggp-1.0.12-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.12-cp39-cp39-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for eggp-1.0.12-cp39-cp39-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 e07c2db09f526c46912aa2f146ab7aa252babc5beffa6a70fe9e02b691874774
MD5 9898384eb278e3ea24700cc6f0cd743b
BLAKE2b-256 24cf52759f64a17851ff91b7e9b5b0aca0a977d863b5857acb3add8990fd0262

See more details on using hashes here.

Provenance

The following attestation bundles were made for eggp-1.0.12-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.12-cp39-cp39-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for eggp-1.0.12-cp39-cp39-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 bb4daa600ec5e35a88a808a174371d3c42bdfd04dca1e38f1dd60902fcd6d6d2
MD5 0f3bf7fc98f98c7ee206b7ca71b92179
BLAKE2b-256 186f7ee77a3aade88b17b03b2c937ebfbf2266fa8605f2df648381c74c7c8fe3

See more details on using hashes here.

Provenance

The following attestation bundles were made for eggp-1.0.12-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.12-cp39-cp39-macosx_14_0_x86_64.whl.

File metadata

File hashes

Hashes for eggp-1.0.12-cp39-cp39-macosx_14_0_x86_64.whl
Algorithm Hash digest
SHA256 21cecc88ae05f08de11565f13575c5d19cd156956d67fd17db760b92d5c77b1d
MD5 6cecc480e1d731f3f7d76f06c9a4bfd6
BLAKE2b-256 fe916890cb498548b0d76a0cb5a674227accab92b84b9d956e2632022c70ac96

See more details on using hashes here.

Provenance

The following attestation bundles were made for eggp-1.0.12-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.12-cp39-cp39-macosx_14_0_arm64.whl.

File metadata

  • Download URL: eggp-1.0.12-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.12-cp39-cp39-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 749962e6eddd704c2ef1f044d2145267eeeaba380efe6106dad23e1bdbe81eea
MD5 ab571851ddfd7687062575fd754b5651
BLAKE2b-256 537d8b45c6404fe2e791bff34e77c87e7ab47d3dfb767657dd3442b33183fd0e

See more details on using hashes here.

Provenance

The following attestation bundles were made for eggp-1.0.12-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