[package]
edition = "2024"
name = "data-modelling-core"
version = "2.0.9"
authors = ["Mark Olliver"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Core SDK library for model operations across platforms"
readme = false
license = "MIT"
repository = "https://github.com/OffeneDatenmodellierung/data-modelling-sdk"
resolver = "2"
[features]
api-backend = [
"reqwest",
"urlencoding",
]
bpmn = ["quick-xml"]
database = [
"toml",
"sha2",
]
databricks = [
"staging",
"reqwest",
"urlencoding",
]
databricks-dialect = ["datafusion"]
default = ["api-backend"]
dmn = ["quick-xml"]
duckdb-backend = [
"database",
"duckdb",
"native-fs",
]
git = ["git2"]
iceberg = [
"dep:iceberg",
"iceberg-catalog-rest",
"tokio",
"arrow",
"parquet",
]
iceberg-glue = [
"iceberg",
"iceberg-catalog-glue",
]
inference = []
llm = [
"tokio",
"zip",
]
llm-offline = [
"llm",
"llama-cpp-2",
]
llm-online = [
"llm",
"reqwest",
]
mapping = ["inference"]
native-fs = ["tokio"]
odps-validation = ["schema-validation"]
openapi = []
pipeline = [
"staging",
"inference",
"mapping",
]
png-export = [
"image",
"imageproc",
]
postgres-backend = [
"database",
"tokio-postgres",
"deadpool-postgres",
"native-fs",
]
s3 = [
"staging",
"aws-config",
"aws-sdk-s3",
"aws-credential-types",
]
schema-validation = ["jsonschema"]
staging = [
"duckdb-backend",
"glob",
"sha2",
"rayon",
"indicatif",
]
staging-postgres = [
"postgres-backend",
"glob",
"sha2",
"rayon",
"indicatif",
]
wasm = [
"wasm-bindgen",
"wasm-bindgen-futures",
"web-sys",
"js-sys",
]
[lib]
name = "data_modelling_core"
crate-type = ["rlib"]
path = "src/lib.rs"
[[test]]
name = "auth_tests"
path = "tests/auth_tests.rs"
[[test]]
name = "cads_tests"
path = "tests/cads_tests.rs"
[[test]]
name = "cli_tests"
path = "tests/cli_tests.rs"
[[test]]
name = "domain_tests"
path = "tests/domain_tests.rs"
[[test]]
name = "export_tests"
path = "tests/export_tests.rs"
[[test]]
name = "git_tests"
path = "tests/git_tests.rs"
[[test]]
name = "import_tests"
path = "tests/import_tests.rs"
[[test]]
name = "integration_tests"
path = "tests/integration_tests.rs"
[[test]]
name = "model_tests"
path = "tests/model_tests.rs"
[[test]]
name = "models_tests"
path = "tests/models_tests.rs"
[[test]]
name = "nested_structures_tests"
path = "tests/nested_structures_tests.rs"
[[test]]
name = "odcs_comprehensive_tests"
path = "tests/odcs_comprehensive_tests.rs"
[[test]]
name = "odcs_e2e_roundtrip_tests"
path = "tests/odcs_e2e_roundtrip_tests.rs"
[[test]]
name = "odps_tests"
path = "tests/odps_tests.rs"
[[test]]
name = "staging_performance_tests"
path = "tests/staging_performance_tests.rs"
[[test]]
name = "staging_pipeline_tests"
path = "tests/staging_pipeline_tests.rs"
[[test]]
name = "storage_tests"
path = "tests/storage_tests.rs"
[[test]]
name = "struct_reserved_names_tests"
path = "tests/struct_reserved_names_tests.rs"
[[test]]
name = "tag_tests"
path = "tests/tag_tests.rs"
[[test]]
name = "validation_tests"
path = "tests/validation_tests.rs"
[[test]]
name = "wasm_tests"
path = "tests/wasm_tests.rs"
[[test]]
name = "workspace_tests"
path = "tests/workspace_tests.rs"
[[bench]]
name = "import_bench"
path = "benches/import_bench.rs"
harness = false
[[bench]]
name = "inference_bench"
path = "benches/inference_bench.rs"
harness = false
required-features = ["inference"]
[[bench]]
name = "staging_benchmark"
path = "benches/staging_benchmark.rs"
harness = false
required-features = ["staging"]
[dependencies.anyhow]
version = "1.0"
[dependencies.arrow]
version = "55"
optional = true
[dependencies.async-trait]
version = "0.1"
[dependencies.aws-config]
version = "1.5"
optional = true
[dependencies.aws-credential-types]
version = "1.2"
optional = true
[dependencies.aws-sdk-s3]
version = "1.65"
optional = true
[dependencies.base64]
version = "0.22"
[dependencies.chrono]
version = "0.4"
features = ["serde"]
[dependencies.datafusion]
version = "45"
features = []
optional = true
default-features = false
[dependencies.deadpool-postgres]
version = "0.14"
optional = true
[dependencies.duckdb]
version = "1.4"
features = ["bundled"]
optional = true
[dependencies.git2]
version = "0.19"
optional = true
[dependencies.glob]
version = "0.3"
optional = true
[dependencies.iceberg]
version = "0.7"
optional = true
[dependencies.iceberg-catalog-glue]
version = "0.7"
optional = true
[dependencies.iceberg-catalog-rest]
version = "0.7"
optional = true
[dependencies.image]
version = "0.24"
optional = true
[dependencies.imageproc]
version = "0.23"
optional = true
[dependencies.indicatif]
version = "0.17"
optional = true
[dependencies.js-sys]
version = "0.3"
optional = true
[dependencies.jsonschema]
version = "0.38.1"
optional = true
default-features = false
[dependencies.llama-cpp-2]
version = "0.1"
optional = true
[dependencies.once_cell]
version = "1.19"
[dependencies.parquet]
version = "55"
features = ["async"]
optional = true
[dependencies.petgraph]
version = "0.6"
[dependencies.quick-xml]
version = "0.36"
features = ["serialize"]
optional = true
[dependencies.rayon]
version = "1.10"
optional = true
[dependencies.regex]
version = "1"
[dependencies.reqwest]
version = "0.12"
features = [
"json",
"native-tls",
"cookies",
"blocking",
]
optional = true
default-features = false
[dependencies.serde]
version = "1.0"
features = ["derive"]
[dependencies.serde_json]
version = "1.0"
[dependencies.serde_yaml]
version = "0.9"
[dependencies.sha2]
version = "0.10"
optional = true
[dependencies.sqlparser]
version = "0.60"
[dependencies.thiserror]
version = "2.0"
[dependencies.tokio]
version = "1"
features = [
"fs",
"rt-multi-thread",
]
optional = true
[dependencies.tokio-postgres]
version = "0.7"
optional = true
[dependencies.toml]
version = "0.8"
optional = true
[dependencies.tracing]
version = "0.1"
[dependencies.urlencoding]
version = "2.1"
optional = true
[dependencies.uuid]
version = "1.0"
features = [
"v4",
"v5",
"serde",
]
[dependencies.wasm-bindgen]
version = "0.2"
optional = true
[dependencies.wasm-bindgen-futures]
version = "0.4"
optional = true
[dependencies.web-sys]
version = "0.3"
features = [
"IdbDatabase",
"IdbFactory",
"IdbObjectStore",
"IdbRequest",
"IdbTransaction",
"IdbTransactionMode",
"IdbOpenDbRequest",
"IdbVersionChangeEvent",
"Window",
"Storage",
"console",
]
optional = true
[dependencies.yaml-rust]
version = "0.4"
[dependencies.zip]
version = "2.2"
features = ["deflate"]
optional = true
default-features = false
[dev-dependencies.criterion]
version = "0.5"
features = ["html_reports"]
[dev-dependencies.tempfile]
version = "3"
[dev-dependencies.tokio]
version = "1"
features = ["full"]