diff --git a/Cargo.toml b/Cargo.toml index af03ea21..a6d6d367 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,72 +1,5 @@ -[package] -name = "cozo" -version = "0.1.7" -edition = "2021" -description = "A general-purpose, transactional, relational database that uses Datalog and focuses on graph data and algorithms" -authors = ["Ziyang Hu"] -license = "MPL-2.0" -homepage = "https://github.com/cozodb/cozo" -repository = "https://github.com/cozodb/cozo" -documentation = "https://cozodb.github.io/current/manual" -exclude = [ - "docs/*", - "tests/*", -] - -# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html - -[features] -jemalloc = ["tikv-jemallocator-global", "cozorocks/jemalloc"] -io-uring = ["cozorocks/io-uring"] - -[dependencies] -casey = "0.3.3" -either = "1.7.0" -rand = "0.8.5" -miette = { version = "=5.3.0", features = ["fancy"] } -lazy_static = "1.4.0" -log = "0.4.16" -env_logger = "0.9.0" -smallvec = { version = "1.8.1", features = ["serde", "write", "union", "const_generics", "const_new"] } -smartstring = { version = "1.0.1", features = ["serde"] } -serde_json = "1.0.81" -serde = { version = "1.0.137" } -serde_derive = "1.0.137" -serde_bytes = "0.11.7" -rmp = "0.8.11" -rmp-serde = "1.1.0" -rmpv = "1.0.0" -base64 = "0.13.0" -chrono = "0.4.19" -chrono-tz = "0.6.3" -priority-queue = "1.2.3" -ordered-float = "3.0.0" -byteorder = "1.4.3" -num-traits = "0.2.15" -itertools = "0.10.3" -regex = "1.6.0" -pest = "2.2.1" -pest_derive = "2.2.1" -rayon = "1.5.3" -nalgebra = "0.31.1" -minreq = { version = "2.6.0", features = ["https-rustls"] } -approx = "0.5.1" -unicode-normalization = "0.1.21" -thiserror = "1.0.34" -uuid = { version = "1.1.2", features = ["v1", "v4", "serde"] } -csv = "1.1.6" -tikv-jemallocator-global = { version = "0.5.0", optional = true } -cozorocks = { path = "cozorocks", version = "0.1.0" } -sled = "0.34.7" - -clap = { version = "3.2.8", features = ["derive"] } -rouille = "3.5.0" - [profile.release] lto = true -#[profile.release] -#debug = true - [workspace] -members = ["cozorocks", "cozo-lib-c", "cozo-lib-java"] +members = ["cozorocks", "cozo-lib-c", "cozo-lib-java", "cozo-core"] diff --git a/cozo-core/Cargo.toml b/cozo-core/Cargo.toml new file mode 100644 index 00000000..cb936e49 --- /dev/null +++ b/cozo-core/Cargo.toml @@ -0,0 +1,64 @@ +[package] +name = "cozo" +version = "0.1.7" +edition = "2021" +description = "A general-purpose, transactional, relational database that uses Datalog and focuses on graph data and algorithms" +authors = ["Ziyang Hu"] +license = "MPL-2.0" +homepage = "https://github.com/cozodb/cozo" +repository = "https://github.com/cozodb/cozo" +documentation = "https://cozodb.github.io/current/manual" +exclude = [ + "docs/*", + "tests/*", +] + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html + +[features] +jemalloc = ["tikv-jemallocator-global", "cozorocks/jemalloc"] +io-uring = ["cozorocks/io-uring"] + +[dependencies] +casey = "0.3.3" +either = "1.7.0" +rand = "0.8.5" +miette = { version = "=5.3.0", features = ["fancy"] } +lazy_static = "1.4.0" +log = "0.4.16" +env_logger = "0.9.0" +smallvec = { version = "1.8.1", features = ["serde", "write", "union", "const_generics", "const_new"] } +smartstring = { version = "1.0.1", features = ["serde"] } +serde_json = "1.0.81" +serde = { version = "1.0.137" } +serde_derive = "1.0.137" +serde_bytes = "0.11.7" +rmp = "0.8.11" +rmp-serde = "1.1.0" +rmpv = "1.0.0" +base64 = "0.13.0" +chrono = "0.4.19" +chrono-tz = "0.6.3" +priority-queue = "1.2.3" +ordered-float = "3.0.0" +byteorder = "1.4.3" +num-traits = "0.2.15" +itertools = "0.10.3" +regex = "1.6.0" +pest = "2.2.1" +pest_derive = "2.2.1" +rayon = "1.5.3" +nalgebra = "0.31.1" +minreq = { version = "2.6.0", features = ["https-rustls"] } +approx = "0.5.1" +unicode-normalization = "0.1.21" +thiserror = "1.0.34" +uuid = { version = "1.1.2", features = ["v1", "v4", "serde"] } +csv = "1.1.6" +tikv-jemallocator-global = { version = "0.5.0", optional = true } +cozorocks = { path = "../cozorocks", version = "0.1.0" } +sled = "0.34.7" + +clap = { version = "3.2.8", features = ["derive"] } +rouille = "3.5.0" + diff --git a/src/algo/all_pairs_shortest_path.rs b/cozo-core/src/algo/all_pairs_shortest_path.rs similarity index 100% rename from src/algo/all_pairs_shortest_path.rs rename to cozo-core/src/algo/all_pairs_shortest_path.rs diff --git a/src/algo/astar.rs b/cozo-core/src/algo/astar.rs similarity index 100% rename from src/algo/astar.rs rename to cozo-core/src/algo/astar.rs diff --git a/src/algo/bfs.rs b/cozo-core/src/algo/bfs.rs similarity index 100% rename from src/algo/bfs.rs rename to cozo-core/src/algo/bfs.rs diff --git a/src/algo/constant.rs b/cozo-core/src/algo/constant.rs similarity index 100% rename from src/algo/constant.rs rename to cozo-core/src/algo/constant.rs diff --git a/src/algo/csv.rs b/cozo-core/src/algo/csv.rs similarity index 100% rename from src/algo/csv.rs rename to cozo-core/src/algo/csv.rs diff --git a/src/algo/degree_centrality.rs b/cozo-core/src/algo/degree_centrality.rs similarity index 100% rename from src/algo/degree_centrality.rs rename to cozo-core/src/algo/degree_centrality.rs diff --git a/src/algo/dfs.rs b/cozo-core/src/algo/dfs.rs similarity index 100% rename from src/algo/dfs.rs rename to cozo-core/src/algo/dfs.rs diff --git a/src/algo/jlines.rs b/cozo-core/src/algo/jlines.rs similarity index 100% rename from src/algo/jlines.rs rename to cozo-core/src/algo/jlines.rs diff --git a/src/algo/kruskal.rs b/cozo-core/src/algo/kruskal.rs similarity index 100% rename from src/algo/kruskal.rs rename to cozo-core/src/algo/kruskal.rs diff --git a/src/algo/label_propagation.rs b/cozo-core/src/algo/label_propagation.rs similarity index 100% rename from src/algo/label_propagation.rs rename to cozo-core/src/algo/label_propagation.rs diff --git a/src/algo/louvain.rs b/cozo-core/src/algo/louvain.rs similarity index 100% rename from src/algo/louvain.rs rename to cozo-core/src/algo/louvain.rs diff --git a/src/algo/mod.rs b/cozo-core/src/algo/mod.rs similarity index 100% rename from src/algo/mod.rs rename to cozo-core/src/algo/mod.rs diff --git a/src/algo/pagerank.rs b/cozo-core/src/algo/pagerank.rs similarity index 100% rename from src/algo/pagerank.rs rename to cozo-core/src/algo/pagerank.rs diff --git a/src/algo/prim.rs b/cozo-core/src/algo/prim.rs similarity index 100% rename from src/algo/prim.rs rename to cozo-core/src/algo/prim.rs diff --git a/src/algo/random_walk.rs b/cozo-core/src/algo/random_walk.rs similarity index 100% rename from src/algo/random_walk.rs rename to cozo-core/src/algo/random_walk.rs diff --git a/src/algo/reorder_sort.rs b/cozo-core/src/algo/reorder_sort.rs similarity index 100% rename from src/algo/reorder_sort.rs rename to cozo-core/src/algo/reorder_sort.rs diff --git a/src/algo/shortest_path_dijkstra.rs b/cozo-core/src/algo/shortest_path_dijkstra.rs similarity index 100% rename from src/algo/shortest_path_dijkstra.rs rename to cozo-core/src/algo/shortest_path_dijkstra.rs diff --git a/src/algo/strongly_connected_components.rs b/cozo-core/src/algo/strongly_connected_components.rs similarity index 100% rename from src/algo/strongly_connected_components.rs rename to cozo-core/src/algo/strongly_connected_components.rs diff --git a/src/algo/top_sort.rs b/cozo-core/src/algo/top_sort.rs similarity index 100% rename from src/algo/top_sort.rs rename to cozo-core/src/algo/top_sort.rs diff --git a/src/algo/triangles.rs b/cozo-core/src/algo/triangles.rs similarity index 100% rename from src/algo/triangles.rs rename to cozo-core/src/algo/triangles.rs diff --git a/src/algo/yen.rs b/cozo-core/src/algo/yen.rs similarity index 100% rename from src/algo/yen.rs rename to cozo-core/src/algo/yen.rs diff --git a/src/bin/cozoserver.rs b/cozo-core/src/bin/cozoserver.rs similarity index 100% rename from src/bin/cozoserver.rs rename to cozo-core/src/bin/cozoserver.rs diff --git a/src/cozoscript.pest b/cozo-core/src/cozoscript.pest similarity index 100% rename from src/cozoscript.pest rename to cozo-core/src/cozoscript.pest diff --git a/src/data/aggr.rs b/cozo-core/src/data/aggr.rs similarity index 100% rename from src/data/aggr.rs rename to cozo-core/src/data/aggr.rs diff --git a/src/data/expr.rs b/cozo-core/src/data/expr.rs similarity index 100% rename from src/data/expr.rs rename to cozo-core/src/data/expr.rs diff --git a/src/data/functions.rs b/cozo-core/src/data/functions.rs similarity index 100% rename from src/data/functions.rs rename to cozo-core/src/data/functions.rs diff --git a/src/data/json.rs b/cozo-core/src/data/json.rs similarity index 100% rename from src/data/json.rs rename to cozo-core/src/data/json.rs diff --git a/src/data/memcmp.rs b/cozo-core/src/data/memcmp.rs similarity index 100% rename from src/data/memcmp.rs rename to cozo-core/src/data/memcmp.rs diff --git a/src/data/mod.rs b/cozo-core/src/data/mod.rs similarity index 100% rename from src/data/mod.rs rename to cozo-core/src/data/mod.rs diff --git a/src/data/program.rs b/cozo-core/src/data/program.rs similarity index 100% rename from src/data/program.rs rename to cozo-core/src/data/program.rs diff --git a/src/data/relation.rs b/cozo-core/src/data/relation.rs similarity index 100% rename from src/data/relation.rs rename to cozo-core/src/data/relation.rs diff --git a/src/data/symb.rs b/cozo-core/src/data/symb.rs similarity index 100% rename from src/data/symb.rs rename to cozo-core/src/data/symb.rs diff --git a/src/data/tests/aggrs.rs b/cozo-core/src/data/tests/aggrs.rs similarity index 100% rename from src/data/tests/aggrs.rs rename to cozo-core/src/data/tests/aggrs.rs diff --git a/src/data/tests/functions.rs b/cozo-core/src/data/tests/functions.rs similarity index 100% rename from src/data/tests/functions.rs rename to cozo-core/src/data/tests/functions.rs diff --git a/src/data/tests/mod.rs b/cozo-core/src/data/tests/mod.rs similarity index 100% rename from src/data/tests/mod.rs rename to cozo-core/src/data/tests/mod.rs diff --git a/src/data/tuple.rs b/cozo-core/src/data/tuple.rs similarity index 100% rename from src/data/tuple.rs rename to cozo-core/src/data/tuple.rs diff --git a/src/data/value.rs b/cozo-core/src/data/value.rs similarity index 100% rename from src/data/value.rs rename to cozo-core/src/data/value.rs diff --git a/src/lib.rs b/cozo-core/src/lib.rs similarity index 100% rename from src/lib.rs rename to cozo-core/src/lib.rs diff --git a/src/parse/expr.rs b/cozo-core/src/parse/expr.rs similarity index 100% rename from src/parse/expr.rs rename to cozo-core/src/parse/expr.rs diff --git a/src/parse/mod.rs b/cozo-core/src/parse/mod.rs similarity index 100% rename from src/parse/mod.rs rename to cozo-core/src/parse/mod.rs diff --git a/src/parse/query.rs b/cozo-core/src/parse/query.rs similarity index 100% rename from src/parse/query.rs rename to cozo-core/src/parse/query.rs diff --git a/src/parse/schema.rs b/cozo-core/src/parse/schema.rs similarity index 100% rename from src/parse/schema.rs rename to cozo-core/src/parse/schema.rs diff --git a/src/parse/sys.rs b/cozo-core/src/parse/sys.rs similarity index 100% rename from src/parse/sys.rs rename to cozo-core/src/parse/sys.rs diff --git a/src/query/compile.rs b/cozo-core/src/query/compile.rs similarity index 100% rename from src/query/compile.rs rename to cozo-core/src/query/compile.rs diff --git a/src/query/eval.rs b/cozo-core/src/query/eval.rs similarity index 100% rename from src/query/eval.rs rename to cozo-core/src/query/eval.rs diff --git a/src/query/graph.rs b/cozo-core/src/query/graph.rs similarity index 100% rename from src/query/graph.rs rename to cozo-core/src/query/graph.rs diff --git a/src/query/logical.rs b/cozo-core/src/query/logical.rs similarity index 100% rename from src/query/logical.rs rename to cozo-core/src/query/logical.rs diff --git a/src/query/magic.rs b/cozo-core/src/query/magic.rs similarity index 100% rename from src/query/magic.rs rename to cozo-core/src/query/magic.rs diff --git a/src/query/mod.rs b/cozo-core/src/query/mod.rs similarity index 100% rename from src/query/mod.rs rename to cozo-core/src/query/mod.rs diff --git a/src/query/relation.rs b/cozo-core/src/query/relation.rs similarity index 100% rename from src/query/relation.rs rename to cozo-core/src/query/relation.rs diff --git a/src/query/reorder.rs b/cozo-core/src/query/reorder.rs similarity index 100% rename from src/query/reorder.rs rename to cozo-core/src/query/reorder.rs diff --git a/src/query/sort.rs b/cozo-core/src/query/sort.rs similarity index 100% rename from src/query/sort.rs rename to cozo-core/src/query/sort.rs diff --git a/src/query/stored.rs b/cozo-core/src/query/stored.rs similarity index 100% rename from src/query/stored.rs rename to cozo-core/src/query/stored.rs diff --git a/src/query/stratify.rs b/cozo-core/src/query/stratify.rs similarity index 100% rename from src/query/stratify.rs rename to cozo-core/src/query/stratify.rs diff --git a/src/runtime/db.rs b/cozo-core/src/runtime/db.rs similarity index 100% rename from src/runtime/db.rs rename to cozo-core/src/runtime/db.rs diff --git a/src/runtime/in_mem.rs b/cozo-core/src/runtime/in_mem.rs similarity index 100% rename from src/runtime/in_mem.rs rename to cozo-core/src/runtime/in_mem.rs diff --git a/src/runtime/mod.rs b/cozo-core/src/runtime/mod.rs similarity index 100% rename from src/runtime/mod.rs rename to cozo-core/src/runtime/mod.rs diff --git a/src/runtime/relation.rs b/cozo-core/src/runtime/relation.rs similarity index 100% rename from src/runtime/relation.rs rename to cozo-core/src/runtime/relation.rs diff --git a/src/runtime/transact.rs b/cozo-core/src/runtime/transact.rs similarity index 100% rename from src/runtime/transact.rs rename to cozo-core/src/runtime/transact.rs diff --git a/src/storage/mod.rs b/cozo-core/src/storage/mod.rs similarity index 100% rename from src/storage/mod.rs rename to cozo-core/src/storage/mod.rs diff --git a/src/storage/rocks.rs b/cozo-core/src/storage/rocks.rs similarity index 100% rename from src/storage/rocks.rs rename to cozo-core/src/storage/rocks.rs diff --git a/src/storage/sled.rs b/cozo-core/src/storage/sled.rs similarity index 100% rename from src/storage/sled.rs rename to cozo-core/src/storage/sled.rs diff --git a/src/storage/tikv.rs b/cozo-core/src/storage/tikv.rs similarity index 100% rename from src/storage/tikv.rs rename to cozo-core/src/storage/tikv.rs diff --git a/src/utils.rs b/cozo-core/src/utils.rs similarity index 100% rename from src/utils.rs rename to cozo-core/src/utils.rs diff --git a/tests/air-routes-latest-edges.csv b/cozo-core/tests/air-routes-latest-edges.csv similarity index 100% rename from tests/air-routes-latest-edges.csv rename to cozo-core/tests/air-routes-latest-edges.csv diff --git a/tests/air-routes-latest-nodes.csv b/cozo-core/tests/air-routes-latest-nodes.csv similarity index 100% rename from tests/air-routes-latest-nodes.csv rename to cozo-core/tests/air-routes-latest-nodes.csv diff --git a/tests/air_routes.rs b/cozo-core/tests/air_routes.rs similarity index 100% rename from tests/air_routes.rs rename to cozo-core/tests/air_routes.rs diff --git a/cozo-lib-c/Cargo.toml b/cozo-lib-c/Cargo.toml index fb4f0f36..347f49f2 100644 --- a/cozo-lib-c/Cargo.toml +++ b/cozo-lib-c/Cargo.toml @@ -18,8 +18,8 @@ io-uring = ["cozo/io-uring"] # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -cozo = { version = "0.1.2", path = ".." } +cozo = { version = "0.1.2", path = "../cozo-core" } lazy_static = "1.4.0" [build-dependencies] -cbindgen = "0.24.3" \ No newline at end of file +cbindgen = "0.24.3" diff --git a/cozo-lib-java/Cargo.toml b/cozo-lib-java/Cargo.toml index 54df3dd1..5bd35a63 100644 --- a/cozo-lib-java/Cargo.toml +++ b/cozo-lib-java/Cargo.toml @@ -19,5 +19,5 @@ io-uring = ["cozo/io-uring"] [dependencies] robusta_jni = "0.2.0" -cozo = { version = "0.1.3", path = ".." } +cozo = { version = "0.1.3", path = "../cozo-core" } lazy_static = "1.4.0"