Cargo Features
[dependencies]
data-modelling-core = { version = "2.4.0", default-features = false, features = ["api-backend", "native-fs", "png-export", "databricks-dialect", "git", "schema-validation", "odps-validation", "bpmn", "dmn", "openapi", "wasm", "database", "duckdb-backend", "postgres-backend", "staging", "staging-postgres", "s3", "databricks", "iceberg", "iceberg-glue", "inference", "llm", "llm-online", "llm-offline", "mapping", "pipeline"] }
- default = api-backend
-
The
api-backendfeature is set by default wheneverdata-modelling-coreis added withoutsomewhere in the dependency tree.default-features = false - api-backend default = reqwest, urlencoding
-
Affects
api_loader::ApiModelLoader,model::api_loader,storage::api… - native-fs duckdb-backend? postgres-backend? = tokio
-
Affects
storage::filesystem… - png-export = image, imageproc
-
Affects
export::png… - databricks-dialect = datafusion
- git = git2
-
Affects
data-modelling-core::git… - schema-validation odps-validation? = jsonschema
-
Affects
schema::validate_odcs_internal,schema::validate_odcl_internal,schema::validate_openapi_internal,schema::validate_json_schema_internal,schema::validate_odps_internal,schema::validate_cads_internal,schema::validate_workspace_internal,schema::validate_decision_internal,schema::validate_knowledge_internal,schema::validate_decisions_index_internal,schema::validate_knowledge_index_internal,schema::validate_sketch_internal,schema::validate_sketch_index_internal,schema::validate_dbmv_internal… - odps-validation = schema-validation
- bpmn = quick-xml
-
Affects
export::bpmn,import::bpmn,models::bpmn… - dmn = quick-xml
-
Affects
export::dmn,import::dmn,models::dmn… - openapi
-
Affects
export::openapi,import::openapi,models::openapi… - wasm = js-sys, wasm-bindgen, wasm-bindgen-futures, web-sys
-
Affects
browser::BrowserStorageBackend,storage::browser… - database duckdb-backend? postgres-backend? = sha2, toml
-
Database backend features
Affects
data-modelling-core::database… - duckdb-backend staging? = database, duckdb, native-fs
-
Affects
database::duckdb,db::StagingDb… - postgres-backend staging-postgres? = database, deadpool-postgres, native-fs, tokio-postgres
-
Affects
database::postgres… - staging databricks? pipeline? s3? = duckdb-backend, glob, indicatif, rayon, sha2
-
Staging database for data ingestion pipeline
Affects
inferrer::infer_schema_parallel,inferrer::infer_schema_parallel_values,staging::progress,data-modelling-core::staging… - staging-postgres = glob, indicatif, postgres-backend, rayon, sha2
-
Affects
data-modelling-core::staging… - s3 = aws-config, aws-credential-types, aws-sdk-s3, staging
-
S3 ingestion support
Affects
staging::s3… - databricks = reqwest, staging, urlencoding
-
Databricks Unity Catalog Volumes ingestion (uses reqwest REST API)
Affects
staging::unity… - iceberg iceberg-glue? = arrow, iceberg-catalog-rest, parquet, tokio
-
Apache Iceberg lakehouse storage
Enables iceberg ^0.7
Databricks Unity Catalog (uses reqwest for REST API)
Apache Iceberg support (for data lakehouse storage)Affects
export::export_to_catalog,ingest::to_raw_json_records,ingest::IcebergIngestConfig,ingest::ingest_to_iceberg,ingest::ingest_to_iceberg_with_config,staging::catalog,staging::export,staging::iceberg_table… - iceberg-glue = iceberg, iceberg-catalog-glue
- inference mapping? pipeline?
-
Schema inference engine
Affects
data-modelling-core::inference… - llm llm-offline? llm-online? = tokio, zip
-
LLM-enhanced schema refinement
Affects
llm_matcher::LlmSchemaMatcher,data-modelling-core::llm… - llm-online = llm, reqwest
-
Affects
data-modelling-core::llm… - llm-offline = llama-cpp-2, llm
-
Affects
data-modelling-core::llm… - mapping pipeline? = inference
-
Schema mapping for target schema alignment
Affects
data-modelling-core::mapping… - pipeline = inference, mapping, staging
-
Full pipeline integration
Affects
data-modelling-core::pipeline…
Features from optional dependencies
In crates that don't use the dep: syntax, optional dependencies automatically become Cargo features. These features may have been created by mistake, and this functionality may be removed in the future.
- tokio iceberg? llm? native-fs?
- reqwest api-backend databricks? llm-online?
-
Enables reqwest ^0.12
HTTP client (for API backend)
- urlencoding api-backend databricks?
- datafusion databricks-dialect?
-
Enables datafusion ^45
- quick-xml bpmn? dmn?
-
Enables quick-xml ^0.36
XML processing (for BPMN/DMN)
- image png-export?
-
Enables image ^0.24
Image processing (for PNG export)
- imageproc png-export?
-
Enables imageproc ^0.23
- git2 git?
-
Enables git2 ^0.19
Git operations (optional, feature-gated)
- duckdb duckdb-backend?
-
Enables duckdb
Database backends (optional, feature-gated)
- tokio-postgres postgres-backend?
- deadpool-postgres postgres-backend?
- toml database?
-
Enables toml ^0.8
Configuration file parsing
- sha2 database? staging? staging-postgres?
-
Enables sha2
Hashing for change detection
- glob staging? staging-postgres?
-
Enables glob
File globbing (for staging ingestion)
- rayon staging? staging-postgres?
-
Enables rayon
Parallel processing
- indicatif staging? staging-postgres?
-
Enables indicatif ^0.17
Progress reporting
- aws-config s3?
-
Enables aws-config
AWS SDK for S3 ingestion
- aws-sdk-s3 s3?
- aws-credential-types s3?
- iceberg-catalog-rest iceberg?
-
Enables iceberg-catalog-rest ^0.7
- iceberg-catalog-glue iceberg-glue?
-
Enables iceberg-catalog-glue ^0.7
- arrow iceberg?
-
Enables arrow ^55
Arrow and Parquet for Iceberg data writing
- parquet iceberg?
-
Enables parquet ^55
- wasm-bindgen wasm?
-
Enables wasm-bindgen
WASM support (for browser storage backend)
- wasm-bindgen-futures wasm?
- web-sys wasm?
- js-sys wasm?
- zip llm?
-
Enables zip ^2.2
ZIP archive reading (for docx files in LLM documentation loading)
- llama-cpp-2 llm-offline?
-
Enables llama-cpp-2
llama.cpp bindings for offline LLM inference
- jsonschema schema-validation?
-
Enables jsonschema ^0.38.1