egglog 6.0.1__tar.gz → 7.0.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of egglog might be problematic. Click here for more details.
- {egglog-6.0.1 → egglog-7.0.0}/.github/workflows/CI.yml +0 -68
- egglog-7.0.0/.github/workflows/version.yml +133 -0
- {egglog-6.0.1 → egglog-7.0.0}/.pre-commit-config.yaml +1 -1
- egglog-7.0.0/CITATION.cff +35 -0
- {egglog-6.0.1 → egglog-7.0.0}/Cargo.lock +22 -14
- {egglog-6.0.1 → egglog-7.0.0}/Cargo.toml +4 -4
- {egglog-6.0.1 → egglog-7.0.0}/PKG-INFO +15 -15
- {egglog-6.0.1 → egglog-7.0.0}/docs/changelog.md +14 -0
- egglog-7.0.0/docs/explanation/2024_03_17_community_talk.ipynb +9604 -0
- egglog-7.0.0/docs/explanation/2024_03_17_map.svg +15 -0
- egglog-7.0.0/increment_version.py +79 -0
- {egglog-6.0.1 → egglog-7.0.0}/pyproject.toml +15 -0
- {egglog-6.0.1 → egglog-7.0.0}/python/egglog/__init__.py +1 -1
- {egglog-6.0.1 → egglog-7.0.0}/python/egglog/bindings.pyi +24 -4
- {egglog-6.0.1 → egglog-7.0.0}/python/egglog/builtins.py +1 -1
- egglog-7.0.0/python/egglog/conversion.py +172 -0
- egglog-7.0.0/python/egglog/declarations.py +614 -0
- {egglog-6.0.1 → egglog-7.0.0}/python/egglog/egraph.py +539 -803
- egglog-7.0.0/python/egglog/egraph_state.py +417 -0
- {egglog-6.0.1 → egglog-7.0.0}/python/egglog/exp/array_api.py +96 -84
- {egglog-6.0.1 → egglog-7.0.0}/python/egglog/exp/array_api_numba.py +13 -11
- egglog-7.0.0/python/egglog/exp/siu_examples.py +35 -0
- egglog-7.0.0/python/egglog/pretty.py +418 -0
- egglog-7.0.0/python/egglog/runtime.py +466 -0
- egglog-7.0.0/python/egglog/thunk.py +72 -0
- {egglog-6.0.1 → egglog-7.0.0}/python/egglog/type_constraint_solver.py +5 -2
- {egglog-6.0.1 → egglog-7.0.0}/python/tests/__snapshots__/test_array_api/TestLDA.test_optimize.py +2 -2
- {egglog-6.0.1 → egglog-7.0.0}/python/tests/__snapshots__/test_array_api/TestLDA.test_source_optimized.py +2 -2
- {egglog-6.0.1 → egglog-7.0.0}/python/tests/conftest.py +3 -3
- {egglog-6.0.1 → egglog-7.0.0}/python/tests/test_array_api.py +34 -29
- {egglog-6.0.1 → egglog-7.0.0}/python/tests/test_bindings.py +27 -1
- {egglog-6.0.1 → egglog-7.0.0}/python/tests/test_high_level.py +31 -8
- {egglog-6.0.1 → egglog-7.0.0}/python/tests/test_modules.py +9 -6
- egglog-7.0.0/python/tests/test_pretty.py +149 -0
- egglog-7.0.0/python/tests/test_runtime.py +108 -0
- egglog-7.0.0/rust-toolchain.toml +2 -0
- {egglog-6.0.1 → egglog-7.0.0}/src/conversions.rs +25 -12
- {egglog-6.0.1 → egglog-7.0.0}/src/egraph.rs +27 -12
- {egglog-6.0.1 → egglog-7.0.0}/src/lib.rs +1 -1
- {egglog-6.0.1 → egglog-7.0.0}/src/py_object_sort.rs +15 -13
- {egglog-6.0.1 → egglog-7.0.0}/src/serialize.rs +1 -4
- {egglog-6.0.1 → egglog-7.0.0}/src/utils.rs +4 -4
- {egglog-6.0.1 → egglog-7.0.0}/stubtest_allow +2 -0
- egglog-6.0.1/python/egglog/declarations.py +0 -1020
- egglog-6.0.1/python/egglog/runtime.py +0 -700
- egglog-6.0.1/python/tests/test_runtime.py +0 -143
- egglog-6.0.1/rust-toolchain +0 -1
- {egglog-6.0.1 → egglog-7.0.0}/.gitignore +0 -0
- {egglog-6.0.1 → egglog-7.0.0}/.readthedocs.yaml +0 -0
- {egglog-6.0.1 → egglog-7.0.0}/LICENSE +0 -0
- {egglog-6.0.1 → egglog-7.0.0}/README.md +0 -0
- {egglog-6.0.1 → egglog-7.0.0}/conftest.py +0 -0
- {egglog-6.0.1 → egglog-7.0.0}/docs/.gitignore +0 -0
- {egglog-6.0.1 → egglog-7.0.0}/docs/_templates/comments.html +0 -0
- {egglog-6.0.1 → egglog-7.0.0}/docs/conf.py +0 -0
- {egglog-6.0.1 → egglog-7.0.0}/docs/environment.yml +0 -0
- {egglog-6.0.1 → egglog-7.0.0}/docs/explanation/.gitignore +0 -0
- {egglog-6.0.1 → egglog-7.0.0}/docs/explanation/2023_07_presentation.ipynb +0 -0
- {egglog-6.0.1 → egglog-7.0.0}/docs/explanation/2023_11_09_portland_state.ipynb +0 -0
- {egglog-6.0.1 → egglog-7.0.0}/docs/explanation/2023_11_17_pytensor.ipynb +0 -0
- {egglog-6.0.1 → egglog-7.0.0}/docs/explanation/2023_11_pydata_lightning_talk.ipynb +0 -0
- {egglog-6.0.1 → egglog-7.0.0}/docs/explanation/2023_12_02_congruence_closure-1.png +0 -0
- {egglog-6.0.1 → egglog-7.0.0}/docs/explanation/2023_12_02_congruence_closure-2.png +0 -0
- {egglog-6.0.1 → egglog-7.0.0}/docs/explanation/2023_12_02_congruence_closure.md +0 -0
- {egglog-6.0.1 → egglog-7.0.0}/docs/explanation/big_graph.svg +0 -0
- {egglog-6.0.1 → egglog-7.0.0}/docs/explanation/define_and_define.md +0 -0
- {egglog-6.0.1 → egglog-7.0.0}/docs/explanation/ecosystem-graph.png +0 -0
- {egglog-6.0.1 → egglog-7.0.0}/docs/explanation/egg.png +0 -0
- {egglog-6.0.1 → egglog-7.0.0}/docs/explanation/indexing_pushdown.ipynb +0 -0
- {egglog-6.0.1 → egglog-7.0.0}/docs/explanation/moa.png +0 -0
- {egglog-6.0.1 → egglog-7.0.0}/docs/explanation/optional_values.md +0 -0
- {egglog-6.0.1 → egglog-7.0.0}/docs/explanation/pldi_2023_presentation.ipynb +0 -0
- {egglog-6.0.1 → egglog-7.0.0}/docs/explanation.md +0 -0
- {egglog-6.0.1 → egglog-7.0.0}/docs/how-to-guides.md +0 -0
- {egglog-6.0.1 → egglog-7.0.0}/docs/index.md +0 -0
- {egglog-6.0.1 → egglog-7.0.0}/docs/reference/bindings.md +0 -0
- {egglog-6.0.1 → egglog-7.0.0}/docs/reference/contributing.md +0 -0
- {egglog-6.0.1 → egglog-7.0.0}/docs/reference/egglog-translation.md +0 -0
- {egglog-6.0.1 → egglog-7.0.0}/docs/reference/high-level.md +0 -0
- {egglog-6.0.1 → egglog-7.0.0}/docs/reference/python-integration.md +0 -0
- {egglog-6.0.1 → egglog-7.0.0}/docs/reference/usage.md +0 -0
- {egglog-6.0.1 → egglog-7.0.0}/docs/reference.md +0 -0
- {egglog-6.0.1 → egglog-7.0.0}/docs/tutorials/getting-started.ipynb +0 -0
- {egglog-6.0.1 → egglog-7.0.0}/docs/tutorials/screenshot-1.png +0 -0
- {egglog-6.0.1 → egglog-7.0.0}/docs/tutorials/screenshot-2.png +0 -0
- {egglog-6.0.1 → egglog-7.0.0}/docs/tutorials/sklearn.ipynb +0 -0
- {egglog-6.0.1 → egglog-7.0.0}/docs/tutorials.md +0 -0
- {egglog-6.0.1 → egglog-7.0.0}/python/egglog/config.py +0 -0
- {egglog-6.0.1 → egglog-7.0.0}/python/egglog/examples/README.rst +0 -0
- {egglog-6.0.1 → egglog-7.0.0}/python/egglog/examples/__init__.py +0 -0
- {egglog-6.0.1 → egglog-7.0.0}/python/egglog/examples/bool.py +0 -0
- {egglog-6.0.1 → egglog-7.0.0}/python/egglog/examples/eqsat_basic.py +0 -0
- {egglog-6.0.1 → egglog-7.0.0}/python/egglog/examples/fib.py +0 -0
- {egglog-6.0.1 → egglog-7.0.0}/python/egglog/examples/lambda_.py +0 -0
- {egglog-6.0.1 → egglog-7.0.0}/python/egglog/examples/matrix.py +0 -0
- {egglog-6.0.1 → egglog-7.0.0}/python/egglog/examples/ndarrays.py +0 -0
- {egglog-6.0.1 → egglog-7.0.0}/python/egglog/examples/resolution.py +0 -0
- {egglog-6.0.1 → egglog-7.0.0}/python/egglog/examples/schedule_demo.py +0 -0
- {egglog-6.0.1 → egglog-7.0.0}/python/egglog/exp/__init__.py +0 -0
- {egglog-6.0.1 → egglog-7.0.0}/python/egglog/exp/array_api_jit.py +0 -0
- {egglog-6.0.1 → egglog-7.0.0}/python/egglog/exp/array_api_program_gen.py +0 -0
- {egglog-6.0.1 → egglog-7.0.0}/python/egglog/exp/program_gen.py +0 -0
- {egglog-6.0.1 → egglog-7.0.0}/python/egglog/graphviz_widget.py +0 -0
- {egglog-6.0.1 → egglog-7.0.0}/python/egglog/ipython_magic.py +0 -0
- {egglog-6.0.1 → egglog-7.0.0}/python/egglog/py.typed +0 -0
- {egglog-6.0.1 → egglog-7.0.0}/python/egglog/widget.css +0 -0
- {egglog-6.0.1 → egglog-7.0.0}/python/egglog/widget.js +0 -0
- {egglog-6.0.1 → egglog-7.0.0}/python/tests/__init__.py +0 -0
- {egglog-6.0.1 → egglog-7.0.0}/python/tests/__snapshots__/test_array_api/TestLDA.test_trace.py +0 -0
- {egglog-6.0.1 → egglog-7.0.0}/python/tests/__snapshots__/test_program_gen/test_to_string.py +0 -0
- {egglog-6.0.1 → egglog-7.0.0}/python/tests/test_convert.py +0 -0
- {egglog-6.0.1 → egglog-7.0.0}/python/tests/test_program_gen.py +0 -0
- {egglog-6.0.1 → egglog-7.0.0}/python/tests/test_py_object_sort.py +0 -0
- {egglog-6.0.1 → egglog-7.0.0}/python/tests/test_type_constraint_solver.py +0 -0
- {egglog-6.0.1 → egglog-7.0.0}/python/tests/test_typing.py +0 -0
- {egglog-6.0.1 → egglog-7.0.0}/src/error.rs +0 -0
- {egglog-6.0.1 → egglog-7.0.0}/test-data/unit/check-high-level.test +0 -0
|
@@ -4,9 +4,6 @@ on:
|
|
|
4
4
|
push:
|
|
5
5
|
branches:
|
|
6
6
|
- main
|
|
7
|
-
- master
|
|
8
|
-
tags:
|
|
9
|
-
- "*"
|
|
10
7
|
pull_request:
|
|
11
8
|
workflow_dispatch:
|
|
12
9
|
|
|
@@ -81,68 +78,3 @@ jobs:
|
|
|
81
78
|
sudo apt-get install -y graphviz
|
|
82
79
|
- run: pip install -e .[docs] pre-commit
|
|
83
80
|
- run: pre-commit run --hook-stage manual docs
|
|
84
|
-
linux:
|
|
85
|
-
name: build linux
|
|
86
|
-
runs-on: ubuntu-latest
|
|
87
|
-
needs: [test]
|
|
88
|
-
steps:
|
|
89
|
-
- uses: actions/checkout@v4
|
|
90
|
-
- uses: PyO3/maturin-action@v1.40.1
|
|
91
|
-
with:
|
|
92
|
-
manylinux: auto
|
|
93
|
-
command: build
|
|
94
|
-
args: --release --sdist -o dist --find-interpreter
|
|
95
|
-
- name: Upload wheels
|
|
96
|
-
uses: actions/upload-artifact@v2
|
|
97
|
-
with:
|
|
98
|
-
name: wheels
|
|
99
|
-
path: dist
|
|
100
|
-
|
|
101
|
-
windows:
|
|
102
|
-
name: build windows
|
|
103
|
-
runs-on: windows-latest
|
|
104
|
-
needs: [test]
|
|
105
|
-
steps:
|
|
106
|
-
- uses: actions/checkout@v4
|
|
107
|
-
- uses: PyO3/maturin-action@v1.40.1
|
|
108
|
-
with:
|
|
109
|
-
command: build
|
|
110
|
-
args: --release -o dist --find-interpreter
|
|
111
|
-
- name: Upload wheels
|
|
112
|
-
uses: actions/upload-artifact@v2
|
|
113
|
-
with:
|
|
114
|
-
name: wheels
|
|
115
|
-
path: dist
|
|
116
|
-
|
|
117
|
-
macos:
|
|
118
|
-
name: build macos
|
|
119
|
-
runs-on: macos-latest
|
|
120
|
-
needs: [test]
|
|
121
|
-
steps:
|
|
122
|
-
- uses: actions/checkout@v4
|
|
123
|
-
- uses: PyO3/maturin-action@v1.40.1
|
|
124
|
-
with:
|
|
125
|
-
command: build
|
|
126
|
-
args: --release -o dist --universal2 --find-interpreter
|
|
127
|
-
- name: Upload wheels
|
|
128
|
-
uses: actions/upload-artifact@v2
|
|
129
|
-
with:
|
|
130
|
-
name: wheels
|
|
131
|
-
path: dist
|
|
132
|
-
|
|
133
|
-
release:
|
|
134
|
-
name: Release
|
|
135
|
-
runs-on: ubuntu-latest
|
|
136
|
-
if: startsWith(github.ref, 'refs/tags/') || (github.event_name == 'workflow_dispatch')
|
|
137
|
-
needs: [macos, windows, linux]
|
|
138
|
-
steps:
|
|
139
|
-
- uses: actions/download-artifact@v2
|
|
140
|
-
with:
|
|
141
|
-
name: wheels
|
|
142
|
-
- name: Publish to PyPI
|
|
143
|
-
uses: PyO3/maturin-action@v1.40.1
|
|
144
|
-
env:
|
|
145
|
-
MATURIN_PYPI_TOKEN: ${{ secrets.PYPI_API_TOKEN }}
|
|
146
|
-
with:
|
|
147
|
-
command: upload
|
|
148
|
-
args: --skip-existing *
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
# Creates a new version by:
|
|
2
|
+
# 1. bumping the version number in the changelog and cargo
|
|
3
|
+
# 2. Creates a new branch for this version
|
|
4
|
+
# 3. makes a new commit
|
|
5
|
+
# 4. Opens a PR for the new version
|
|
6
|
+
# 5. Pulls that branch and builds it for different platforms
|
|
7
|
+
# 6. Once all those build, makes a release
|
|
8
|
+
# 7. Creates a tag for that release
|
|
9
|
+
# 7. merges that PR when tests pass and removes the branch
|
|
10
|
+
|
|
11
|
+
# This seperates the release process from the test process, so we can still release if we need to and tests are failing
|
|
12
|
+
name: Bump Version
|
|
13
|
+
on:
|
|
14
|
+
workflow_dispatch:
|
|
15
|
+
inputs:
|
|
16
|
+
type:
|
|
17
|
+
description: "Release type"
|
|
18
|
+
required: true
|
|
19
|
+
default: "major"
|
|
20
|
+
type: choice
|
|
21
|
+
options:
|
|
22
|
+
- major
|
|
23
|
+
- minor
|
|
24
|
+
- patch
|
|
25
|
+
|
|
26
|
+
jobs:
|
|
27
|
+
bump:
|
|
28
|
+
runs-on: ubuntu-latest
|
|
29
|
+
permissions: write-all
|
|
30
|
+
outputs:
|
|
31
|
+
version: ${{ steps.bump.outputs.version }}
|
|
32
|
+
steps:
|
|
33
|
+
- uses: actions/checkout@v4
|
|
34
|
+
- run: |
|
|
35
|
+
git config user.name github-actions[bot]
|
|
36
|
+
git config user.email 41898282+github-actions[bot]@users.noreply.github.com
|
|
37
|
+
VERSION=$(python increment_version.py $TYPE)
|
|
38
|
+
git checkout -b "version-$VERSION"
|
|
39
|
+
git commit -am "Version $VERSION"
|
|
40
|
+
git push -u origin HEAD
|
|
41
|
+
gh pr create --fill
|
|
42
|
+
echo "version=$VERSION" >> "$GITHUB_OUTPUT"
|
|
43
|
+
id: bump
|
|
44
|
+
env:
|
|
45
|
+
TYPE: ${{ inputs.type }}
|
|
46
|
+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
47
|
+
|
|
48
|
+
linux:
|
|
49
|
+
name: build linux
|
|
50
|
+
runs-on: ubuntu-latest
|
|
51
|
+
needs: [bump]
|
|
52
|
+
steps:
|
|
53
|
+
- uses: actions/checkout@v4
|
|
54
|
+
with:
|
|
55
|
+
ref: version-${{ needs.bump.outputs.version }}
|
|
56
|
+
- uses: PyO3/maturin-action@v1.40.1
|
|
57
|
+
with:
|
|
58
|
+
manylinux: auto
|
|
59
|
+
command: build
|
|
60
|
+
args: --release --sdist -o dist --find-interpreter
|
|
61
|
+
- name: Upload wheels
|
|
62
|
+
uses: actions/upload-artifact@v2
|
|
63
|
+
with:
|
|
64
|
+
name: wheels
|
|
65
|
+
path: dist
|
|
66
|
+
|
|
67
|
+
windows:
|
|
68
|
+
name: build windows
|
|
69
|
+
runs-on: windows-latest
|
|
70
|
+
needs: [bump]
|
|
71
|
+
steps:
|
|
72
|
+
- uses: actions/checkout@v4
|
|
73
|
+
with:
|
|
74
|
+
ref: version-${{ needs.bump.outputs.version }}
|
|
75
|
+
- uses: PyO3/maturin-action@v1.40.1
|
|
76
|
+
with:
|
|
77
|
+
command: build
|
|
78
|
+
args: --release -o dist --find-interpreter
|
|
79
|
+
- name: Upload wheels
|
|
80
|
+
uses: actions/upload-artifact@v2
|
|
81
|
+
with:
|
|
82
|
+
name: wheels
|
|
83
|
+
path: dist
|
|
84
|
+
|
|
85
|
+
macos:
|
|
86
|
+
name: build macos
|
|
87
|
+
runs-on: macos-latest
|
|
88
|
+
needs: [bump]
|
|
89
|
+
steps:
|
|
90
|
+
- uses: actions/checkout@v4
|
|
91
|
+
with:
|
|
92
|
+
ref: version-${{ needs.bump.outputs.version }}
|
|
93
|
+
- uses: PyO3/maturin-action@v1.40.1
|
|
94
|
+
with:
|
|
95
|
+
command: build
|
|
96
|
+
args: --release -o dist --universal2 --find-interpreter
|
|
97
|
+
- name: Upload wheels
|
|
98
|
+
uses: actions/upload-artifact@v2
|
|
99
|
+
with:
|
|
100
|
+
name: wheels
|
|
101
|
+
path: dist
|
|
102
|
+
|
|
103
|
+
release:
|
|
104
|
+
name: Release
|
|
105
|
+
runs-on: ubuntu-latest
|
|
106
|
+
if: startsWith(github.ref, 'refs/tags/') || (github.event_name == 'workflow_dispatch')
|
|
107
|
+
needs: [macos, windows, linux]
|
|
108
|
+
steps:
|
|
109
|
+
- uses: actions/download-artifact@v2
|
|
110
|
+
with:
|
|
111
|
+
name: wheels
|
|
112
|
+
- name: Publish to PyPI
|
|
113
|
+
uses: PyO3/maturin-action@v1.40.1
|
|
114
|
+
env:
|
|
115
|
+
MATURIN_PYPI_TOKEN: ${{ secrets.PYPI_API_TOKEN }}
|
|
116
|
+
with:
|
|
117
|
+
command: upload
|
|
118
|
+
args: --skip-existing *
|
|
119
|
+
tag-and-merge:
|
|
120
|
+
runs-on: ubuntu-latest
|
|
121
|
+
permissions: write-all
|
|
122
|
+
needs: [release, bump]
|
|
123
|
+
steps:
|
|
124
|
+
- uses: actions/checkout@v4
|
|
125
|
+
with:
|
|
126
|
+
ref: version-${{ needs.bump.outputs.version }}
|
|
127
|
+
- run: |
|
|
128
|
+
git tag "v$VERSION"
|
|
129
|
+
git push --tags
|
|
130
|
+
gh pr merge --admin --delete-branch
|
|
131
|
+
env:
|
|
132
|
+
VERSION: ${{ needs.bump.outputs.version }}
|
|
133
|
+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# This CITATION.cff file was generated with cffinit.
|
|
2
|
+
# Visit https://bit.ly/cffinit to generate yours today!
|
|
3
|
+
|
|
4
|
+
cff-version: 1.2.0
|
|
5
|
+
title: 'Egglog Python: A Pythonic Library for E-graphs'
|
|
6
|
+
message: >-
|
|
7
|
+
If you use this software, please cite it using the
|
|
8
|
+
metadata from this file.
|
|
9
|
+
type: software
|
|
10
|
+
authors:
|
|
11
|
+
- given-names: Saul
|
|
12
|
+
family-names: Shanabrook
|
|
13
|
+
email: s.shanabrook@gmail.com
|
|
14
|
+
orcid: 'https://orcid.org/0000-0002-0258-4236'
|
|
15
|
+
identifiers:
|
|
16
|
+
- type: other
|
|
17
|
+
value: 'arXiv:2305.04311'
|
|
18
|
+
repository-code: 'https://github.com/egraphs-good/egglog-python'
|
|
19
|
+
url: 'https://egglog-python.readthedocs.io/'
|
|
20
|
+
abstract: >-
|
|
21
|
+
E-graphs have emerged as a versatile data structure with
|
|
22
|
+
applications in synthesis, optimization, and verification
|
|
23
|
+
through techniques such as equality saturation. This paper
|
|
24
|
+
introduces Python bindings for the experimental egglog
|
|
25
|
+
library (previously called egg-smol), which aims to bring
|
|
26
|
+
the benefits of e-graphs to the Python ecosystem. The
|
|
27
|
+
bindings offer a high-level, Pythonic API providing an
|
|
28
|
+
accessible and familiar interface for Python users. By
|
|
29
|
+
integrating e-graph techniques with Python, we hope to
|
|
30
|
+
enable collaboration and innovation across various domains
|
|
31
|
+
in the scientific computing and machine learning
|
|
32
|
+
communities. We discuss the advantages of using Python
|
|
33
|
+
bindings for both Python and existing egg-smol users, as
|
|
34
|
+
well as possible future directions for development.
|
|
35
|
+
license: MIT
|
|
@@ -285,7 +285,7 @@ checksum = "675e35c02a51bb4d4618cb4885b3839ce6d1787c97b664474d9208d074742e20"
|
|
|
285
285
|
[[package]]
|
|
286
286
|
name = "egglog"
|
|
287
287
|
version = "0.1.0"
|
|
288
|
-
source = "git+https://github.com/egraphs-good/egglog?rev=
|
|
288
|
+
source = "git+https://github.com/egraphs-good/egglog?rev=0113af1d6476b75d4319591cc3d675f96a71cdc5#0113af1d6476b75d4319591cc3d675f96a71cdc5"
|
|
289
289
|
dependencies = [
|
|
290
290
|
"clap",
|
|
291
291
|
"egraph-serialize",
|
|
@@ -312,7 +312,7 @@ dependencies = [
|
|
|
312
312
|
|
|
313
313
|
[[package]]
|
|
314
314
|
name = "egglog-python"
|
|
315
|
-
version = "
|
|
315
|
+
version = "7.0.0"
|
|
316
316
|
dependencies = [
|
|
317
317
|
"egglog",
|
|
318
318
|
"egraph-serialize",
|
|
@@ -798,6 +798,12 @@ version = "0.5.0"
|
|
|
798
798
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
799
799
|
checksum = "5be167a7af36ee22fe3115051bc51f6e6c7054c9348e28deb4f49bd6f705a315"
|
|
800
800
|
|
|
801
|
+
[[package]]
|
|
802
|
+
name = "portable-atomic"
|
|
803
|
+
version = "1.6.0"
|
|
804
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
805
|
+
checksum = "7170ef9988bc169ba16dd36a7fa041e5c4cbeb6a35b76d4c03daded371eae7c0"
|
|
806
|
+
|
|
801
807
|
[[package]]
|
|
802
808
|
name = "ppv-lite86"
|
|
803
809
|
version = "0.2.17"
|
|
@@ -821,15 +827,16 @@ dependencies = [
|
|
|
821
827
|
|
|
822
828
|
[[package]]
|
|
823
829
|
name = "pyo3"
|
|
824
|
-
version = "0.
|
|
830
|
+
version = "0.21.2"
|
|
825
831
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
826
|
-
checksum = "
|
|
832
|
+
checksum = "a5e00b96a521718e08e03b1a622f01c8a8deb50719335de3f60b3b3950f069d8"
|
|
827
833
|
dependencies = [
|
|
828
834
|
"cfg-if",
|
|
829
835
|
"indoc",
|
|
830
836
|
"libc",
|
|
831
837
|
"memoffset",
|
|
832
838
|
"parking_lot",
|
|
839
|
+
"portable-atomic",
|
|
833
840
|
"pyo3-build-config",
|
|
834
841
|
"pyo3-ffi",
|
|
835
842
|
"pyo3-macros",
|
|
@@ -838,9 +845,9 @@ dependencies = [
|
|
|
838
845
|
|
|
839
846
|
[[package]]
|
|
840
847
|
name = "pyo3-build-config"
|
|
841
|
-
version = "0.
|
|
848
|
+
version = "0.21.2"
|
|
842
849
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
843
|
-
checksum = "
|
|
850
|
+
checksum = "7883df5835fafdad87c0d888b266c8ec0f4c9ca48a5bed6bbb592e8dedee1b50"
|
|
844
851
|
dependencies = [
|
|
845
852
|
"once_cell",
|
|
846
853
|
"target-lexicon",
|
|
@@ -848,9 +855,9 @@ dependencies = [
|
|
|
848
855
|
|
|
849
856
|
[[package]]
|
|
850
857
|
name = "pyo3-ffi"
|
|
851
|
-
version = "0.
|
|
858
|
+
version = "0.21.2"
|
|
852
859
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
853
|
-
checksum = "
|
|
860
|
+
checksum = "01be5843dc60b916ab4dad1dca6d20b9b4e6ddc8e15f50c47fe6d85f1fb97403"
|
|
854
861
|
dependencies = [
|
|
855
862
|
"libc",
|
|
856
863
|
"pyo3-build-config",
|
|
@@ -858,9 +865,9 @@ dependencies = [
|
|
|
858
865
|
|
|
859
866
|
[[package]]
|
|
860
867
|
name = "pyo3-log"
|
|
861
|
-
version = "0.
|
|
868
|
+
version = "0.10.0"
|
|
862
869
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
863
|
-
checksum = "
|
|
870
|
+
checksum = "2af49834b8d2ecd555177e63b273b708dea75150abc6f5341d0a6e1a9623976c"
|
|
864
871
|
dependencies = [
|
|
865
872
|
"arc-swap",
|
|
866
873
|
"log",
|
|
@@ -869,9 +876,9 @@ dependencies = [
|
|
|
869
876
|
|
|
870
877
|
[[package]]
|
|
871
878
|
name = "pyo3-macros"
|
|
872
|
-
version = "0.
|
|
879
|
+
version = "0.21.2"
|
|
873
880
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
874
|
-
checksum = "
|
|
881
|
+
checksum = "77b34069fc0682e11b31dbd10321cbf94808394c56fd996796ce45217dfac53c"
|
|
875
882
|
dependencies = [
|
|
876
883
|
"proc-macro2",
|
|
877
884
|
"pyo3-macros-backend",
|
|
@@ -881,12 +888,13 @@ dependencies = [
|
|
|
881
888
|
|
|
882
889
|
[[package]]
|
|
883
890
|
name = "pyo3-macros-backend"
|
|
884
|
-
version = "0.
|
|
891
|
+
version = "0.21.2"
|
|
885
892
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
886
|
-
checksum = "
|
|
893
|
+
checksum = "08260721f32db5e1a5beae69a55553f56b99bd0e1c3e6e0a5e8851a9d0f5a85c"
|
|
887
894
|
dependencies = [
|
|
888
895
|
"heck",
|
|
889
896
|
"proc-macro2",
|
|
897
|
+
"pyo3-build-config",
|
|
890
898
|
"quote",
|
|
891
899
|
"syn 2.0.32",
|
|
892
900
|
]
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[package]
|
|
2
2
|
name = "egglog-python"
|
|
3
|
-
version = "
|
|
3
|
+
version = "7.0.0"
|
|
4
4
|
edition = "2021"
|
|
5
5
|
|
|
6
6
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
|
@@ -9,15 +9,15 @@ name = "egglog_python"
|
|
|
9
9
|
crate-type = ["cdylib"]
|
|
10
10
|
|
|
11
11
|
[dependencies]
|
|
12
|
-
pyo3 = { version = "0.
|
|
12
|
+
pyo3 = { version = "0.21", features = ["extension-module"] }
|
|
13
13
|
|
|
14
14
|
# https://github.com/egraphs-good/egglog/compare/ceed816e9369570ffed9feeba157b19471dda70d...main
|
|
15
|
-
egglog = { git = "https://github.com/egraphs-good/egglog", rev = "
|
|
15
|
+
egglog = { git = "https://github.com/egraphs-good/egglog", rev = "0113af1d6476b75d4319591cc3d675f96a71cdc5" }
|
|
16
16
|
# egglog = { git = "https://github.com/oflatt/egg-smol", branch = "oflatt-fast-terms" }
|
|
17
17
|
# egglog = { git = "https://github.com/saulshanabrook/egg-smol", rev = "38b3014b34399cc78887ede09c845b2a5d6c7d19" }
|
|
18
18
|
egraph-serialize = { git = "https://github.com/egraphs-good/egraph-serialize", rev = "5838c036623e91540831745b1574539e01c8cb23" }
|
|
19
19
|
serde_json = "*"
|
|
20
|
-
pyo3-log = "0.
|
|
20
|
+
pyo3-log = "0.10.0"
|
|
21
21
|
log = "0.4.20"
|
|
22
22
|
lalrpop-util = { version = "0.20.0", features = ["lexer"] }
|
|
23
23
|
ordered-float = "*"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: egglog
|
|
3
|
-
Version:
|
|
3
|
+
Version: 7.0.0
|
|
4
4
|
Classifier: Environment :: MacOS X
|
|
5
5
|
Classifier: Environment :: Win32 (MS Windows)
|
|
6
6
|
Classifier: Intended Audience :: Developers
|
|
@@ -19,18 +19,6 @@ Classifier: Typing :: Typed
|
|
|
19
19
|
Requires-Dist: typing-extensions
|
|
20
20
|
Requires-Dist: black
|
|
21
21
|
Requires-Dist: graphviz
|
|
22
|
-
Requires-Dist: pytest; extra == 'test'
|
|
23
|
-
Requires-Dist: mypy; extra == 'test'
|
|
24
|
-
Requires-Dist: syrupy; extra == 'test'
|
|
25
|
-
Requires-Dist: egglog[array]; extra == 'test'
|
|
26
|
-
Requires-Dist: pytest-codspeed; extra == 'test'
|
|
27
|
-
Requires-Dist: pytest-benchmark; extra == 'test'
|
|
28
|
-
Requires-Dist: pytest-xdist; extra == 'test'
|
|
29
|
-
Requires-Dist: pre-commit; extra == 'dev'
|
|
30
|
-
Requires-Dist: ruff; extra == 'dev'
|
|
31
|
-
Requires-Dist: mypy; extra == 'dev'
|
|
32
|
-
Requires-Dist: anywidget[dev]; extra == 'dev'
|
|
33
|
-
Requires-Dist: egglog[docs,test]; extra == 'dev'
|
|
34
22
|
Requires-Dist: pydata-sphinx-theme; extra == 'docs'
|
|
35
23
|
Requires-Dist: myst-nb; extra == 'docs'
|
|
36
24
|
Requires-Dist: sphinx-autodoc-typehints; extra == 'docs'
|
|
@@ -43,14 +31,26 @@ Requires-Dist: egglog[array]; extra == 'docs'
|
|
|
43
31
|
Requires-Dist: line-profiler; extra == 'docs'
|
|
44
32
|
Requires-Dist: sphinxcontrib-mermaid; extra == 'docs'
|
|
45
33
|
Requires-Dist: ablog; extra == 'docs'
|
|
34
|
+
Requires-Dist: pre-commit; extra == 'dev'
|
|
35
|
+
Requires-Dist: ruff; extra == 'dev'
|
|
36
|
+
Requires-Dist: mypy; extra == 'dev'
|
|
37
|
+
Requires-Dist: anywidget[dev]; extra == 'dev'
|
|
38
|
+
Requires-Dist: egglog[docs,test]; extra == 'dev'
|
|
46
39
|
Requires-Dist: scikit-learn; extra == 'array'
|
|
47
40
|
Requires-Dist: array_api_compat; extra == 'array'
|
|
48
41
|
Requires-Dist: numba==0.59.0rc1; extra == 'array'
|
|
49
42
|
Requires-Dist: llvmlite==0.42.0rc1; extra == 'array'
|
|
50
|
-
|
|
51
|
-
|
|
43
|
+
Requires-Dist: pytest; extra == 'test'
|
|
44
|
+
Requires-Dist: mypy; extra == 'test'
|
|
45
|
+
Requires-Dist: syrupy; extra == 'test'
|
|
46
|
+
Requires-Dist: egglog[array]; extra == 'test'
|
|
47
|
+
Requires-Dist: pytest-codspeed; extra == 'test'
|
|
48
|
+
Requires-Dist: pytest-benchmark; extra == 'test'
|
|
49
|
+
Requires-Dist: pytest-xdist; extra == 'test'
|
|
52
50
|
Provides-Extra: docs
|
|
51
|
+
Provides-Extra: dev
|
|
53
52
|
Provides-Extra: array
|
|
53
|
+
Provides-Extra: test
|
|
54
54
|
License-File: LICENSE
|
|
55
55
|
Summary: e-graphs in Python built around the the egglog rust library
|
|
56
56
|
License: MIT
|
|
@@ -4,6 +4,20 @@ _This project uses semantic versioning_
|
|
|
4
4
|
|
|
5
5
|
## UNRELEASED
|
|
6
6
|
|
|
7
|
+
## 7.0.0 (2024-04-27)
|
|
8
|
+
|
|
9
|
+
- Defers adding rules in functions until they are used, so that you can use types that are not present yet.
|
|
10
|
+
- Removes ability to set custom default ruleset for egraph. Either just use the empty default ruleset or explicitly set it for every run
|
|
11
|
+
- Automatically mark Python builtin operators as preserved if they must return a real Python value
|
|
12
|
+
- Properly pretty print all items (rewrites, actions, exprs, etc) so that expressions are de-duplicated and state is handled correctly.
|
|
13
|
+
- Add automatic releases from github manual action
|
|
14
|
+
|
|
15
|
+
## 6.1.0 (2024-03-06)
|
|
16
|
+
|
|
17
|
+
- Upgrade [egglog](https://github.com/egraphs-good/egglog/compare/4cc011f6b48029dd72104a38a2ca0c7657846e0b...0113af1d6476b75d4319591cc3d675f96a71cdc5)
|
|
18
|
+
- Adds subsume action
|
|
19
|
+
- Makes all objects besides EGraphs "sendable" aka threadsafe ([#129](https://github.com/egraphs-good/egglog-python/pull/129))
|
|
20
|
+
|
|
7
21
|
## 6.0.1 (2024-02-28)
|
|
8
22
|
|
|
9
23
|
- Upgrade dependencies, including [egglog](https://github.com/egraphs-good/egglog/compare/ceed816e9369570ffed9feeba157b19471dda70d...4cc011f6b48029dd72104a38a2ca0c7657846e0b)
|