tiny-datalog 0.1.1__tar.gz → 0.1.2__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.
- {tiny_datalog-0.1.1 → tiny_datalog-0.1.2}/PKG-INFO +31 -1
- tiny_datalog-0.1.1/tiny_datalog.egg-info/PKG-INFO → tiny_datalog-0.1.2/README.md +9 -12
- tiny_datalog-0.1.2/pyproject.toml +56 -0
- {tiny_datalog-0.1.1 → tiny_datalog-0.1.2}/tiny_datalog/__init__.py +1 -1
- tiny_datalog-0.1.1/README.md → tiny_datalog-0.1.2/tiny_datalog.egg-info/PKG-INFO +42 -0
- tiny_datalog-0.1.1/pyproject.toml +0 -29
- {tiny_datalog-0.1.1 → tiny_datalog-0.1.2}/LICENSE +0 -0
- {tiny_datalog-0.1.1 → tiny_datalog-0.1.2}/setup.cfg +0 -0
- {tiny_datalog-0.1.1 → tiny_datalog-0.1.2}/tiny_datalog/containment.py +0 -0
- {tiny_datalog-0.1.1 → tiny_datalog-0.1.2}/tiny_datalog/datalog.py +0 -0
- {tiny_datalog-0.1.1 → tiny_datalog-0.1.2}/tiny_datalog/incremental.py +0 -0
- {tiny_datalog-0.1.1 → tiny_datalog-0.1.2}/tiny_datalog/magic.py +0 -0
- {tiny_datalog-0.1.1 → tiny_datalog-0.1.2}/tiny_datalog/prolog.py +0 -0
- {tiny_datalog-0.1.1 → tiny_datalog-0.1.2}/tiny_datalog/semantics.py +0 -0
- {tiny_datalog-0.1.1 → tiny_datalog-0.1.2}/tiny_datalog/semiring.py +0 -0
- {tiny_datalog-0.1.1 → tiny_datalog-0.1.2}/tiny_datalog/subsumption.py +0 -0
- {tiny_datalog-0.1.1 → tiny_datalog-0.1.2}/tiny_datalog/tabling.py +0 -0
- {tiny_datalog-0.1.1 → tiny_datalog-0.1.2}/tiny_datalog.egg-info/SOURCES.txt +0 -0
- {tiny_datalog-0.1.1 → tiny_datalog-0.1.2}/tiny_datalog.egg-info/dependency_links.txt +0 -0
- {tiny_datalog-0.1.1 → tiny_datalog-0.1.2}/tiny_datalog.egg-info/entry_points.txt +0 -0
- {tiny_datalog-0.1.1 → tiny_datalog-0.1.2}/tiny_datalog.egg-info/top_level.txt +0 -0
|
@@ -1,10 +1,31 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: tiny-datalog
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.2
|
|
4
4
|
Summary: A Datalog engine small enough to read in an afternoon
|
|
5
5
|
Author: Andrew Goodchild
|
|
6
6
|
License-Expression: MIT
|
|
7
7
|
Project-URL: Homepage, https://github.com/andrewgoodchild/tiny-datalog
|
|
8
|
+
Project-URL: Source, https://github.com/andrewgoodchild/tiny-datalog
|
|
9
|
+
Project-URL: Issues, https://github.com/andrewgoodchild/tiny-datalog/issues
|
|
10
|
+
Project-URL: Changelog, https://github.com/andrewgoodchild/tiny-datalog/releases
|
|
11
|
+
Project-URL: Lessons, https://github.com/andrewgoodchild/tiny-datalog/tree/main/lessons
|
|
12
|
+
Keywords: datalog,logic programming,deductive database,semi-naive evaluation,magic sets,provenance,stable models,teaching
|
|
13
|
+
Classifier: Development Status :: 3 - Alpha
|
|
14
|
+
Classifier: Intended Audience :: Developers
|
|
15
|
+
Classifier: Intended Audience :: Education
|
|
16
|
+
Classifier: Intended Audience :: Science/Research
|
|
17
|
+
Classifier: Operating System :: OS Independent
|
|
18
|
+
Classifier: Programming Language :: Python :: 3
|
|
19
|
+
Classifier: Programming Language :: Python :: 3 :: Only
|
|
20
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
21
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
22
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
23
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
24
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
25
|
+
Classifier: Topic :: Database
|
|
26
|
+
Classifier: Topic :: Education
|
|
27
|
+
Classifier: Topic :: Software Development :: Interpreters
|
|
28
|
+
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
|
|
8
29
|
Requires-Python: >=3.9
|
|
9
30
|
Description-Content-Type: text/markdown
|
|
10
31
|
License-File: LICENSE
|
|
@@ -210,6 +231,13 @@ tabled evaluation all agree, and that incremental maintenance matches
|
|
|
210
231
|
recomputation under random updates. 400 programs per run;
|
|
211
232
|
`TINY_DATALOG_FUZZ=3000 python3 tests.py DifferentialFuzzTests` soaks.
|
|
212
233
|
|
|
234
|
+
Answers are also checked against engines this repository did not write.
|
|
235
|
+
[`conformance/`](https://github.com/andrewgoodchild/tiny-datalog/tree/main/conformance)
|
|
236
|
+
runs the [datalog-conformance](https://pypi.org/project/datalog-conformance/)
|
|
237
|
+
corpus, harvested from Soufflé, Nemo and Crepe, through all four
|
|
238
|
+
strategies: 89 cases pass. The 25 it skips need arithmetic or 10⁵-fact
|
|
239
|
+
joins, and both are omissions this course makes on purpose.
|
|
240
|
+
|
|
213
241
|
## Learning Datalog
|
|
214
242
|
|
|
215
243
|
`lessons/` is a complete course, no prior exposure assumed, every
|
|
@@ -330,6 +358,8 @@ programs/ teaching programs, numbered by the lesson that uses
|
|
|
330
358
|
lessons/ getting started, glossary, and lessons 0–18
|
|
331
359
|
exercises/ worked answers, verified by the test suite
|
|
332
360
|
cases/ golden test cases — add one without writing Python
|
|
361
|
+
conformance/ the external datalog-conformance corpus (Soufflé, Nemo,
|
|
362
|
+
Crepe), run against all four evaluation strategies
|
|
333
363
|
benchmarks/ scaled input generators (chain/tree/clique/grid)
|
|
334
364
|
tests.py 235 tests: every shipped program and exercise answer is
|
|
335
365
|
executed, a conformance suite runs every query through
|
|
@@ -1,15 +1,3 @@
|
|
|
1
|
-
Metadata-Version: 2.4
|
|
2
|
-
Name: tiny-datalog
|
|
3
|
-
Version: 0.1.1
|
|
4
|
-
Summary: A Datalog engine small enough to read in an afternoon
|
|
5
|
-
Author: Andrew Goodchild
|
|
6
|
-
License-Expression: MIT
|
|
7
|
-
Project-URL: Homepage, https://github.com/andrewgoodchild/tiny-datalog
|
|
8
|
-
Requires-Python: >=3.9
|
|
9
|
-
Description-Content-Type: text/markdown
|
|
10
|
-
License-File: LICENSE
|
|
11
|
-
Dynamic: license-file
|
|
12
|
-
|
|
13
1
|
# tiny-datalog
|
|
14
2
|
|
|
15
3
|
[](https://github.com/andrewgoodchild/tiny-datalog/actions/workflows/ci.yml)
|
|
@@ -210,6 +198,13 @@ tabled evaluation all agree, and that incremental maintenance matches
|
|
|
210
198
|
recomputation under random updates. 400 programs per run;
|
|
211
199
|
`TINY_DATALOG_FUZZ=3000 python3 tests.py DifferentialFuzzTests` soaks.
|
|
212
200
|
|
|
201
|
+
Answers are also checked against engines this repository did not write.
|
|
202
|
+
[`conformance/`](https://github.com/andrewgoodchild/tiny-datalog/tree/main/conformance)
|
|
203
|
+
runs the [datalog-conformance](https://pypi.org/project/datalog-conformance/)
|
|
204
|
+
corpus, harvested from Soufflé, Nemo and Crepe, through all four
|
|
205
|
+
strategies: 89 cases pass. The 25 it skips need arithmetic or 10⁵-fact
|
|
206
|
+
joins, and both are omissions this course makes on purpose.
|
|
207
|
+
|
|
213
208
|
## Learning Datalog
|
|
214
209
|
|
|
215
210
|
`lessons/` is a complete course, no prior exposure assumed, every
|
|
@@ -330,6 +325,8 @@ programs/ teaching programs, numbered by the lesson that uses
|
|
|
330
325
|
lessons/ getting started, glossary, and lessons 0–18
|
|
331
326
|
exercises/ worked answers, verified by the test suite
|
|
332
327
|
cases/ golden test cases — add one without writing Python
|
|
328
|
+
conformance/ the external datalog-conformance corpus (Soufflé, Nemo,
|
|
329
|
+
Crepe), run against all four evaluation strategies
|
|
333
330
|
benchmarks/ scaled input generators (chain/tree/clique/grid)
|
|
334
331
|
tests.py 235 tests: every shipped program and exercise answer is
|
|
335
332
|
executed, a conformance suite runs every query through
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
[build-system]
|
|
2
|
+
requires = ["setuptools>=77"]
|
|
3
|
+
build-backend = "setuptools.build_meta"
|
|
4
|
+
|
|
5
|
+
[project]
|
|
6
|
+
name = "tiny-datalog"
|
|
7
|
+
version = "0.1.2"
|
|
8
|
+
description = "A Datalog engine small enough to read in an afternoon"
|
|
9
|
+
readme = "README.md"
|
|
10
|
+
license = "MIT"
|
|
11
|
+
license-files = ["LICENSE"]
|
|
12
|
+
requires-python = ">=3.9"
|
|
13
|
+
authors = [{name = "Andrew Goodchild"}]
|
|
14
|
+
dependencies = []
|
|
15
|
+
keywords = ["datalog", "logic programming", "deductive database",
|
|
16
|
+
"semi-naive evaluation", "magic sets", "provenance",
|
|
17
|
+
"stable models", "teaching"]
|
|
18
|
+
# No "License ::" classifier: `license` above is an SPDX expression, and
|
|
19
|
+
# setuptools refuses a build that declares the licence both ways.
|
|
20
|
+
classifiers = [
|
|
21
|
+
"Development Status :: 3 - Alpha",
|
|
22
|
+
"Intended Audience :: Developers",
|
|
23
|
+
"Intended Audience :: Education",
|
|
24
|
+
"Intended Audience :: Science/Research",
|
|
25
|
+
"Operating System :: OS Independent",
|
|
26
|
+
"Programming Language :: Python :: 3",
|
|
27
|
+
"Programming Language :: Python :: 3 :: Only",
|
|
28
|
+
"Programming Language :: Python :: 3.9",
|
|
29
|
+
"Programming Language :: Python :: 3.10",
|
|
30
|
+
"Programming Language :: Python :: 3.11",
|
|
31
|
+
"Programming Language :: Python :: 3.12",
|
|
32
|
+
"Programming Language :: Python :: 3.13",
|
|
33
|
+
"Topic :: Database",
|
|
34
|
+
"Topic :: Education",
|
|
35
|
+
"Topic :: Software Development :: Interpreters",
|
|
36
|
+
"Topic :: Scientific/Engineering :: Artificial Intelligence",
|
|
37
|
+
]
|
|
38
|
+
|
|
39
|
+
[project.urls]
|
|
40
|
+
Homepage = "https://github.com/andrewgoodchild/tiny-datalog"
|
|
41
|
+
Source = "https://github.com/andrewgoodchild/tiny-datalog"
|
|
42
|
+
Issues = "https://github.com/andrewgoodchild/tiny-datalog/issues"
|
|
43
|
+
Changelog = "https://github.com/andrewgoodchild/tiny-datalog/releases"
|
|
44
|
+
Lessons = "https://github.com/andrewgoodchild/tiny-datalog/tree/main/lessons"
|
|
45
|
+
|
|
46
|
+
[project.scripts]
|
|
47
|
+
tiny-datalog = "tiny_datalog.datalog:main"
|
|
48
|
+
tiny-datalog-prolog = "tiny_datalog.prolog:main"
|
|
49
|
+
tiny-datalog-semiring = "tiny_datalog.semiring:main"
|
|
50
|
+
tiny-datalog-tabling = "tiny_datalog.tabling:main"
|
|
51
|
+
tiny-datalog-incremental = "tiny_datalog.incremental:main"
|
|
52
|
+
tiny-datalog-subsumption = "tiny_datalog.subsumption:main"
|
|
53
|
+
tiny-datalog-containment = "tiny_datalog.containment:main"
|
|
54
|
+
|
|
55
|
+
[tool.setuptools.packages.find]
|
|
56
|
+
include = ["tiny_datalog*"]
|
|
@@ -1,3 +1,36 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: tiny-datalog
|
|
3
|
+
Version: 0.1.2
|
|
4
|
+
Summary: A Datalog engine small enough to read in an afternoon
|
|
5
|
+
Author: Andrew Goodchild
|
|
6
|
+
License-Expression: MIT
|
|
7
|
+
Project-URL: Homepage, https://github.com/andrewgoodchild/tiny-datalog
|
|
8
|
+
Project-URL: Source, https://github.com/andrewgoodchild/tiny-datalog
|
|
9
|
+
Project-URL: Issues, https://github.com/andrewgoodchild/tiny-datalog/issues
|
|
10
|
+
Project-URL: Changelog, https://github.com/andrewgoodchild/tiny-datalog/releases
|
|
11
|
+
Project-URL: Lessons, https://github.com/andrewgoodchild/tiny-datalog/tree/main/lessons
|
|
12
|
+
Keywords: datalog,logic programming,deductive database,semi-naive evaluation,magic sets,provenance,stable models,teaching
|
|
13
|
+
Classifier: Development Status :: 3 - Alpha
|
|
14
|
+
Classifier: Intended Audience :: Developers
|
|
15
|
+
Classifier: Intended Audience :: Education
|
|
16
|
+
Classifier: Intended Audience :: Science/Research
|
|
17
|
+
Classifier: Operating System :: OS Independent
|
|
18
|
+
Classifier: Programming Language :: Python :: 3
|
|
19
|
+
Classifier: Programming Language :: Python :: 3 :: Only
|
|
20
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
21
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
22
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
23
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
24
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
25
|
+
Classifier: Topic :: Database
|
|
26
|
+
Classifier: Topic :: Education
|
|
27
|
+
Classifier: Topic :: Software Development :: Interpreters
|
|
28
|
+
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
|
|
29
|
+
Requires-Python: >=3.9
|
|
30
|
+
Description-Content-Type: text/markdown
|
|
31
|
+
License-File: LICENSE
|
|
32
|
+
Dynamic: license-file
|
|
33
|
+
|
|
1
34
|
# tiny-datalog
|
|
2
35
|
|
|
3
36
|
[](https://github.com/andrewgoodchild/tiny-datalog/actions/workflows/ci.yml)
|
|
@@ -198,6 +231,13 @@ tabled evaluation all agree, and that incremental maintenance matches
|
|
|
198
231
|
recomputation under random updates. 400 programs per run;
|
|
199
232
|
`TINY_DATALOG_FUZZ=3000 python3 tests.py DifferentialFuzzTests` soaks.
|
|
200
233
|
|
|
234
|
+
Answers are also checked against engines this repository did not write.
|
|
235
|
+
[`conformance/`](https://github.com/andrewgoodchild/tiny-datalog/tree/main/conformance)
|
|
236
|
+
runs the [datalog-conformance](https://pypi.org/project/datalog-conformance/)
|
|
237
|
+
corpus, harvested from Soufflé, Nemo and Crepe, through all four
|
|
238
|
+
strategies: 89 cases pass. The 25 it skips need arithmetic or 10⁵-fact
|
|
239
|
+
joins, and both are omissions this course makes on purpose.
|
|
240
|
+
|
|
201
241
|
## Learning Datalog
|
|
202
242
|
|
|
203
243
|
`lessons/` is a complete course, no prior exposure assumed, every
|
|
@@ -318,6 +358,8 @@ programs/ teaching programs, numbered by the lesson that uses
|
|
|
318
358
|
lessons/ getting started, glossary, and lessons 0–18
|
|
319
359
|
exercises/ worked answers, verified by the test suite
|
|
320
360
|
cases/ golden test cases — add one without writing Python
|
|
361
|
+
conformance/ the external datalog-conformance corpus (Soufflé, Nemo,
|
|
362
|
+
Crepe), run against all four evaluation strategies
|
|
321
363
|
benchmarks/ scaled input generators (chain/tree/clique/grid)
|
|
322
364
|
tests.py 235 tests: every shipped program and exercise answer is
|
|
323
365
|
executed, a conformance suite runs every query through
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
[build-system]
|
|
2
|
-
requires = ["setuptools>=77"]
|
|
3
|
-
build-backend = "setuptools.build_meta"
|
|
4
|
-
|
|
5
|
-
[project]
|
|
6
|
-
name = "tiny-datalog"
|
|
7
|
-
version = "0.1.1"
|
|
8
|
-
description = "A Datalog engine small enough to read in an afternoon"
|
|
9
|
-
readme = "README.md"
|
|
10
|
-
license = "MIT"
|
|
11
|
-
license-files = ["LICENSE"]
|
|
12
|
-
requires-python = ">=3.9"
|
|
13
|
-
authors = [{name = "Andrew Goodchild"}]
|
|
14
|
-
dependencies = []
|
|
15
|
-
|
|
16
|
-
[project.urls]
|
|
17
|
-
Homepage = "https://github.com/andrewgoodchild/tiny-datalog"
|
|
18
|
-
|
|
19
|
-
[project.scripts]
|
|
20
|
-
tiny-datalog = "tiny_datalog.datalog:main"
|
|
21
|
-
tiny-datalog-prolog = "tiny_datalog.prolog:main"
|
|
22
|
-
tiny-datalog-semiring = "tiny_datalog.semiring:main"
|
|
23
|
-
tiny-datalog-tabling = "tiny_datalog.tabling:main"
|
|
24
|
-
tiny-datalog-incremental = "tiny_datalog.incremental:main"
|
|
25
|
-
tiny-datalog-subsumption = "tiny_datalog.subsumption:main"
|
|
26
|
-
tiny-datalog-containment = "tiny_datalog.containment:main"
|
|
27
|
-
|
|
28
|
-
[tool.setuptools.packages.find]
|
|
29
|
-
include = ["tiny_datalog*"]
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|