pub mod blueprint;
pub mod catalog;
pub mod client;
pub mod error;
pub mod fetch;
pub mod geojson_wkt;
pub mod index;
pub mod layout;
pub mod orchestrator;
pub mod preprocess;
pub use blueprint::{datasets_used_by_blueprint, deep_merge, merge_blueprint_json};
pub use catalog::{is_known, kind_of, resolve, DataKind};
pub use client::ArcGISClient;
pub use error::{Result, SodirError};
pub use index::{Action, DatasetEntry, SodirIndex};
pub use layout::{StorageMode, Workdir};
pub use orchestrator::{fetch_all, refresh_csvs, FetchAllReport, RefreshReport};
pub use preprocess::{apply as apply_preprocess, PreprocessReport};
pub fn fetch_all_blocking(
workdir: &Workdir,
needed: &[String],
index_cooldown_days: i64,
dataset_cooldown_days: i64,
concurrency: usize,
) -> Result<FetchAllReport> {
crate::datasets::blocking::run(fetch_all(
workdir,
needed,
index_cooldown_days,
dataset_cooldown_days,
concurrency,
))
}