egglog

Python bindings for the egg-smol rust library

https://github.com/egraphs-good/egglog-python

Science Score: 67.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 1 DOI reference(s) in README
  • Academic publication links
    Links to: arxiv.org
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (9.5%) to scientific vocabulary

Keywords

dsl e-graph equality-saturation python rust term-rewriting

Keywords from Contributors

mesh energy-system-model standards interpretability data-profilers datacleaner pipeline-testing animations yolov5s exoplanet
Last synced: 6 months ago · JSON representation ·

Repository

Python bindings for the egg-smol rust library

Basic Info
Statistics
  • Stars: 86
  • Watchers: 3
  • Forks: 14
  • Open Issues: 13
  • Releases: 2
Topics
dsl e-graph equality-saturation python rust term-rewriting
Created over 3 years ago · Last pushed 6 months ago
Metadata Files
Readme License Citation

README.md

egglog Python wrapper

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!

How to cite

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

```bibtex @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} }

Owner

  • Name: egraphs-good
  • Login: egraphs-good
  • Kind: organization

Using e-graphs to build cool stuff

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use egglog-python, please cite the paper below. If you also need to cite the software, include the version."
title: "egglog-python"
type: software
authors:
  - given-names: Saul
    family-names: Shanabrook
    email: s.shanabrook@gmail.com
    orcid: "https://orcid.org/0000-0002-0258-4236"
license: MIT
repository-code: "https://github.com/egraphs-good/egglog-python"
url: "https://egglog-python.readthedocs.io/"
keywords: [e-graph, equality-saturation, DSL, Python, egglog]

preferred-citation:
  type: conference-paper
  title: "Egglog Python: A Pythonic Library for E-graphs"
  authors:
    - given-names: Saul
      family-names: Shanabrook
      orcid: "https://orcid.org/0000-0002-0258-4236"
  year: 2023
  collection-title: "EGRAPHS@PLDI 2023"
  doi: "10.48550/arXiv.2305.04311"
  url: "https://arxiv.org/abs/2305.04311"

GitHub Events

Total
  • Create event: 102
  • Release event: 1
  • Issues event: 30
  • Watch event: 19
  • Delete event: 97
  • Issue comment event: 164
  • Push event: 254
  • Pull request review event: 26
  • Pull request review comment event: 26
  • Pull request event: 188
  • Fork event: 6
Last Year
  • Create event: 102
  • Release event: 1
  • Issues event: 30
  • Watch event: 19
  • Delete event: 97
  • Issue comment event: 164
  • Push event: 254
  • Pull request review event: 26
  • Pull request review comment event: 26
  • Pull request event: 188
  • Fork event: 6

Committers

Last synced: 9 months ago

All Time
  • Total Commits: 960
  • Total Committers: 10
  • Avg Commits per committer: 96.0
  • Development Distribution Score (DDS): 0.1
Past Year
  • Commits: 176
  • Committers: 7
  • Avg Commits per committer: 25.143
  • Development Distribution Score (DDS): 0.193
Top Committers
Name Email Commits
Saul Shanabrook s****k@g****m 864
pre-commit-ci[bot] 6****] 43
dependabot[bot] 4****] 22
github-actions[bot] 4****] 9
Wil Thomason w****n@g****m 6
Leeky c****t@b****e 5
Manos Pitsidianakis m****s@p****s 4
Chayim I. Kirshen c@k****m 4
Oren Hecht h****n@y****m 2
Majid alDosari m****b@y****m 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 42
  • Total pull requests: 322
  • Average time to close issues: 2 months
  • Average time to close pull requests: 10 days
  • Total issue authors: 18
  • Total pull request authors: 10
  • Average comments per issue: 1.12
  • Average comments per pull request: 0.82
  • Merged pull requests: 214
  • Bot issues: 1
  • Bot pull requests: 152
Past Year
  • Issues: 16
  • Pull requests: 163
  • Average time to close issues: 11 days
  • Average time to close pull requests: 8 days
  • Issue authors: 11
  • Pull request authors: 8
  • Average comments per issue: 0.5
  • Average comments per pull request: 1.15
  • Merged pull requests: 97
  • Bot issues: 0
  • Bot pull requests: 92
Top Authors
Issue Authors
  • saulshanabrook (17)
  • ricardoV94 (4)
  • erick-xanadu (2)
  • RobinKa (2)
  • sklam (2)
  • orenht (2)
  • shinawy (2)
  • Pusty (1)
  • bakerk98 (1)
  • angererc (1)
  • dependabot[bot] (1)
  • ar0ck (1)
  • CZ-DannyK (1)
  • wbthomason (1)
  • Qi-Zhan (1)
Pull Request Authors
  • saulshanabrook (155)
  • dependabot[bot] (107)
  • github-actions[bot] (25)
  • pre-commit-ci[bot] (20)
  • chayim (5)
  • orenht (4)
  • Copilot (2)
  • Pusty (2)
  • epilys (1)
  • wbthomason (1)
Top Labels
Issue Labels
use case (1) dependencies (1) python (1) enhancement (1) good first issue (1)
Pull Request Labels
dependencies (107) rust (63) github_actions (36) python (8)

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 3,578 last-month
  • Total dependent packages: 1
  • Total dependent repositories: 1
  • Total versions: 27
  • Total maintainers: 1
pypi.org: egglog

e-graphs in Python built around the the egglog rust library

  • Versions: 27
  • Dependent Packages: 1
  • Dependent Repositories: 1
  • Downloads: 3,578 Last month
Rankings
Dependent packages count: 4.7%
Downloads: 5.8%
Average: 10.7%
Dependent repos count: 21.7%
Maintainers (1)
Last synced: 6 months ago

Dependencies

Cargo.lock cargo
  • ahash 0.7.6
  • aho-corasick 0.7.19
  • ascii-canvas 3.0.0
  • atty 0.2.14
  • autocfg 1.1.0
  • bit-set 0.5.3
  • bit-vec 0.6.3
  • bitflags 1.3.2
  • cfg-if 1.0.0
  • clap 4.0.18
  • clap_derive 4.0.18
  • clap_lex 0.3.0
  • crunchy 0.2.2
  • diff 0.1.13
  • dirs-next 2.0.0
  • dirs-sys-next 0.1.2
  • either 1.8.0
  • ena 0.14.0
  • env_logger 0.9.1
  • fixedbitset 0.4.2
  • getrandom 0.2.8
  • hashbrown 0.12.3
  • heck 0.4.0
  • hermit-abi 0.1.19
  • humantime 2.1.0
  • indexmap 1.9.1
  • indoc 1.0.7
  • instant 0.1.12
  • itertools 0.10.5
  • lalrpop 0.19.8
  • lalrpop-util 0.19.8
  • libc 0.2.137
  • lock_api 0.4.9
  • log 0.4.17
  • memchr 2.5.0
  • memoffset 0.6.5
  • new_debug_unreachable 1.0.4
  • num-bigint 0.4.3
  • num-integer 0.1.45
  • num-rational 0.4.1
  • num-traits 0.2.15
  • once_cell 1.16.0
  • os_str_bytes 6.3.1
  • parking_lot 0.12.1
  • parking_lot_core 0.9.4
  • petgraph 0.6.2
  • phf_shared 0.10.0
  • pico-args 0.4.2
  • precomputed-hash 0.1.1
  • proc-macro-error 1.0.4
  • proc-macro-error-attr 1.0.4
  • proc-macro2 1.0.47
  • pyo3 0.17.3
  • pyo3-build-config 0.17.3
  • pyo3-ffi 0.17.3
  • pyo3-macros 0.17.3
  • pyo3-macros-backend 0.17.3
  • quote 1.0.21
  • redox_syscall 0.2.16
  • redox_users 0.4.3
  • regex 1.6.0
  • regex-syntax 0.6.27
  • rustc-hash 1.1.0
  • rustversion 1.0.9
  • scopeguard 1.1.0
  • siphasher 0.3.10
  • smallvec 1.10.0
  • string_cache 0.8.4
  • strsim 0.10.0
  • syn 1.0.103
  • target-lexicon 0.12.4
  • term 0.7.0
  • termcolor 1.1.3
  • thiserror 1.0.37
  • thiserror-impl 1.0.37
  • tiny-keccak 2.0.2
  • unicode-ident 1.0.5
  • unicode-xid 0.2.4
  • unindent 0.1.10
  • version_check 0.9.4
  • wasi 0.11.0+wasi-snapshot-preview1
  • winapi 0.3.9
  • winapi-i686-pc-windows-gnu 0.4.0
  • winapi-util 0.1.5
  • winapi-x86_64-pc-windows-gnu 0.4.0
  • windows-sys 0.42.0
  • windows_aarch64_gnullvm 0.42.0
  • windows_aarch64_msvc 0.42.0
  • windows_i686_gnu 0.42.0
  • windows_i686_msvc 0.42.0
  • windows_x86_64_gnu 0.42.0
  • windows_x86_64_gnullvm 0.42.0
  • windows_x86_64_msvc 0.42.0
.github/workflows/CI.yml actions
  • PyO3/maturin-action v1.31.0 composite
  • actions/cache v3 composite
  • actions/checkout v2 composite
  • actions/checkout v3 composite
  • actions/download-artifact v2 composite
  • actions/setup-python v2 composite
  • actions/upload-artifact v2 composite
Cargo.toml cargo
pyproject.toml pypi
  • black *
  • graphviz *
  • typing-extensions *
docs/environment.yml conda
  • graphviz
  • numba
  • pip
  • python 3.10.*
  • rust
  • scikit-learn