# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2021"
name = "scirs2-io"
version = "0.3.0"
authors = ["COOLJAPAN OU (Team KitaSan)"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Input/Output utilities module for SciRS2 (scirs2-io)"
readme = "README.md"
keywords = [
    "io",
    "serialization",
    "data",
    "scientific",
    "scipy",
]
categories = [
    "science",
    "encoding",
]
license = "Apache-2.0"
repository = "https://github.com/cool-japan/scirs"

[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
    "--cfg",
    "docsrs",
]

[features]
all = [
    "csv",
    "compression",
    "validation",
    "hdf5",
    "async",
    "reqwest",
    "aws-sdk-s3",
    "google-cloud-storage",
    "azure-storage-blobs",
    "gpu",
    "exif",
    "database",
    "mongodb",
    "redis",
    "realtime",
]
async = [
    "dep:tokio",
    "dep:futures",
    "dep:futures-util",
    "dep:async-trait",
]
aws-sdk-s3 = []
azure-storage-blobs = []
compression = []
compression-c = [
    "dep:flate2",
    "dep:lz4",
    "dep:zstd",
    "dep:bzip2",
]
csv = []
database = [
    "sqlite",
    "postgres",
    "mysql",
]
database-full = ["database"]
default = [
    "csv",
    "compression",
    "validation",
]
exif = []
google-cloud-storage = []
gpu = ["compression-c"]
grpc = [
    "dep:tonic",
    "dep:prost",
    "async",
]
hdf5 = ["dep:hdf5"]
mongodb = [
    "dep:mongodb",
    "async",
]
mqtt = [
    "dep:rumqttc",
    "async",
]
mysql = ["async"]
parquet = [
    "dep:parquet",
    "dep:arrow",
    "dep:arrow-array",
    "dep:arrow-schema",
    "dep:arrow-cast",
]
postgres = ["async"]
realtime = [
    "websocket",
    "mqtt",
    "sse",
    "grpc",
]
redis = ["dep:redis"]
reqwest = [
    "dep:reqwest",
    "dep:log",
]
sqlite = ["dep:rusqlite"]
sse = [
    "dep:eventsource-client",
    "async",
    "reqwest",
]
validation = []
websocket = [
    "dep:tokio-tungstenite",
    "async",
]

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

[[example]]
name = "advanced_comprehensive_integration"
path = "examples/advanced_comprehensive_integration.rs"

[[example]]
name = "advanced_csv_types"
path = "examples/advanced_csv_types.rs"

[[example]]
name = "advanced_integration_demo"
path = "examples/advanced_integration_demo.rs"

[[example]]
name = "async_io_example"
path = "examples/async_io_example.rs"
required-features = ["async"]

[[example]]
name = "chunked_csv_example"
path = "examples/chunked_csv_example.rs"

[[example]]
name = "compression_example"
path = "examples/compression_example.rs"

[[example]]
name = "csv_example"
path = "examples/csv_example.rs"

[[example]]
name = "date_time_complex"
path = "examples/date_time_complex.rs"

[[example]]
name = "enhanced_sparse_example"
path = "examples/enhanced_sparse_example.rs"

[[example]]
name = "harwell_boeing_example"
path = "examples/harwell_boeing_example.rs"

[[example]]
name = "hdf5_example"
path = "examples/hdf5_example.rs"
required-features = ["hdf5"]

[[example]]
name = "image_enhanced_example"
path = "examples/image_enhanced_example.rs"

[[example]]
name = "image_example"
path = "examples/image_example.rs"

[[example]]
name = "image_exif_example"
path = "examples/image_exif_example.rs"

[[example]]
name = "image_metadata_example"
path = "examples/image_metadata_example.rs"

[[example]]
name = "image_sequence"
path = "examples/image_sequence.rs"

[[example]]
name = "io_advanced_coordinator_demo"
path = "examples/io_advanced_coordinator_demo.rs"

[[example]]
name = "io_advanced_demo"
path = "examples/io_advanced_demo.rs"

[[example]]
name = "io_advanced_enhanced_demo"
path = "examples/io_advanced_enhanced_demo.rs"

[[example]]
name = "io_advanced_mode_showcase"
path = "examples/io_advanced_mode_showcase.rs"

[[example]]
name = "io_advanced_validation"
path = "examples/io_advanced_validation.rs"

[[example]]
name = "matlab_enhanced_example"
path = "examples/matlab_enhanced_example.rs"

[[example]]
name = "matrix_market_example"
path = "examples/matrix_market_example.rs"

[[example]]
name = "memory_mapped_example"
path = "examples/memory_mapped_example.rs"

[[example]]
name = "netcdf4_hdf5_integration_example"
path = "examples/netcdf4_hdf5_integration_example.rs"

[[example]]
name = "netcdf_enhanced_example"
path = "examples/netcdf_enhanced_example.rs"

[[example]]
name = "network_cloud_example"
path = "examples/network_cloud_example.rs"
required-features = [
    "async",
    "reqwest",
]

[[example]]
name = "parallel_compression_example"
path = "examples/parallel_compression_example.rs"

[[example]]
name = "parallel_io_example"
path = "examples/parallel_io_example.rs"

[[example]]
name = "round_trip_example"
path = "examples/round_trip_example.rs"

[[example]]
name = "schema_validation_example"
path = "examples/schema_validation_example.rs"

[[example]]
name = "scientific_csv_basic"
path = "examples/scientific_csv_basic.rs"

[[example]]
name = "scientific_csv_example"
path = "examples/scientific_csv_example.rs"

[[example]]
name = "scientific_csv_simple"
path = "examples/scientific_csv_simple.rs"

[[example]]
name = "scientific_fixed"
path = "examples/scientific_fixed.rs"

[[example]]
name = "serialize_example"
path = "examples/serialize_example.rs"

[[example]]
name = "simple_advanced_validation"
path = "examples/simple_advanced_validation.rs"

[[example]]
name = "sparse_matrix_example"
path = "examples/sparse_matrix_example.rs"

[[example]]
name = "streaming_iterator_example"
path = "examples/streaming_iterator_example.rs"

[[example]]
name = "typed_csv_example"
path = "examples/typed_csv_example.rs"

[[example]]
name = "validation_example"
path = "examples/validation_example.rs"

[[test]]
name = "matlab_integration"
path = "tests/matlab_integration.rs"

[[test]]
name = "round_trip"
path = "tests/round_trip.rs"

[dependencies.arrow]
version = "57.3.0"
optional = true

[dependencies.arrow-array]
version = "57.3.0"
optional = true

[dependencies.arrow-cast]
version = "57.3.0"
optional = true

[dependencies.arrow-schema]
version = "57.3.0"
optional = true

[dependencies.async-trait]
version = "0.1.89"
optional = true

[dependencies.blake3]
version = "1.8.3"

[dependencies.brotli]
version = "8.0.2"

[dependencies.bytemuck]
version = "1.25"
features = ["derive"]

[dependencies.byteorder]
version = "1.5"

[dependencies.bzip2]
version = "0.6.1"
optional = true

[dependencies.chrono]
version = "0.4.44"

[dependencies.crc32fast]
version = "1.5"

[dependencies.cron]
version = "0.15"

[dependencies.crossbeam-channel]
version = "0.5.15"

[dependencies.data-encoding]
version = "2.10"

[dependencies.digest]
version = "0.10"

[dependencies.eventsource-client]
version = "0.16"
optional = true

[dependencies.flate2]
version = "1.1"
optional = true

[dependencies.futures]
version = "0.3.32"
optional = true

[dependencies.futures-util]
version = "0.3.32"
optional = true

[dependencies.glob]
version = "0.3"

[dependencies.hdf5]
version = "0.8.1"
optional = true

[dependencies.hex]
version = "0.4"

[dependencies.image]
version = "0.25.9"

[dependencies.indexmap]
version = "2.13"
features = ["serde"]

[dependencies.kamadak-exif]
version = "0.6"

[dependencies.log]
version = "0.4"
optional = true

[dependencies.lz4]
version = "1.28"
optional = true

[dependencies.memmap2]
version = "0.9.10"

[dependencies.miniz_oxide]
version = "0.9.0"

[dependencies.mongodb]
version = "3.5"
optional = true

[dependencies.netcdf3]
version = "0.6.0"

[dependencies.num_cpus]
version = "1.17.0"

[dependencies.oxiarc-archive]
version = "0.2.1"

[dependencies.oxicode]
version = "0.1.1"
features = [
    "serde",
    "simd",
]

[dependencies.parquet]
version = "57.3.0"
optional = true

[dependencies.prost]
version = "0.14"
optional = true

[dependencies.redis]
version = "1.0"
optional = true

[dependencies.regex]
version = "1.12.3"

[dependencies.reqwest]
version = "0.12"
features = [
    "blocking",
    "json",
]
optional = true

[dependencies.rmp-serde]
version = "1.3"

[dependencies.rumqttc]
version = "0.25"
optional = true

[dependencies.rusqlite]
version = "=0.37.0"
optional = true

[dependencies.scirs2-core]
version = "0.3.0"
features = [
    "parallel",
    "simd",
    "gpu",
    "array",
    "random",
]
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"

[dependencies.snap]
version = "1.1.1"

[dependencies.statrs]
version = "0.18.0"

[dependencies.tempfile]
version = "3.26.0"

[dependencies.thiserror]
version = "2.0.18"

[dependencies.tokio]
version = "1.49.0"
features = [
    "full",
    "fs",
    "io-util",
    "time",
    "rt",
]
optional = true

[dependencies.tokio-tungstenite]
version = "0.28"
optional = true

[dependencies.toml]
version = "0.9"

[dependencies.tonic]
version = "0.14"
optional = true

[dependencies.url]
version = "2.5.8"

[dependencies.urlencoding]
version = "2.1"

[dependencies.uuid]
version = "1.21.0"
features = [
    "v4",
    "v4",
    "serde",
]

[dependencies.zstd]
version = "0.13.3"
optional = true

[dev-dependencies.tokio-test]
version = "0.4.5"

[lints.clippy]
expect_used = "allow"
unwrap_used = "warn"

[lints.rust]
dead_code = "allow"
mismatched_lifetime_syntaxes = "allow"
unknown_lints = "allow"
unpredictable_function_pointer_comparisons = "allow"
unused_imports = "allow"
unused_mut = "allow"
unused_variables = "allow"
