Skip to main content

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.14.1
  • 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).

Metadata

Release files for eggp 2.2.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for eggp 2.2.1
File Size Uploaded Provenance
eggp-2.2.1.tar.gz 59.1 kB With provenance Details

Built distributions (wheels)

Table of built distributions (wheels) for eggp 2.2.1
File
eggp-2.2.1-cp314-cp314t-manylinux_2_34_x86_64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.34+ x86-64 Details
eggp-2.2.1-cp314-cp314t-manylinux_2_34_aarch64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.34+ ARM64 Details
eggp-2.2.1-cp314-cp314t-macosx_15_0_x86_64.whl CPython 3.14 CPython 3.14 free-threading macOS 15.0+ x86-64 Details
eggp-2.2.1-cp314-cp314t-macosx_15_0_arm64.whl CPython 3.14 CPython 3.14 free-threading macOS 15.0+ ARM64 Details
eggp-2.2.1-cp314-cp314-manylinux_2_34_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.34+ x86-64 Details
eggp-2.2.1-cp314-cp314-manylinux_2_34_aarch64.whl CPython 3.14 CPython 3.14 Linux glibc 2.34+ ARM64 Details
eggp-2.2.1-cp314-cp314-macosx_15_0_x86_64.whl CPython 3.14 CPython 3.14 macOS 15.0+ x86-64 Details
eggp-2.2.1-cp314-cp314-macosx_15_0_arm64.whl CPython 3.14 CPython 3.14 macOS 15.0+ ARM64 Details
eggp-2.2.1-cp313-cp313-manylinux_2_34_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.34+ x86-64 Details
eggp-2.2.1-cp313-cp313-manylinux_2_34_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.34+ ARM64 Details
eggp-2.2.1-cp313-cp313-macosx_15_0_x86_64.whl CPython 3.13 CPython 3.13 macOS 15.0+ x86-64 Details
eggp-2.2.1-cp313-cp313-macosx_15_0_arm64.whl CPython 3.13 CPython 3.13 macOS 15.0+ ARM64 Details
eggp-2.2.1-cp312-cp312-manylinux_2_34_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.34+ x86-64 Details
eggp-2.2.1-cp312-cp312-manylinux_2_34_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.34+ ARM64 Details
eggp-2.2.1-cp312-cp312-macosx_15_0_x86_64.whl CPython 3.12 CPython 3.12 macOS 15.0+ x86-64 Details
eggp-2.2.1-cp312-cp312-macosx_15_0_arm64.whl CPython 3.12 CPython 3.12 macOS 15.0+ ARM64 Details
eggp-2.2.1-cp311-cp311-manylinux_2_34_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.34+ x86-64 Details
eggp-2.2.1-cp311-cp311-manylinux_2_34_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.34+ ARM64 Details
eggp-2.2.1-cp311-cp311-macosx_15_0_x86_64.whl CPython 3.11 CPython 3.11 macOS 15.0+ x86-64 Details
eggp-2.2.1-cp311-cp311-macosx_15_0_arm64.whl CPython 3.11 CPython 3.11 macOS 15.0+ ARM64 Details
eggp-2.2.1-cp310-cp310-manylinux_2_34_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.34+ x86-64 Details
eggp-2.2.1-cp310-cp310-manylinux_2_34_aarch64.whl CPython 3.10 CPython 3.10 Linux glibc 2.34+ ARM64 Details
eggp-2.2.1-cp310-cp310-macosx_15_0_x86_64.whl CPython 3.10 CPython 3.10 macOS 15.0+ x86-64 Details
eggp-2.2.1-cp310-cp310-macosx_15_0_arm64.whl CPython 3.10 CPython 3.10 macOS 15.0+ ARM64 Details
eggp-2.2.1-cp39-cp39-manylinux_2_34_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.34+ x86-64 Details
eggp-2.2.1-cp39-cp39-manylinux_2_34_aarch64.whl CPython 3.9 CPython 3.9 Linux glibc 2.34+ ARM64 Details
eggp-2.2.1-cp39-cp39-macosx_15_0_x86_64.whl CPython 3.9 CPython 3.9 macOS 15.0+ x86-64 Details
eggp-2.2.1-cp39-cp39-macosx_15_0_arm64.whl CPython 3.9 CPython 3.9 macOS 15.0+ ARM64 Details

Total release size: 672.5 MB

Release files / eggp-2.2.1.tar.gz

