Skip to content

Repository files navigation

egglog Python wrapper

Documentation StatusTestPyPi PackageLicensePython Versionspre-commitCodSpeed 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}
}

About

Python bindings for the egglog rust library

Topics

Resources

Stars

108 stars

Watchers

2 watching

Forks

Releases

Used by

Contributors

Languages