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

Uploaded CPython 3.13manylinux: glibc 2.28+ ARM64

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

Uploaded CPython 3.13macOS 14.0+ x86-64

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

Uploaded CPython 3.13macOS 14.0+ ARM64

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

Uploaded CPython 3.12manylinux: glibc 2.28+ ARM64

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

Uploaded CPython 3.12macOS 14.0+ x86-64

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

Uploaded CPython 3.12macOS 14.0+ ARM64

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

Uploaded CPython 3.11manylinux: glibc 2.28+ ARM64

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

Uploaded CPython 3.11macOS 14.0+ x86-64

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

Uploaded CPython 3.11macOS 14.0+ ARM64

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

Uploaded CPython 3.10manylinux: glibc 2.28+ ARM64

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

Uploaded CPython 3.10macOS 14.0+ x86-64

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

Uploaded CPython 3.10macOS 14.0+ ARM64

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

Uploaded CPython 3.9manylinux: glibc 2.28+ ARM64

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

Uploaded CPython 3.9macOS 14.0+ x86-64

eggp-1.0.16-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.16.tar.gz.

File metadata

  • Download URL: eggp-1.0.16.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.16.tar.gz
Algorithm Hash digest
SHA256 4f6cf6e6d5d80cfba407e6a57610390bcf69cd7014ca78db80fa5873ff6c6105
MD5 2a906c2c4f155d60f507440f171c10d7
BLAKE2b-256 cba842bd9c5764c44846078bcd3e2ee748c480b7b2f63b4d645ca11c2f29795b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for eggp-1.0.16-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 29e774aeb5fe2a4442742a68f4e87d655435f1b26a3a68df7b2aa79ad803255f
MD5 b60d8a9f53a1bab521a253311bbab384
BLAKE2b-256 cd68b794921340d4ce593af1c7339ea83e0db668d71e455fa0c63cbb2f1c7903

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for eggp-1.0.16-cp313-cp313-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 045d9a2923c9f320e9ac6ce00561c570b52906e5347b6e03135ff76396b9a14f
MD5 08b827a49a393fb2e14a4757647e1df5
BLAKE2b-256 d5305e72db0bf281665a4436460b3ea7815265017463695b2b14ab5e34f3166f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for eggp-1.0.16-cp313-cp313-macosx_14_0_x86_64.whl
Algorithm Hash digest
SHA256 936747f5e0e8bc04cb6731925c1cc06f729060245e2e41f9b4e7fbbfb12a0f13
MD5 49914c4046d1a7821e222a5ae01a0cb8
BLAKE2b-256 3b112e4634e110665fec73765aa33d94a7c62c28b4e77ad794d23c07cadeb41a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for eggp-1.0.16-cp313-cp313-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 4587d8be5c45ba62e174b892dccd66a80a4e42ff4e0cbb8ba28ab019f25d36d8
MD5 73cda602d1c58834db26c4c80bebbf86
BLAKE2b-256 7eeae9576f3f13cba809dcc3514cb38c76b121ae9b5e9cc1a5af865c5f3e6521

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for eggp-1.0.16-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 17146191b62714d0cfd23bc399d1d2d16cc5541ab859e7d136d76a341f8c5f9b
MD5 7c04e3556019fec6fccf023e88e94424
BLAKE2b-256 79de7783b731367099c0d66cee8bb613d3a6a800dee0a139788027d5e093d961

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for eggp-1.0.16-cp312-cp312-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 e991e666454b2a43c6239e1bf50bc9af19d5523b4eee11ff14deb77faf34feb4
MD5 b472fc16af8c3112d24359ee5e08d321
BLAKE2b-256 5dbc7e6df7ebd49c82b414dd249a1c037a04ae584222f21a38fe5f8320a9b8b1

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for eggp-1.0.16-cp312-cp312-macosx_14_0_x86_64.whl
Algorithm Hash digest
SHA256 ac98c63d46f8fe3528bdae773d116338abdf474d9f022fb261d2225d8c24a856
MD5 048b50ae7cc576f95080fa4c1dfe1bbe
BLAKE2b-256 84e48d5a19be8385264ad2f08e91bfa45e23fdb6d0b30681fbcf363bf9b1f60a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for eggp-1.0.16-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 7c47076f671a00988178a02bd0c91edf01a0545deefedf2849b88e19fef84535
MD5 60c36130be1bc42f844fdf53f4636e1a
BLAKE2b-256 a11e9a0cdf49d35488f537fafbabdd11873df2e03243a5702c07ee7612a3cd37

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for eggp-1.0.16-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 94a18b9d9b2e3311ede9ac2497a6f5d55928b95ba5cb2eb5938e95e0595a3025
MD5 c545240a7be9d3e5c5fdfa1a0160dcf7
BLAKE2b-256 dc1a5919a751052fa67ec492a3c21997e18e02f2f3b8e01a3441d868c411cc6c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for eggp-1.0.16-cp311-cp311-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 ce37642bb0017121bd303ccb1c5ab2c0899beb00f705e3e2a53d2c848eb19df0
MD5 7252b570c5d10dc94b09bd3cb095b2d6
BLAKE2b-256 5469f5e9de424611a1a0848e7534b97e71b74fa7a8517fede86bb4c69ef95922

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for eggp-1.0.16-cp311-cp311-macosx_14_0_x86_64.whl
Algorithm Hash digest
SHA256 7f50ab17770f0381f23524f2593e4225f1f62b2317511b35e5ef93983e4d7534
MD5 3877b5e7105cac02b325798c50c54963
BLAKE2b-256 f6cce78da5f72ec3dc5fe85c900e1857f39c02019bd534435fe57cd9ec7e0f45

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for eggp-1.0.16-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 68f2b2b7c6191a3dfaf8521dba742ad8ecdf0ee6fc41c0aaec7b268422601c44
MD5 9ccde964f8da10fc3ee13457dd950e8f
BLAKE2b-256 830e9bf74b31f3a672699cd7fc30159192cab78120b60fb73aff864c889c881a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for eggp-1.0.16-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 4630895c5ac47648b9ea98a2c0a8786edc89c79a93cc75fcf2741b9a6dcdc950
MD5 5cad6637adf2a0e84f9fe96d2f712426
BLAKE2b-256 00fefaad026f310537cd8c912e121d10941c3958d35196d9c469676246c3ebb4

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for eggp-1.0.16-cp310-cp310-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 5c813bec56023bc8a3187a76c4e547bce027ac39b19e82b741d80a585c16c74e
MD5 d94ae5bf3f9a9d363eb037c52e13b4ac
BLAKE2b-256 6609c01ce44d41f1c25104d1c3568c8eb4e4f3fdc1cf727617d3db7fcd0465d7

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for eggp-1.0.16-cp310-cp310-macosx_14_0_x86_64.whl
Algorithm Hash digest
SHA256 52a00984c285e56663b2344bb0307a35679013c72afa4a5d874dd94d0f36b23c
MD5 edf0c04645a0e1f40d25eff8b1cf9517
BLAKE2b-256 8270a7be389fbfe44e23357fb96c3c87fcd2eaedfd3970989e021abac8a7c95b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for eggp-1.0.16-cp310-cp310-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 56bc604f22a8af2505e7ea10768901976c92751f66b55483891185f97afebb9c
MD5 304c5cd454d335a9d18f847ef5efed92
BLAKE2b-256 b5e143fb300fe25b93858fbbd6906a8450b6ca15dc1b8f8a1a0f70e811e749c0

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for eggp-1.0.16-cp39-cp39-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 fd47d7f1e3f43098283dc2e2d1aaf9ddc61f4519a0b378e80b5b70b51b9b54a4
MD5 21ef6da1ef5fc5f33bde3424926dca3d
BLAKE2b-256 9fc5df8473d487179b8801e6b3bf3c683278e85a71142a9286465cdeb2d41fba

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for eggp-1.0.16-cp39-cp39-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 0e1cacd56b8ebd7ed103485542b077266c3ff239d160d19d184da5655cb0b970
MD5 d6514c94cd754b7fcad1f720e3989235
BLAKE2b-256 477fa3097d8c600e39d3ef094f14e2611abe5abc8a072c100171154fb263f6ef

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for eggp-1.0.16-cp39-cp39-macosx_14_0_x86_64.whl
Algorithm Hash digest
SHA256 921fb1da16975970a1b09e9ed8e11cdbeab99d962e1b2bbc25b1369d7dad720e
MD5 67458d20a1833121abd76e6895b2ea53
BLAKE2b-256 a9a709c917fa7b3294b3c2e7afae15d7bc10b5fa38233e8872995b7448f2ad98

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: eggp-1.0.16-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.16-cp39-cp39-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 64b67779513ff42c0ab350df923239ebb3e85efd0afa21d1a54fb8ef48fe521d
MD5 6ec62c6564f107016018c4ea902ab7e0
BLAKE2b-256 01a5925d248c9211a905d75a684a0fb532c0aac3a6a9c2191ace07589c760fc8

See more details on using hashes here.

Provenance

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