[package]
edition = "2024"
rust-version = "1.85"
name = "imodfile"
version = "0.2.2"
build = false
exclude = [
"/libimod_official_c_impl",
"/pyproject.toml",
"/imodfile.pyi",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A pure-Rust IMOD model file decoder/encoder — binary & ASCII, with Python bindings"
homepage = "https://github.com/elemeng/imodfile"
documentation = "https://docs.rs/imodfile"
readme = "README.md"
keywords = [
"imod",
"cryo-em",
"electron-microscopy",
"model",
"3d",
]
categories = [
"science",
"parsing",
"api-bindings",
]
license = "MIT"
repository = "https://github.com/elemeng/imodfile"
[package.metadata.docs.rs]
features = ["python"]
[features]
python = [
"dep:pyo3",
"dep:numpy",
]
[lib]
name = "imodfile"
crate-type = [
"rlib",
"cdylib",
]
path = "src/lib.rs"
[[bin]]
name = "imodfile"
path = "src/main.rs"
[[test]]
name = "integration"
path = "tests/integration.rs"
[[test]]
name = "proptests"
path = "tests/proptests.rs"
[dependencies.numpy]
version = "0.29"
optional = true
[dependencies.pyo3]
version = "0.29"
features = [
"extension-module",
"abi3-py38",
]
optional = true
[dependencies.thiserror]
version = "2"
[dev-dependencies.proptest]
version = "1"
[lints.clippy]
cargo = "warn"
complexity = "warn"
perf = "warn"
style = "warn"
suspicious = "warn"
[lints.rust]
unsafe_code = "deny"
[profile.release]
opt-level = 3
lto = "fat"
codegen-units = 1
panic = "abort"
strip = true