egglog Python wrapper

June 18, 2026 ยท View on GitHub

Documentation Status Test PyPi Package License Python Versions pre-commit CodSpeed Badge

egglog is a Python package that provides bindings to the Rust library egglog, allowing you to use e-graphs in Python for optimization, symbolic computation, and analysis.

Please see the documentation for more information.

Come say hello on the e-graphs Zulip or open an issue!

Install

With pip:

python -m pip install egglog

With uv in a project:

uv add egglog

For array examples, install the optional array dependencies:

python -m pip install "egglog[array]"
uv add "egglog[array]"

How to cite

If you use egglog-python in academic work, please cite the paper:

@misc{Shanabrook2023EgglogPython,
  title         = {Egglog Python: A Pythonic Library for E-graphs},
  author        = {Saul Shanabrook},
  year          = {2023},
  eprint        = {2305.04311},
  archivePrefix = {arXiv},
  primaryClass  = {cs.PL},
  doi           = {10.48550/arXiv.2305.04311},
  url           = {https://arxiv.org/abs/2305.04311},
  note          = {Presented at EGRAPHS@PLDI 2023}
}