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

Run eggp --help for the authoritative option list. Current usage:

Usage: eggp (-d|--dataset INPUT-FILE) [-t|--test ARG] [-g|--generations GENS]
            (-s|--maxSize ARG) [-k|--folds ARG] [--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] 
            [--generational] [--simplify] [--max-time ARG] [--varnames ARG] 
            [--frac-bayes-complexity] [--backend ARG] [--db-file ARG] 
            [--db-fit-file ARG] [--db-dataset ARG] [--db-cache-size ARG] 
            [--db-flush-every ARG]

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,--folds ARG           number of folds to determine the ratio of
                           training-validation (default: 1)
  --trace                  print all evaluated expressions.
  --loss ARG               loss function: MSE, LOG10, MAE, MAPE, Pinball, or a
                           distribution (Gaussian, HGaussian, Poisson,
                           Bernoulli, ROXY, LeastSquares).
                           (default: NLL LeastSquares)
  --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: "")
  --generational           replace the current population with the children
                           instead of keeping the pareto front.
  --simplify               simplify the expressions before displaying them.
  --max-time ARG           maximum allowed time budget (in seconds, -1 it will
                           run for the number of generations) (default: -1)
  --varnames ARG           comma separated variable names. (default: "")
  --frac-bayes-complexity  Use n_nodes * log unique_nodes as the second
                           objective.
  --backend ARG            AD backend: MultiThread or SingleThread.
                           (default: MultiThread)
  --db-file ARG            SQLite database file for persistent e-graph (empty =
                           in-memory). (default: "")
  --db-fit-file ARG        SQLite database file for fitness cache (empty =
                           in-memory). (default: "")
  --db-dataset ARG         Dataset name for DB mode (empty = derive from CSV
                           filename). (default: "")
  --db-cache-size ARG      Max entries in the local fitness cache.
                           (default: 100000)
  --db-flush-every ARG     Flush e-graph to DB every N generations (0 = only at
                           end). (default: 0)
  --no-ci                  Do not compute profile-likelihood confidence
                           intervals on the final Pareto front.
  -h,--help                Show this help text

The final Pareto front includes profile-likelihood confidence intervals. They are expensive (each parameter is profiled with many NLopt re-optimizations), so the whole stage has a wall-clock budget controlled by the EGGP_CI_TIMEOUT environment variable: unset = 10 seconds, 0 = skip CIs (columns left empty), -1 = unlimited (old behavior), N = N seconds. Python users can set the same budget with the ciTimeout constructor argument.

Option groups

Input data

  • -d, --dataset FILE (required) — dataset to fit. Accepts the extended path:start:end:target:features syntax described below. Several files in one quoted argument ("a.csv b.csv") enable multi-view regression.
  • -t, --test FILE — optional held-out test set, same syntax as --dataset (one entry per view). If omitted, the training data is reused for the loss_test/R2_test columns.
  • -k, --folds N — splits each view into training/validation. N=1 (default) fits and scores on all rows; N>1 holds out roughly 1/N of the rows for validation (loss_val, R2_val, and the validation-based model selection).

Search budget and report

  • -g, --generations N — number of generations (default 100).
  • -s, --maxSize N (required) — maximum expression size in nodes.
  • --max-time N — wall-clock budget in seconds (-1, default, means run the full --generations).
  • --trace — emit a CSV row for every evaluated expression instead of only the final Pareto front.
  • --simplify — run a final equality-saturation simplification before printing expressions.
  • --varnames NAMES — comma-separated column names used when rendering expressions (display/numpy/latex output only).

Population and variation

  • --nPop N — population size (default 100).
  • --tournament-size N — tournament size for parent selection (default 2).
  • --pc P — crossover probability (default 1.0).
  • --pm P — mutation probability (default 0.3).
  • --non-terminals LIST — comma-separated function set (default Add,Sub,Mul,Div,PowerAbs,Recip); see Available Functions.
  • --generational — replace the population with the children each generation instead of keeping the Pareto-front-elitist population.
  • --frac-bayes-complexity — use n_nodes * log(unique_nodes) as the secondary objective (fractional Bayes complexity) instead of node count.

