A pure-python implementation of Datalog, a truly declarative language derived from Prolog.
Project description
Warning
This package is not maintained. Use at your own risk. Consider using IDP-Z3 instead.
Description
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. 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 = SQL + recursivity
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.
As simple as Excel
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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Hashes for pyDatalog-0.17.4-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dd235a78fe05dcdf21e3323abf0370ef934cfb46e4f8bb459ff21d301c583c3b |
|
MD5 | 896442c7fa644102f569e6d67a191acf |
|
BLAKE2b-256 | fb22ce7b613734f8f029157c6251ea72c6340e25eef238fbfb1a3ed01dfcd354 |
Hashes for pyDatalog-0.17.4-cp310-cp310-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 25bd15c812782055e971deebecc179e3cfddf0e84a6fe1014338c56a5a396a70 |
|
MD5 | e74d91f7cecc36d04960e1407a59802c |
|
BLAKE2b-256 | 2d43a422f20cc31535ba6b4db498ff56718069599f184f4c4b192794d0549c2d |
Hashes for pyDatalog-0.17.4-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | be5e428d3ca3b3f8ea348906288d97327bda4f3bd6e65d145ba7d8371592ab50 |
|
MD5 | c33402720b3f13fb9f780dcf0aa60c8b |
|
BLAKE2b-256 | 4fd73846e4e92d02243d84a9d8c295864b88087707a3b5d7399cbc061d381875 |
Hashes for pyDatalog-0.17.4-cp310-cp310-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 91364894292c771ece2eae6d54af34264b81fe67c8f03d8f0974d416e7ee0f55 |
|
MD5 | df12a417013c61ab703c6ab579c6f858 |
|
BLAKE2b-256 | 6afdbc03647ce1dc25beaf80606391a7b067d7ad4737d0bb6ee7146647981115 |
Hashes for pyDatalog-0.17.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1e18c34712a9d3bd660a33c294e3c4da987e08cc8f6cfea8f1905735723d589c |
|
MD5 | f9bd2efd27b9391487da524be1c5a0fd |
|
BLAKE2b-256 | a81595498f9a5e1455438e2927841b0829769136ab266747daad2da70b032516 |
Hashes for pyDatalog-0.17.4-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 155359d13ea8503b3479e578aee871f0a93ffee806c3e34b73ce07649e7c96a1 |
|
MD5 | b7ef1d4c8aebffeeb8542c2b80702669 |
|
BLAKE2b-256 | b193eb732055bbe8e319b00c77eb71c4051fe58b3057219d4dbd9f4a0f44e371 |
Hashes for pyDatalog-0.17.4-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b1dc3fb25adc672c2cca9d3d35d52948ad5d54b1f789fa6a68caed8bcdbf4bc5 |
|
MD5 | 7291e2667f7c808bfe3096608bed7a73 |
|
BLAKE2b-256 | ea8287960240f16d4f68587cfd20b0d308a53473990e1db06ec9b9fdcf71a077 |
Hashes for pyDatalog-0.17.4-cp39-cp39-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 87a61672e72ae22ba96643c142d702d8f7cc5f3ad75af6a8351cbb464d69e539 |
|
MD5 | bf8b4c278f9eaf9296ace6b1ba64f8cd |
|
BLAKE2b-256 | 36a1aa1c8d6f1df278b57e77e7b74b2b6f2e1d30d9365a28b1b1c61d4bf6fb48 |
Hashes for pyDatalog-0.17.4-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ed2754939402b78e70906d8659a4329f57548851822dfaa1929b280c7ec1df53 |
|
MD5 | 1a0d7fa7e3fa77306ea74dcd8083bf2d |
|
BLAKE2b-256 | 4fa58030e37222c9100925e94a86a6df9d56800779ac07314a727b9be729e1cf |
Hashes for pyDatalog-0.17.4-cp39-cp39-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f9df08b5ba16b1c67206a6763f3dbae365f30a0b1d6a1033b9d41c584d48de84 |
|
MD5 | 3e932e50681850e187721f0fc23d8821 |
|
BLAKE2b-256 | 3eee859f6ee9cc2dbbfd6f7d81dc49203d8199f7f97c1c34b4d1f5d8d58b5e23 |
Hashes for pyDatalog-0.17.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 714d42c2bbcbb39a6b86adf3f9e137f43451d0c714dcd1e0f9363c4ebd761da3 |
|
MD5 | 962f6a4c1a45f62895d8609718a03fd6 |
|
BLAKE2b-256 | 5ad82b48ef8f6c1cdf1f06a3f3087f5c2bc6474add063e9400cd8483de0a31c8 |
Hashes for pyDatalog-0.17.4-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 750e1cf2f21d0c90207e6b6be865ee9d689e587bb55050f84cccb7d20be3ef5c |
|
MD5 | 988595a9c526cdf0ae35a8f24afe3f7e |
|
BLAKE2b-256 | f62eeda0ac98b078ec387bd5f201a80214235b98efd3446b1c217c04e2af3c8e |
Hashes for pyDatalog-0.17.4-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3fd9c9326c5eeadb3588f6f0f6401176207333996d79c0f199258003fd367f98 |
|
MD5 | 96f8ad1af121785fbb3be59eca7f0a60 |
|
BLAKE2b-256 | 99b7d83df87c8dec05c94aea51588b4611b08bb208c21b9a7f1fbbb0b9a44cd6 |
Hashes for pyDatalog-0.17.4-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7b96a713ed154d59baf267ad195a9189ed91665593b1047021309d5e56dbf0c9 |
|
MD5 | 1ceca08bc05f2c48f7bef1b48ce04422 |
|
BLAKE2b-256 | 6bff26b3f0a6933f3a6ec8471d22e8a3c06ce5872999f59747c5e9721cb50de8 |
Hashes for pyDatalog-0.17.4-cp38-cp38-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7028dadfc3f0dbfddddc83b46c159cab1c715677baf1a85f636cc4318535d567 |
|
MD5 | aecff236727436c7b4c7fbd5615869eb |
|
BLAKE2b-256 | eac0adc699515d54b0998eb34bbe79820b14a006a532ef1be3e8779ee056c2b9 |
Hashes for pyDatalog-0.17.4-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e0238df06620636ea8e8adf17900363e1d3f6ab585aac1e1d0dbff7a7ca63c7a |
|
MD5 | 6d47e76505007897883a6b372837f0a3 |
|
BLAKE2b-256 | 753ce3ce4a8e61faaa153898a6c5fdaae4a6e35be017087da3ccf04e4cadbb63 |
Hashes for pyDatalog-0.17.4-cp38-cp38-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7d5f6a7dbd610f4b1d0d0d82f3ccfae0908d107b16373122a402273d5b0e3cb2 |
|
MD5 | 27f8ff9c8d3d406c8d2a28f980fa0a85 |
|
BLAKE2b-256 | e63be2cfe8f4f8573de4e34e163f44730b52d1169a57f450f1c6151db746e678 |
Hashes for pyDatalog-0.17.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 271af2a7a1fd89309464173e480dde78ea040f9ac54b0e981e96c8383c9a64fc |
|
MD5 | 8a7e5877dd7b685c12bf1a33df32a11a |
|
BLAKE2b-256 | 979dff4dcbe58585e7af4569313c9aa814b565480bb8368ebf1efae52a5b1fce |
Hashes for pyDatalog-0.17.4-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 491010c04e720052678d2c03ad3ab93fbaf161f2ac4bed43b028d962db0b0f74 |
|
MD5 | f2f0e268f38e406c75f54df9d7fcb9b1 |
|
BLAKE2b-256 | f51bb9028ae2e8b87a9b585c9b336464e9b996272943ca5e6a49fa79ed16df4a |
Hashes for pyDatalog-0.17.4-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9091965e524742eed506c874e9ab092f877f4c34f2d2fe3c3d06a117cc329eb3 |
|
MD5 | 604191db8a756d1122391cf9be44cc64 |
|
BLAKE2b-256 | f33b519b7eedcddeb2d56f73ea1bba16696f3190218dd96029cdf3295453c344 |
Hashes for pyDatalog-0.17.4-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0871586c8849660745be2c9f1bc5305d48801a550d9abc63b760d8e99f1a366a |
|
MD5 | 8bafde18f55af99a17ca05678e51cd8b |
|
BLAKE2b-256 | 888bdfa76991ed8c66aa3b9333e7dd3e3c0b4654f22a7ab9c0827e0664610c1c |
Hashes for pyDatalog-0.17.4-cp37-cp37m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b9ce5c835d406015fd38ee5b6ef50e8dec7a9e38b523439f13ca1576fb18cd7d |
|
MD5 | fbdbbc7442da9eb362b0ef17fed199d7 |
|
BLAKE2b-256 | ccd2c05ee2b3b6daf02af3757db223d9d7f47226ab7ca2701b74756706a603a6 |
Hashes for pyDatalog-0.17.4-cp37-cp37m-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4baa87cc34d83364fd308e9779a5f94d65d127b6e5c120703dccc23a79b1fb92 |
|
MD5 | 22b450559731f58b9db5493f66ea1c07 |
|
BLAKE2b-256 | cef206ef18bb1c7beee78279244de49ec9f3ce04630f20aed99a1f8607b315f2 |
Hashes for pyDatalog-0.17.4-cp37-cp37m-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b1d37ed25ff2ba92e30bc3ca41bf791763d8e07cf9fc0a2b7b2e8bc06490049f |
|
MD5 | 16d53cb238bbe30b7325e607bfbe6c00 |
|
BLAKE2b-256 | e70c0461ecb41ddd9547a75b8f57b4e1117ca2f148edbd3b0321fd12095b7f69 |
Hashes for pyDatalog-0.17.4-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a67753a869bcf427de6844c53f8db9074bc0f66f22bf56aaf591eef538fb809a |
|
MD5 | cfb548d77e03449a7b2b34e1a33cf6b7 |
|
BLAKE2b-256 | 3f1385a090b2861a8c2f63bcd4544c9b51ab76511b8bd7c80251ad1293594d56 |
Hashes for pyDatalog-0.17.4-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ec1ff5f266f00cf341ea186d88d3b1c34430da69ab0ffee72bf3916b2111dd66 |
|
MD5 | 961051bbb9952d3cc0782e0ae2b6a5c2 |
|
BLAKE2b-256 | a8c8f3be9bbda7413bd2a99f0bc90b6cfee8bf35e552434787520b94af841d1c |
Hashes for pyDatalog-0.17.4-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8cc1768e8b549dd4ae16e5c0f4aa88587e2e36eb68c57b2a2eadfb70f897f350 |
|
MD5 | c697b233012f446d98db9429e5e8b3b8 |
|
BLAKE2b-256 | a9b76ef1052c36f1431b405d9f6e91eb81fbf23de32bdec147f44701e7a89bcb |
Hashes for pyDatalog-0.17.4-cp36-cp36m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a41d7d3ff6518999ea502ed3add113fbd6d986ad7008f5d23fefb8440511d389 |
|
MD5 | 109936db3841d872856a493e33bfc00d |
|
BLAKE2b-256 | b3e963de864c6f5a1643e014d439394baf05e6fa792371ae209de2e1bcbc7b7e |
Hashes for pyDatalog-0.17.4-cp36-cp36m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b9eeadba9cd75cbe09d274c498c0aebf5dab7f3a0ea528d1b9d323f01432a220 |
|
MD5 | b10b7ae9b11d97bcdb8e0d0469561af9 |
|
BLAKE2b-256 | c8a7aab182e0c3883fde77d20bd01216511bb686265d8cc55415861439a64259 |
Hashes for pyDatalog-0.17.4-cp36-cp36m-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 04ef682d597e74e1b47fa26b6a268d54dcf2c112c64a239451a38ea8d789ef4d |
|
MD5 | 9d6034bd453b07747074167d725f1e95 |
|
BLAKE2b-256 | 7157cab818d4eafb7c4167a5222432773dd0558d59b66ea65b969d9fd5c8dda8 |
Hashes for pyDatalog-0.17.4-cp36-cp36m-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dc04ad4c93bcc84198d7734e5dbe4b7450c26ebdc58fd20e5e5e4317d5e9f82d |
|
MD5 | a70eba0878993dbf9f81118db2b4e73f |
|
BLAKE2b-256 | 3dbf771e39139bdfead1bfbb3cf3c938331f74c69ae38a1c1c9ffb14988f361d |
Hashes for pyDatalog-0.17.4-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2953713c8ba366cd5b6209bde1206b53d29e6aa9788462f5e0da33a2042b62d4 |
|
MD5 | 7fdf942c9cf05ecf2d430b62d76008b8 |
|
BLAKE2b-256 | eb7332b231270855e02220903ff671ca7a71cfacc91d4f22cb1cf7ffcee34092 |
Hashes for pyDatalog-0.17.4-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2bd6b9acce7fc652c3a65f3ac9ae913579160a3250c4dc27c1fbefa1ae8ecef4 |
|
MD5 | e868164240424cb49f2adb86353c1d1a |
|
BLAKE2b-256 | 567d154a5b6c4aaba22bd01543c9831170b4dbc955cdb80890078cb020726f56 |
Hashes for pyDatalog-0.17.4-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c1f12d12df08210473d3e467c9fbe9e540228525e28246ee20df41069873fa5b |
|
MD5 | f84ff164fc4a7448db55e03f0ed4a64e |
|
BLAKE2b-256 | e4eaf9481acdb1b25751167abdc4e795bdcf90ae38ce90382ca14d07e729626f |