fits-io 0.2.0

A pure-Rust FITS file reading and writing library inspired by CFITSIO, focused on safety, clarity, and performance.
Documentation
# 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 = "2024"
rust-version = "1.88"
name = "fits-io"
version = "0.2.0"
build = "build.rs"
exclude = [
    "/.github",
    "/.idea",
    "/.pre-commit-config.yaml",
    "**/*.fit",
    "**/*.fits",
    "**/*.fts",
    "**/*.fit.gz",
    "**/*.fits.gz",
    "**/*.fts.gz",
    "**/.DS_Store",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A pure-Rust FITS file reading and writing library inspired by CFITSIO, focused on safety, clarity, and performance."
readme = "README.md"
keywords = [
    "fits",
    "cfitsio",
    "astronomy",
    "healpix",
]
categories = [
    "science",
    "parser-implementations",
    "multimedia::images",
]
license = "Apache-2.0 OR MIT"
repository = "https://github.com/Joatin/fits-io"

[package.metadata.docs.rs]
all-features = true

[features]
default = [
    "gzip",
    "tokio",
    "fs",
    "rayon",
]
fs = []
gzip = ["dep:flate2"]
rayon = ["dep:rayon"]
serde = ["dep:serde"]
tokio = [
    "dep:tokio",
    "dep:futures",
    "dep:tokio-stream",
]

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

[[example]]
name = "compress_file"
path = "examples/compress_file.rs"
required-features = ["gzip"]

[[example]]
name = "open_file"
path = "examples/open_file.rs"
required-features = ["fs"]

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

[[example]]
name = "write_file"
path = "examples/write_file.rs"
required-features = ["serde"]

[[test]]
name = "ascii_rows"
path = "tests/ascii_rows.rs"
required-features = ["serde"]

[[test]]
name = "ascii_table"
path = "tests/ascii_table.rs"
required-features = ["fs"]

[[test]]
name = "bin_table_columns"
path = "tests/bin_table_columns.rs"
required-features = ["fs"]

[[test]]
name = "column_scaling"
path = "tests/column_scaling.rs"
required-features = ["fs"]

[[test]]
name = "compress_images"
path = "tests/compress_images.rs"
required-features = ["gzip"]

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

[[test]]
name = "deserialize_rows"
path = "tests/deserialize_rows.rs"
required-features = [
    "fs",
    "serde",
]

[[test]]
name = "extensions"
path = "tests/extensions.rs"
required-features = ["fs"]

[[test]]
name = "header_cards"
path = "tests/header_cards.rs"
required-features = ["fs"]

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

[[test]]
name = "long_keywords"
path = "tests/long_keywords.rs"
required-features = ["fs"]

[[test]]
name = "malformed_files"
path = "tests/malformed_files.rs"
required-features = ["fs"]

[[test]]
name = "open_bin_table"
path = "tests/open_bin_table.rs"
required-features = [
    "fs",
    "serde",
]

[[test]]
name = "open_gzipped"
path = "tests/open_gzipped.rs"
required-features = [
    "gzip",
    "fs",
]

[[test]]
name = "read_image"
path = "tests/read_image.rs"
required-features = ["fs"]

[[test]]
name = "reader_parity"
path = "tests/reader_parity.rs"
required-features = ["fs"]

[[test]]
name = "stream_image"
path = "tests/stream_image.rs"
required-features = [
    "fs",
    "tokio",
]

[[test]]
name = "stream_table"
path = "tests/stream_table.rs"
required-features = [
    "fs",
    "tokio",
]

[[test]]
name = "world_coordinates"
path = "tests/world_coordinates.rs"
required-features = ["fs"]

[[test]]
name = "write_files"
path = "tests/write_files.rs"
required-features = ["fs"]

[[test]]
name = "write_tables"
path = "tests/write_tables.rs"
required-features = ["serde"]

[[bench]]
name = "decode"
path = "benches/decode.rs"
harness = false
required-features = [
    "fs",
    "serde",
]

[dependencies.chrono]
version = "0.4.42"

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

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

[dependencies.image]
version = "0.25.6"
default-features = false

[dependencies.latlong]
version = "0.1"

[dependencies.log]
version = "0.4"
default-features = false

[dependencies.rayon]
version = "1.11.0"
optional = true

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

[dependencies.thiserror]
version = "2.0"

[dependencies.tokio]
version = "1.48.0"
features = [
    "io-util",
    "sync",
    "rt",
]
optional = true

[dependencies.tokio-stream]
version = "0.1.18"
optional = true

[dev-dependencies.flate2]
version = "1.0"

[dev-dependencies.image]
version = "0.25.6"
default-features = false

[dev-dependencies.serde]
version = "1.0"
features = ["derive"]

[dev-dependencies.simplelog]
version = "0.12.2"

[dev-dependencies.tokio]
version = "1.48.0"
features = [
    "macros",
    "rt",
]

[build-dependencies.rustversion]
version = "1.0"