Parameter optimisation

  • --opt-iter N — NLopt iterations per fit (default 30).
  • --opt-retries N — random restarts per fit (default 1).
  • --number-params N — maximum parameter count. -1 (default) bounds it by --maxSize and forbids repeated parameters; 0 disables parameters (constants only); N>0 allows up to N parameters, which may repeat.
  • --backend AD — automatic-differentiation backend, MultiThread (default) or SingleThread.

Loss function

  • --loss LOSS — default NLL LeastSquares (ordinary least squares). Accepts direct losses MSE, LOG10, MAE, MAPE, and Pinball TAU (quote it, e.g. --loss "Pinball 0.9"), or a distribution wrapped in an NLL: Gaussian, HGaussian, Poisson, Bernoulli, ROXY, LeastSquares (e.g. --loss Gaussian). The reported fitness is the minimised loss.

E-graph persistence

  • --dump-to FILE — write the final e-graph to a binary file at the end.
  • --load-from FILE — resume from a binary e-graph written by --dump-to.
  • --db-file FILE — SQLite database for the e-graph structure. When set (and --load-from is not), a previous graph in this file is loaded and the search resumes from it; the graph is synced every --db-flush-every generations and at the end. Empty means in-memory only.
  • --db-fit-file FILE — SQLite database for the fitness cache and expression index. Used to skip NLopt for already-fitted e-classes and to avoid re-exploring known expressions. Empty disables fitness reuse. Rows that refer to e-classes missing from the current graph are pruned at startup.
  • --db-dataset NAME — dataset key inside the DB. Defaults to the basename of the first --dataset file.
  • --db-cache-size N — size hint for the local fitness cache (default 100000; currently the cache is loaded in full, so this is reserved).
  • --db-flush-every N — sync the e-graph to --db-file every N generations (0, default, means only at the end).

--db-file and --db-fit-file are intentionally separate: the structural e-graph stays read-only during fitting, while the fit cache is written frequently, which avoids WAL bloat. Use both for full resumable DB mode:

eggp -d gaussian_train.csv -s 15 -g 100 \
     --db-file egraph.db --db-fit-file fit_gaussian.db --db-dataset gaussian

Data format

The dataset file must contain a header with the feature names. --dataset and --test accept optional fields separated by : in 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 target column (if the file has headers) or its index
  • features is a comma separated list of names or indices to be used as input variables of the regression model.

Examples: dataset.csv, mydata.tsv, dataset.csv:20:100, dataset.tsv:20:100:price:m2,rooms,neighborhood, dataset.csv:::5:0,1,2.

The file format is inferred from the extension (e.g. csv, tsv, ...). To use multi-view, pass several filenames in one quoted argument:

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.14.1 (select the items and press i). To install eggp 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}")

Multithreading / RTS options

eggp uses GHC's runtime system; the number of Haskell capabilities is controlled by the RTS -N flag and defaults to 4. Set GHCRTS before the first eggp call (ideally before import eggp):

GHCRTS="-N8" python script.py     # 8 capabilities
GHCRTS="-N"  python script.py     # all available cores

or in Python, before the first fit:

import os
os.environ["GHCRTS"] = "-N8"       # or "-N"
import eggp

For an explicit override of GHCRTS, initialize the RTS yourself before the first run:

import eggp

with eggp.hs_rts_init(["eggp", "+RTS", "-N8", "-RTS"]):
    model = eggp.EGGP(...)
    model.fit(X, y)

The RTS can only be initialized once per process, so set this before the first eggp call. -N only controls Haskell capabilities; numerical libraries such as OpenBLAS/OpenMP use their own environment variables (OPENBLAS_NUM_THREADS, OMP_NUM_THREADS). The standalone eggp executable (built with -rtsopts) also accepts eggp +RTS -N8 -RTS ....

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: "MSE", "LOG10", "MAE", "MAPE", "Pinball", "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 = bounded by maxSize and no repeats; 0 = constants only)
folds int 1 Training/validation split; 1 disables validation scoring, N>1 holds out ~1/N
max_time int -1 Wall-clock budget in seconds (-1 = run all generations)
simplify bool False Apply a final equality-saturation simplification before display
trace bool False Return every evaluated expression instead of only the Pareto front
generational bool False Replace the population with the children instead of keeping the Pareto front
dumpTo str "" Filename to save the final e-graph (binary)
loadFrom str "" Filename to load an e-graph and resume the search
useFracBayes bool False Use fractional Bayes complexity as the secondary objective
pinball_tau float 0.5 Quantile used when loss="Pinball"
dbFile str "" SQLite file for the persistent e-graph (empty = in-memory)
dbFitFile str "" SQLite file for the fitness cache / expression index (empty = disabled)
dbDataset str "" Dataset key inside the DB (empty = basename of the data source)
dbCacheSize int 100000 Size hint for the local fitness cache
dbFlushEvery int 0 Sync the e-graph every N generations (0 = only at the end)
ciTimeout int/None None Wall-clock budget (seconds) for the final profile-likelihood CIs: 0 skips them, -1 is unlimited, None uses EGGP_CI_TIMEOUT (default 10 s)
computeCI bool True Set to False to skip profile-likelihood CIs entirely (same as ciTimeout=0)

