[workspace]
members = ["python"]
# `commonmeta-python` (the PyO3 extension-module crate) only links correctly
# under maturin's build environment; plain `cargo build`/`cargo test` from
# the workspace root must keep building just the main package by default,
# as before this became a workspace. Use `cargo build -p commonmeta-python`
# or `maturin develop` (see python/) to build the Python bindings.
default-members = ["."]

[package]
name = "commonmeta"
version = "0.5.0"
edition = "2024"
authors = ["Front Matter <info@front-matter.de>"]
description = "Library for conversions to/from the Commonmeta scholarly metadata format"
license = "MIT"
readme = "README.md"
repository = "https://github.com/front-matter/commonmeta-rs"
homepage = "https://rs.commonmeta.org/"
keywords = ["metadata", "doi", "crossref", "datacite", "openalex"]
categories = ["command-line-utilities", "encoding", "science"]

[lib]
name = "commonmeta"
path = "src/lib.rs"

[[bin]]
name = "commonmeta"
path = "src/main.rs"

[dependencies]
reqwest = { version = "0.13.4", features = ["json", "blocking"] }
tokio = { version = "1", features = ["full"] }
clap = "4.6.1"
rand = "0.10.1"
regex = "1.12.4"
base32 = "0.5.1"
lazy_static = "1.5.0"
serde = { version = "1.0.228", features = ["derive"] }
url = "2.5.8"
serde_json = { version = "1.0.145", features = ["preserve_order"] }
zip = "8"
thiserror = "2.0.18"
chrono = { version = "0.4.45", features = ["clock"] }
avro-rs = "0.13.0"
serde_yaml = "0.9.34"
csv = "1.4.0"
hayagriva = "0.10.1"
biblatex = "0.12"
unic-langid = "0.9"
quick-xml = { version = "0.40.1", features = ["serialize", "overlapped-lists"] }
unicode-normalization = "0.1"
ammonia = "4"
scraper = "0.27.0"
libsql = { version = "0.9", default-features = false, features = ["core"] }
flate2 = "1.1.9"
tar = "0.4"
zstd = "0.13"
parquet = { version = "59", default-features = false, features = [
  "zstd",
  "arrow",
] }
parquet_derive = "59"
bytes = "1"
jsonschema = "0.46.5"
fastxml = "0.9.0"
indicatif = "0.18.4"
dirs = "6.0.0"
duckdb = "1.10504.0"
arrow = "59.0.0"
isolang = { version = "2", features = ["list_languages", "local_names"] }
