metadsl/egg-smol-python ↗

Created Apr 24, 2023 · View the metadsl/egg-smol-python repository page

Python bindings for the egglog rust library

An animated visualization of metadsl/egg-smol-python's Git history from November 2022 to April 2023, built by 2 contributors. The codebase reached 445 lines, mostly JavaScript. The video runs 23 seconds.

Want this for your repo?

Render a free sample of any GitHub repo in seconds.

Visualize your own →

Contributors

2

Lines of Code

445

From

Nov 2, 2022

To

Apr 12, 2023

Advertisement

About metadsl/egg-smol-python

egglog-python provides Python bindings for the egglog Rust library, bringing equality saturation and e-graph-based optimization techniques to Python developers. E-graphs are a data structure for storing multiple equivalent expressions compactly, and equality saturation is a technique that automatically finds optimizations by exploring equivalences between terms. This package allows users to apply these powerful program analysis and transformation techniques directly within Python without needing to write Rust code.

The library enables optimization, symbolic computation, and analysis workflows by exposing egglog's core functionality through a Pythonic interface. It's designed for developers and researchers working on compiler optimizations, term rewriting, domain-specific languages, and other symbolic computation tasks. The project is well-documented with comprehensive documentation, has an active community on the e-graphs Zulip chat, and is published on PyPI for easy installation. The authors have published an academic paper on the work, presented at EGRAPHS@PLDI 2023, establishing it as a serious tool for the research and programming languages community.

Advertisement

Share this video