pyDatalog /

Filename Size Date modified Message
967 B
Added tag 0.14.5 for changeset 04ac03ae4739
89 B
add IPython notebook for tutorial
1.1 KB
update description
253 B
support wheel distribution
26.4 KB
installation instructions
22 B
support wheel distribution
2.3 KB
support wheel distribution
306 B
support wheel distribution

pyDatalog adds the logic programming paradigm to Python's toolbox, in a pythonic way. You can now run logic queries on databases or Python objects, and use logic clauses to define python classes.

Datalog is a truly declarative language derived from Prolog, with strong academic foundations. It complements Python very well for:

  • managing complex sets of related information (e.g. in data integration or the semantic web).
  • simulating intelligent behavior (e.g. in games),
  • performing recursive algorithms (e.g. in network protocol, code and graph analysis, parsing)
  • solving discrete constraint problems.

In particular, pyDatalog can be used as a query language:

  • it can perform multi-database queries (from memory datastore, 11 relational databases, and noSQL database with appropriate connectors)
  • it is more expressive than SQL, with a cleaner syntax;
  • it facilitates re-use of SQL code snippet (e.g. for frequent joins or formula);

Datalog excels at accelerated development : Datalog programs are often shorter than their Python equivalent, and Datalog statements can be specified in any order, as simply as formula in a spreadsheet.

Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.