Download URL eggp-2.2.1.tar.gz
Size 59.1 kB
Tags Source
SHA-256 checksum
How to use checksums
8cde6991880eaffc44f60dcea44d3ead7d997803e4ef01dc66b0b4408863b197
BLAKE2b-256 checksum
How to use checksums
3a8055ecbc479f995fa7ef8d9fb78686bd6ad0796ad0af837b4d24f591b43725
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 2, 2026.

Transparency log

Release files / eggp-2.2.1-cp314-cp314t-manylinux_2_34_x86_64.whl

Download URL eggp-2.2.1-cp314-cp314t-manylinux_2_34_x86_64.whl
Size 29.8 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.34+ x86-64
SHA-256 checksum
How to use checksums
60f060311d06cc522753843b689e7112dc9c9bdfdd0af2c5b167cc4f21d76975
BLAKE2b-256 checksum
How to use checksums
9e863c7b66ffcb2ea144adb18c87ec89fa742a759aff84ff25b1246d414b2649
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 2, 2026.

Transparency log

Release files / eggp-2.2.1-cp314-cp314t-manylinux_2_34_aarch64.whl

Download URL eggp-2.2.1-cp314-cp314t-manylinux_2_34_aarch64.whl
Size 31.6 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.34+ ARM64
SHA-256 checksum
How to use checksums
a722129dd3033347a8a94648102c69ea04cccb17109a9d6b760ed170363b9d29
BLAKE2b-256 checksum
How to use checksums
f9ff272b34163d4269b09f7c908dfc65572189f0853d7c1fad75eeca51ac6a69
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 2, 2026.

Transparency log

Release files / eggp-2.2.1-cp314-cp314t-macosx_15_0_x86_64.whl

Download URL eggp-2.2.1-cp314-cp314t-macosx_15_0_x86_64.whl
Size 18.0 MB
Tags CPython 3.14 CPython 3.14 free-threading macOS 15.0+ x86-64
SHA-256 checksum
How to use checksums
4ce85fe363022dfff4e1f3bacd9d6320d8929561fd7f69e75bd68aadc3bcc837
BLAKE2b-256 checksum
How to use checksums
dc93f0e2ca1aa20d3ac4fd83efad0c4db12e017729c0fd6ff34da4205169a45c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 2, 2026.

Transparency log

Release files / eggp-2.2.1-cp314-cp314t-macosx_15_0_arm64.whl

Download URL eggp-2.2.1-cp314-cp314t-macosx_15_0_arm64.whl
Size 16.6 MB
Tags CPython 3.14 CPython 3.14 free-threading macOS 15.0+ ARM64
SHA-256 checksum
How to use checksums
a8f1a889a883adb08ae86428d41947e79ff9842805629ece1d63e4c0d273c247
BLAKE2b-256 checksum
How to use checksums
08ba6e20540a7a568e2d765fab7d769b9d8fbd8c593815bcf612b0ae36d2e090
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 2, 2026.

Transparency log

Release files / eggp-2.2.1-cp314-cp314-manylinux_2_34_x86_64.whl

Download URL eggp-2.2.1-cp314-cp314-manylinux_2_34_x86_64.whl
Size 29.8 MB
Tags CPython 3.14 Linux glibc 2.34+ x86-64
SHA-256 checksum
How to use checksums
f5e3829b69facd43f17daacc0f5534cf849134a3beaaf8f0de9938c0e92b92f4
BLAKE2b-256 checksum
How to use checksums
1bc1cb3a8de235eb3f383e2f522aec8ea4d0982c26982b27ccd700db0f4ee5da
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 2, 2026.

Transparency log

Release files / eggp-2.2.1-cp314-cp314-manylinux_2_34_aarch64.whl

Download URL eggp-2.2.1-cp314-cp314-manylinux_2_34_aarch64.whl
Size 31.6 MB
Tags CPython 3.14 Linux glibc 2.34+ ARM64
SHA-256 checksum
How to use checksums
ab9c1c01436a6cf0bbff3f30f0c2563240bf3e9d590f63a1fb85ae4f4cc8f460
BLAKE2b-256 checksum
How to use checksums
be9ed8a85c7a02e40a7ec2e6fe35c7ca51838529e535c951e1083abd58ed5983
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 2, 2026.

Transparency log

Release files / eggp-2.2.1-cp314-cp314-macosx_15_0_x86_64.whl

Download URL eggp-2.2.1-cp314-cp314-macosx_15_0_x86_64.whl
Size 18.0 MB
Tags CPython 3.14 macOS 15.0+ x86-64
SHA-256 checksum
How to use checksums
f76e96e3cf0e04b26b591a758d65c1089c6e5e5e2f271c1629bfe8a4d9797633
BLAKE2b-256 checksum
How to use checksums
86f57bdce8546c480e5a1b4a81cb31949e9b93e67f05e5bf0debbdb4ffc1f54d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 2, 2026.

