[package]
name = "noodles-sam"
version = "0.67.0"
authors = ["Michael Macias <zaeleus@gmail.com>"]
license.workspace = true
edition.workspace = true
rust-version.workspace = true
description = "Sequence Alignment/Map (SAM) format reader and writer"
homepage = "https://github.com/zaeleus/noodles"
repository = "https://github.com/zaeleus/noodles"
documentation = "https://docs.rs/noodles-sam"

[features]
async = [
  "dep:futures",
  "dep:pin-project-lite",
  "dep:tokio",
  "noodles-bgzf/async",
  "noodles-csi/async",
]

[dependencies]
bitflags.workspace = true
bstr.workspace = true
indexmap.workspace = true
lexical-core.workspace = true
memchr.workspace = true
noodles-bgzf = { path = "../noodles-bgzf", version = "0.34.0" }
noodles-core = { path = "../noodles-core", version = "0.15.0" }
noodles-csi = { path = "../noodles-csi", version = "0.41.0" }

futures = { workspace = true, optional = true, features = ["std"] }
pin-project-lite = { workspace = true, optional = true }
tokio = { workspace = true, optional = true, features = ["io-util"] }

[dev-dependencies]
tokio = { workspace = true, features = ["fs", "io-std", "macros", "rt-multi-thread"] }

[package.metadata.docs.rs]
features = ["async"]

[[example]]
name = "sam_count_async"
required-features = ["async"]

[[example]]
name = "sam_query_async"
required-features = ["async"]

[[example]]
name = "sam_read_header_async"
required-features = ["async"]

[[example]]
name = "sam_reheader_async"
required-features = ["async"]

[[example]]
name = "sam_view_async"
required-features = ["async"]

[[example]]
name = "sam_write_async"
required-features = ["async"]