For resumable DB-backed runs pass both dbFile and dbFitFile (the e-graph and the frequently-written fit cache live in separate SQLite files):

model = EGGP(
    gen=100, maxSize=15,
    dbFile="egraph.db", dbFitFile="fit_mydata.db", dbDataset="mydata",
)
model.fit(X, y)

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.3

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.3
File Size Uploaded Provenance Actions
eggp-2.2.3.tar.gz 65.9 kB With provenance Details for eggp-2.2.3.tar.gz

Built distributions (wheels)

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

Total release size: 673.1 MB

Release files / eggp-2.2.3.tar.gz

Download URL eggp-2.2.3.tar.gz
Size 65.9 kB
Tags Source
SHA-256 checksum
How to use checksums
a1fc2d8e2aa5ccf18c32bd0063c675c51f13d3d45e30c3298c6b433ae0c907b0
BLAKE2b-256 checksum
How to use checksums
2af64aeca5a9e31f5201ebf1c0238127d6a93b5546002b151f94beba248babdc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 2, 2026.

Transparency log

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

Download URL eggp-2.2.3-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
71296963763bad7a148721ce689ae1eddb324a2270469430cfc5f29f08c3e8a7
BLAKE2b-256 checksum
How to use checksums
4c42b66c19d137f394a7c410b608a09d959dfdd6bfb9066a56c2d41ea41eadf1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 2, 2026.

Transparency log

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

Download URL eggp-2.2.3-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
0813fbc0611c7f809174b718016fc4a9b7e117ea05161322c58f1bb5aed4b2f6
BLAKE2b-256 checksum
How to use checksums
79a7894e351e2f095b1af0ca4d40377ef0fc833d112ec8d90aba8f01b9565390
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 2, 2026.

Transparency log

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

Download URL eggp-2.2.3-cp314-cp314t-macosx_15_0_x86_64.whl
Size 18.1 MB
Tags CPython 3.14 CPython 3.14 free-threading macOS 15.0+ x86-64
SHA-256 checksum
How to use checksums
04df0297395a8cc082d75ebcf03fa92db1aab1fa2ac9ae5ffbcdfe87a6dd1d43
BLAKE2b-256 checksum
How to use checksums
8523e6fa5f7c2415a5f67b0be4ddda5b6dcde471bfc7e5972c3da9e942ea0ea2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 2, 2026.

Transparency log

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

Download URL eggp-2.2.3-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
df883750ec94622a664dd221dd82ddd67da82b1ab34262a7e477fca743666792
BLAKE2b-256 checksum
How to use checksums
ba4a6d91199d5407d33c64611e545125390bc904acd11e5ff95b36c73759e330
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 2, 2026.

Transparency log

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

Download URL eggp-2.2.3-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
5ae0a9d950a2b267ad2c16e8b5201ad8dbdc3f0f661251494ce314ccc6e88c2e
BLAKE2b-256 checksum
How to use checksums
0b52cb06f4f6ed4cfe26c1c6a66f1274f446383e696968cf94a72f126f278cdd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 2, 2026.

Transparency log

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

Download URL eggp-2.2.3-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
9fc22658cdccd5edcc843827d53baee73f54dca1c22e1491b1181c28bbb52650
BLAKE2b-256 checksum
How to use checksums
4cff3992395e463275b5528b363949b612e2c22409013125e45ec75821118596
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 2, 2026.

Transparency log

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