Transparency log

Release files / eggp-2.2.1-cp314-cp314-macosx_15_0_arm64.whl

Download URL eggp-2.2.1-cp314-cp314-macosx_15_0_arm64.whl
Size 16.6 MB
Tags CPython 3.14 macOS 15.0+ ARM64
SHA-256 checksum
How to use checksums
78a2d6aa174863a2cd4c62fca2bd4969d4e1ec84b9821ba595cb24c6211c545f
BLAKE2b-256 checksum
How to use checksums
b1065576c6d9b93c91740ecd6b3f7a5d68a207487e8a79a4a7349fde73028a61
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 2, 2026.

Transparency log

Release files / eggp-2.2.1-cp313-cp313-manylinux_2_34_x86_64.whl

Download URL eggp-2.2.1-cp313-cp313-manylinux_2_34_x86_64.whl
Size 29.8 MB
Tags CPython 3.13 Linux glibc 2.34+ x86-64
SHA-256 checksum
How to use checksums
53326c4528a41260f060d6d9dcc4200af06bdd1e2990311f5419301b88a93e33
BLAKE2b-256 checksum
How to use checksums
fc6a95f36bc97e315c433aa5be49acbe7e9f14d057f1e4b794beea1af27abdbf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 2, 2026.

Transparency log

Release files / eggp-2.2.1-cp313-cp313-manylinux_2_34_aarch64.whl

Download URL eggp-2.2.1-cp313-cp313-manylinux_2_34_aarch64.whl
Size 31.6 MB
Tags CPython 3.13 Linux glibc 2.34+ ARM64
SHA-256 checksum
How to use checksums
57e0281050d5176b76384c872aa16a18b6dfc9e7d1f21db9409d6912ff39b1a0
BLAKE2b-256 checksum
How to use checksums
ca10ba0c30a84b05d2a08b0751958d498c544a135a5dd96db206cf504cbaf87f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 2, 2026.

Transparency log

Release files / eggp-2.2.1-cp313-cp313-macosx_15_0_x86_64.whl

Download URL eggp-2.2.1-cp313-cp313-macosx_15_0_x86_64.whl
Size 18.0 MB
Tags CPython 3.13 macOS 15.0+ x86-64
SHA-256 checksum
How to use checksums
09c9ffcc5776ad5bdbace3cd1a496cbcb56b76a6b5f7bca798ac301f519adc25
BLAKE2b-256 checksum
How to use checksums
0924cce4973da200f08c52d0deaf724f02eaed7ec1a754af980be6476092e376
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 2, 2026.

Transparency log

Release files / eggp-2.2.1-cp313-cp313-macosx_15_0_arm64.whl

Download URL eggp-2.2.1-cp313-cp313-macosx_15_0_arm64.whl
Size 16.6 MB
Tags CPython 3.13 macOS 15.0+ ARM64
SHA-256 checksum
How to use checksums
1f2243e5a8a2034992dece1c9b1eba2fd529062faf4aedbe8fc6677c9d461fb0
BLAKE2b-256 checksum
How to use checksums
53c398d6dd12a59e9eebc9ed1ea25131f7764902fca5bf75b09aa3e32e49f854
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 2, 2026.

Transparency log

Release files / eggp-2.2.1-cp312-cp312-manylinux_2_34_x86_64.whl

Download URL eggp-2.2.1-cp312-cp312-manylinux_2_34_x86_64.whl
Size 29.8 MB
Tags CPython 3.12 Linux glibc 2.34+ x86-64
SHA-256 checksum
How to use checksums
19f72cd47d736db1aeef313cc92cd6f8384acd179a07f49ff02dc2ef5299a479
BLAKE2b-256 checksum
How to use checksums
ddda3bb272eba0dd924cdf1ba23034679df9014159bf0875cb67d5bc185523fe
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 2, 2026.

Transparency log

Release files / eggp-2.2.1-cp312-cp312-manylinux_2_34_aarch64.whl

Download URL eggp-2.2.1-cp312-cp312-manylinux_2_34_aarch64.whl
Size 31.6 MB
Tags CPython 3.12 Linux glibc 2.34+ ARM64
SHA-256 checksum
How to use checksums
36338f19e60555110c4a4dd3f53cd241d18ebd931f8e0d07d567c85ac581c09e
BLAKE2b-256 checksum
How to use checksums
7d8419f0c5b8eac943aa673e0277ef3f399c6b73626b2e5773b0a261c336088a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 2, 2026.

Transparency log

Release files / eggp-2.2.1-cp312-cp312-macosx_15_0_x86_64.whl

Download URL eggp-2.2.1-cp312-cp312-macosx_15_0_x86_64.whl
Size 18.0 MB
Tags CPython 3.12 macOS 15.0+ x86-64
SHA-256 checksum
How to use checksums
aa4a01b19f1a30efff5d7216eb07d0753dbfa15c67b5e108694279ca1f7e5a41
BLAKE2b-256 checksum
How to use checksums
a97b9bbb61d96ceacde0873818754b1caeed86b2d29664a6178b6e81e747ca1d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 2, 2026.

Transparency log

Release files / eggp-2.2.1-cp312-cp312-macosx_15_0_arm64.whl

Download URL eggp-2.2.1-cp312-cp312-macosx_15_0_arm64.whl
Size 16.6 MB
Tags CPython 3.12 macOS 15.0+ ARM64
SHA-256 checksum
How to use checksums
07ba0894360e138a6379cfce62f73c5b550ca19ff9b5997c734384642b2efff1
BLAKE2b-256 checksum
How to use checksums
c231c598cf504677b447051d3e29abf27fcd952830a08ec34ebd821bd64aba34
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 2, 2026.

Transparency log

Release files / eggp-2.2.1-cp311-cp311-manylinux_2_34_x86_64.whl

Download URL eggp-2.2.1-cp311-cp311-manylinux_2_34_x86_64.whl
Size 29.8 MB
Tags CPython 3.11 Linux glibc 2.34+ x86-64
SHA-256 checksum
How to use checksums
b3956f21369448db083c7d07cf845b3e40eba3f3d1b9668d75083fa1e761c43c
BLAKE2b-256 checksum
How to use checksums
23c27df2abe89fbf081746d5aae1500a57ebe9c9676527f019e6566df109f64e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 2, 2026.

Transparency log

Release files / eggp-2.2.1-cp311-cp311-manylinux_2_34_aarch64.whl

Download URL eggp-2.2.1-cp311-cp311-manylinux_2_34_aarch64.whl
Size 31.6 MB
Tags CPython 3.11 Linux glibc 2.34+ ARM64
SHA-256 checksum
How to use checksums
80a4a337ce2961eda2120b9f776a16fa9d6bbcf619b06269af051731e405e274
BLAKE2b-256 checksum
How to use checksums
1aa047fdc3d24deddd8f7a3d03b05cc8cea89954863725a7b3ca32de27f7dc9b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 2, 2026.

Transparency log

Release files / eggp-2.2.1-cp311-cp311-macosx_15_0_x86_64.whl

Download URL eggp-2.2.1-cp311-cp311-macosx_15_0_x86_64.whl
Size 18.0 MB
Tags CPython 3.11 macOS 15.0+ x86-64
SHA-256 checksum
How to use checksums
616e067013553702895ba50b909fe978cc1438c6ddf4f88414bee6ea744c7256
BLAKE2b-256 checksum
How to use checksums
95e9920eae98a02a71314dc8ce54f98e428577b7d6bd6b365a564bd080a590d7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 2, 2026.

Transparency log

Release files / eggp-2.2.1-cp311-cp311-macosx_15_0_arm64.whl

Download URL eggp-2.2.1-cp311-cp311-macosx_15_0_arm64.whl
Size 16.6 MB
Tags CPython 3.11 macOS 15.0+ ARM64
SHA-256 checksum
How to use checksums
02dc74e772f862228a037831bb4d7737725737601c6765be3ff2f4744392ccf3
BLAKE2b-256 checksum
How to use checksums
4383c732976d1469f984b778734ea2fa06e6ed0d4435830624c744666bc4f2dd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 2, 2026.

Transparency log

Release files / eggp-2.2.1-cp310-cp310-manylinux_2_34_x86_64.whl

Download URL eggp-2.2.1-cp310-cp310-manylinux_2_34_x86_64.whl
Size 29.8 MB
Tags CPython 3.10 Linux glibc 2.34+ x86-64
SHA-256 checksum
How to use checksums
48e02c79dacaabed63091a26d9256d44bbbd8020eeafc3aa44fa22968ca8559d
BLAKE2b-256 checksum
How to use checksums
37b65ed7a43f5404dea87acf7e3a9298d3b32f71fe1bb2dc00b6d4eb5d6e9e7d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 2, 2026.

Transparency log