Download URL eggp-2.2.3-cp314-cp314-macosx_15_0_x86_64.whl
Size 18.1 MB
Tags CPython 3.14 macOS 15.0+ x86-64
SHA-256 checksum
How to use checksums
430bddb071685ae8a7b36f22a89daa50d0f304430019d586060a75eb8b5fb2c8
BLAKE2b-256 checksum
How to use checksums
6de34ae37ac4e9191d9c3a5e458f596fcecd0fe7fc848aa54da7374d9a539a58
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 2, 2026.

Transparency log

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

Download URL eggp-2.2.3-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
033acc51c85afb2a6446030878c27be453b61a92ed7a148beb07d400d4b771c4
BLAKE2b-256 checksum
How to use checksums
e24abf4e8032aaa78f98481a1c189a8e572afe202aee01eeff6077dc48ff38d7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 2, 2026.

Transparency log

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

Download URL eggp-2.2.3-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
a65c2088fc1000602dfc2e1174e7c9c30af4a6803bca049d1e6b07600e84d882
BLAKE2b-256 checksum
How to use checksums
2aa4a2b54d168c8eed4959c123967a5ca7a000238fef0aa9f2349bccb25fb957
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 2, 2026.

Transparency log

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

Download URL eggp-2.2.3-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
74269d3bc6d1924d9dedbee8711387433a626547e36655db362673119767e876
BLAKE2b-256 checksum
How to use checksums
b96b3ac4c3981e26b4c9ce02ed6d36819cfe77f3143499fe6f2ce46cf109666a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 2, 2026.

Transparency log

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

Download URL eggp-2.2.3-cp313-cp313-macosx_15_0_x86_64.whl
Size 18.1 MB
Tags CPython 3.13 macOS 15.0+ x86-64
SHA-256 checksum
How to use checksums
743cadb4e7a587010baa54464a6f20f7a5aeb6db94ef937d9acde0edbd634165
BLAKE2b-256 checksum
How to use checksums
ff49d4293e6b562aef021a253dfd2134789de6f452c8334cc5516ca702a07e0a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 2, 2026.

Transparency log

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

Download URL eggp-2.2.3-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
e08fe0bd086b722075c0cbfef04fb8291d010d57ea2695d72147bf213117b1da
BLAKE2b-256 checksum
How to use checksums
a887c476c266d47f8dcdd59cff9e356846bdab54922aa55794bb80292a2cd84c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 2, 2026.

Transparency log

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

Download URL eggp-2.2.3-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
760677931fa30e73501620b9db65c284b1bd8d23e74a1baa230ad8377b7db19a
BLAKE2b-256 checksum
How to use checksums
975910ccea27db4640586f6732402ee58eca1dd61d856e076256ba385c7dc85e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 2, 2026.

Transparency log

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

Download URL eggp-2.2.3-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
f03aa5e7dbc64f6dafdc288277749ad4a1cb584f4ecb03963d3712cf3bce0bb1
BLAKE2b-256 checksum
How to use checksums
d6a1a1fbb4a1635a43826b7baab5cf2c27b3463c5195ac75ced8bde317dc4a34
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 2, 2026.

Transparency log

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

Download URL eggp-2.2.3-cp312-cp312-macosx_15_0_x86_64.whl
Size 18.1 MB
Tags CPython 3.12 macOS 15.0+ x86-64
SHA-256 checksum
How to use checksums
d2ffdcc31d8fcf8c9cc4dacbc72e1becfc0ae6602361d5eef7269dc5a2eae3ea
BLAKE2b-256 checksum
How to use checksums
31cb54475ad0fca3dc38e14ad4bd59831ae7cf2e97b27e01bae633f2ae475cf4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 2, 2026.

Transparency log

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

Download URL eggp-2.2.3-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
e6cd30c60ba06923866dbd4138e5075b1bb2c9551fa0cd113e1f7130177d9134
BLAKE2b-256 checksum
How to use checksums
634e1ce37c1ee7277ecf77735ec9c8bf416f6011342ca52e58c37f948856910d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 2, 2026.

Transparency log

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

Download URL eggp-2.2.3-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
a122eba27c5235a0ee233586d881e5fd06eb0a128b8fbd9d3d27c4fff782301e
BLAKE2b-256 checksum
How to use checksums
5e21a25bee0cca0b1e43cba7c2d1da5824b10765b1ac3c8243a7a675b3eac1f6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 2, 2026.

Transparency log

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

Download URL eggp-2.2.3-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
90e91575604f8cb5c0ba8b688f84af72417503c03ac6cf3b9e560026f3a70003
BLAKE2b-256 checksum
How to use checksums
f1683f1997fc1e63d666a1cd90446f89b2470dd0486374443559d9f8350f220b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 2, 2026.

Transparency log

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

Download URL eggp-2.2.3-cp311-cp311-macosx_15_0_x86_64.whl
Size 18.1 MB
Tags CPython 3.11 macOS 15.0+ x86-64
SHA-256 checksum
How to use checksums
42f46c0abf4476163b1ca7bcd32cb5b63a9220b5bfbab2753997ec84119ba462
BLAKE2b-256 checksum
How to use checksums
3a57bca087942124c26074e6a7eefda502a3c92bb0af5d4d76f4612d5af2382d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 2, 2026.

Transparency log

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

Download URL eggp-2.2.3-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
ee2264141bc90becff44a7cf2e357c1b6bf2cb695c576839440b81571b4b1be2
BLAKE2b-256 checksum
How to use checksums
483945c68e116ce16e59a03ed539591465cb5f90a2899e078e8e5939b0903917
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 2, 2026.

Transparency log

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

Download URL eggp-2.2.3-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
80475ea4610597de8d840e140cdbf206039d6304b0404e68556eb17da1d9aac0
BLAKE2b-256 checksum
How to use checksums
b19309ac970f66e09a10087c01fb6cef56ef86676e0b23e361f1a616ffe87031
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 2, 2026.

Transparency log

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

Download URL eggp-2.2.3-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
6a27b7794d2bfae8ed8016f6aef49de2b2a608a2602dc53758b729c99176bd5b
BLAKE2b-256 checksum
How to use checksums
e917b8b82fddefa27a804deb9e54c1458efa66b0beb353ec207987e61a0a0d22
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 2, 2026.

Transparency log

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

Download URL eggp-2.2.3-cp310-cp310-macosx_15_0_x86_64.whl
Size 18.1 MB
Tags CPython 3.10 macOS 15.0+ x86-64
SHA-256 checksum
How to use checksums
9b7d616218dd6b16914f897c4dbd2b72ffa5f84232d2d890c163dfb81af89ace
BLAKE2b-256 checksum
How to use checksums
117b1f66291c140fd900d4874066b885b81056b40430693cf910377ebd843b42
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 2, 2026.

Transparency log

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

Download URL eggp-2.2.3-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
983fa3f3aa31cc3b5f88f88a3c9a9cac1f17fe341081436a603b1f45922f5ccb
BLAKE2b-256 checksum
How to use checksums
5bc88fa42d2040d679f08503cbe9e2dd8052f78f4aed672fcc86643f71f057ea
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 2, 2026.

Transparency log

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

Download URL eggp-2.2.3-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
bf1e5bc905d0285c664275e1ea752bd7fc9d421c1f59641f1ae62488ce9d3b21
BLAKE2b-256 checksum
How to use checksums
4bad36e4fe91d2607b03ec7dfef513b585b360c1a5d86229f62bdb4f1dcc8191
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 2, 2026.

Transparency log

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

Download URL eggp-2.2.3-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
4b21bfa00ae650989ca50bca5073fba34bfa41c687a4bfde061d0b1a563408c9
BLAKE2b-256 checksum
How to use checksums
b8d7727a497de9274525485bca94472f580f76b2fca634692c4c880072e4f5e2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 2, 2026.

Transparency log

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

Download URL eggp-2.2.3-cp39-cp39-macosx_15_0_x86_64.whl
Size 18.1 MB
Tags CPython 3.9 macOS 15.0+ x86-64
SHA-256 checksum
How to use checksums
c15f7432e220979949889030b700223eb58d1be10fff048b99577a4606ec8ba9
BLAKE2b-256 checksum
How to use checksums
c3f2e73bceb2f1227257f3fd52176789ea9911ef15eb0085cd8d3a0059b7235b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 2, 2026.

Transparency log

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

Download URL eggp-2.2.3-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
44bf981b011f9518fd0488dfa438deeb85cc1ea9d524426009071b75e6e81bcc
BLAKE2b-256 checksum
How to use checksums
15f1bfd3555391fe1c45fc661419b406f345fab9fbed32e89c68a2302d38f232
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 2, 2026.

Transparency log

Security for eggp 2.2.3

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.3.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 Nov 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