Release files / eggp-2.2.1-cp310-cp310-manylinux_2_34_aarch64.whl

Download URL eggp-2.2.1-cp310-cp310-manylinux_2_34_aarch64.whl
Size 31.6 MB
Tags CPython 3.10 Linux glibc 2.34+ ARM64
SHA-256 checksum
How to use checksums
c4d8cdae154c7ccb1a9f070ef9f13b316082c7ad3f8e2bdc3a881197117c505b
BLAKE2b-256 checksum
How to use checksums
bc92fcb2b8f2a7f2acfc384246202c87eb546f847d47fa7caa9bb129d980772d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 2, 2026.

Transparency log

Release files / eggp-2.2.1-cp310-cp310-macosx_15_0_x86_64.whl

Download URL eggp-2.2.1-cp310-cp310-macosx_15_0_x86_64.whl
Size 18.0 MB
Tags CPython 3.10 macOS 15.0+ x86-64
SHA-256 checksum
How to use checksums
a888987d3c8ede6caa611b2266ae5d11c62374406984982aec17a7e216a0f0c5
BLAKE2b-256 checksum
How to use checksums
d0938c51c057554aa21ecf37145874b89e1a19d5f2cc7796ff55c290f62b1c4c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 2, 2026.

Transparency log

Release files / eggp-2.2.1-cp310-cp310-macosx_15_0_arm64.whl

Download URL eggp-2.2.1-cp310-cp310-macosx_15_0_arm64.whl
Size 16.6 MB
Tags CPython 3.10 macOS 15.0+ ARM64
SHA-256 checksum
How to use checksums
7e1c890aa4da901b216a92a5cc6e2df0611c58698691793024b3abc6ce65d50b
BLAKE2b-256 checksum
How to use checksums
b10e349e3262a6b7a48f92efadd924a1dbfdf1bee19ff640aa67661ea26d9d40
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 2, 2026.

Transparency log

Release files / eggp-2.2.1-cp39-cp39-manylinux_2_34_x86_64.whl

Download URL eggp-2.2.1-cp39-cp39-manylinux_2_34_x86_64.whl
Size 29.8 MB
Tags CPython 3.9 Linux glibc 2.34+ x86-64
SHA-256 checksum
How to use checksums
3bf239dcd02abd080cdec8c568c49a3574a1e74708c34466d9eef6e6709e5e90
BLAKE2b-256 checksum
How to use checksums
e7be742c1811ee031a0dc78d14ff736d9d8d67ac0a31c71651710509f145292f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 2, 2026.

Transparency log

Release files / eggp-2.2.1-cp39-cp39-manylinux_2_34_aarch64.whl

Download URL eggp-2.2.1-cp39-cp39-manylinux_2_34_aarch64.whl
Size 31.6 MB
Tags CPython 3.9 Linux glibc 2.34+ ARM64
SHA-256 checksum
How to use checksums
aea0936073c43304d0a8cbc08ba3e0f619ff96d406f370712e047a5d54c4c00d
BLAKE2b-256 checksum
How to use checksums
d6df43e9bdb90ed39cff20ceffa028af143b12a5be8b21fedd0b0882dab5be31
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 2, 2026.

Transparency log

Release files / eggp-2.2.1-cp39-cp39-macosx_15_0_x86_64.whl

Download URL eggp-2.2.1-cp39-cp39-macosx_15_0_x86_64.whl
Size 18.0 MB
Tags CPython 3.9 macOS 15.0+ x86-64
SHA-256 checksum
How to use checksums
c75a16dd67de5ce45a3aa9fde9db9331bb5288faba2b2c7e5160862f08f103ad
BLAKE2b-256 checksum
How to use checksums
6e38f84969e61ea8dab87396097be4cd15595f058f01105bc745569caaea6621
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 2, 2026.

Transparency log

Release files / eggp-2.2.1-cp39-cp39-macosx_15_0_arm64.whl

Download URL eggp-2.2.1-cp39-cp39-macosx_15_0_arm64.whl
Size 16.6 MB
Tags CPython 3.9 macOS 15.0+ ARM64
SHA-256 checksum
How to use checksums
b5e6f0147d75bfcb16652a459cf933b99dede0f91f2a60446d8730d6c943a6a0
BLAKE2b-256 checksum
How to use checksums
619e10bda4195fa07eab89e605abb98c7a91acc6471bfa4ee2ce6e2d9ef1bc4a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 2, 2026.

Transparency log

Security for eggp 2.2.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 29 files in this release have been uploaded with provenance metadata.

Select from 29 files

Attestation for eggp-2.2.1.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 2, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page