[package]
edition = "2024"
name = "nkscan"
version = "0.11.0"
build = false
exclude = [
".envrc",
".github/",
"docs/*",
"flake.nix",
"flake.lock",
"nkscan.pyi",
"pyproject.toml",
"scripts/",
"scsi_proxy/",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A platform-agnostic, performant driver for Nikon film scanners"
readme = "README.md"
keywords = [
"scanner",
"film",
"nikon",
"coolscan",
"scsi",
]
categories = [
"hardware-support",
"multimedia::images",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/activexray/nkscan"
[features]
cli = [
"dep:anyhow",
"dep:tracing-subscriber",
"dep:clap",
"dep:indicatif",
"dep:tiff",
"dep:moxcms",
"dep:ctrlc",
]
python = [
"dep:pyo3",
"dep:numpy",
"dep:pyo3-stub-gen",
"dep:tracing-subscriber",
]
[lib]
name = "nkscan"
crate-type = [
"cdylib",
"rlib",
]
path = "src/lib.rs"
[[bin]]
name = "nkscan"
path = "src/bin/nkscan/main.rs"
required-features = ["cli"]
[[bin]]
name = "stub_gen"
path = "src/bin/stub_gen.rs"
required-features = ["python"]
[[example]]
name = "fit_strip"
path = "examples/fit_strip.rs"
[[example]]
name = "usb-wedge"
path = "examples/usb-wedge.rs"
[[test]]
name = "hardware"
path = "tests/hardware.rs"
[[bench]]
name = "dust"
path = "benches/dust.rs"
harness = false
[dependencies.anyhow]
version = "1"
optional = true
[dependencies.bitflags]
version = "2"
[dependencies.clap]
version = "4"
features = ["derive"]
optional = true
[dependencies.ctrlc]
version = "3"
optional = true
[dependencies.indicatif]
version = "0.18"
optional = true
[dependencies.moxcms]
version = "0.9"
optional = true
[dependencies.numpy]
version = "0.29"
optional = true
[dependencies.nusb]
version = "0.2"
[dependencies.pyo3]
version = "0.29"
features = ["abi3-py313"]
optional = true
[dependencies.pyo3-stub-gen]
version = "0.23"
features = [
"numpy",
"infer_signature",
]
optional = true
default-features = false
[dependencies.rayon]
version = "1"
[dependencies.thiserror]
version = "2"
[dependencies.tiff]
version = "0.11"
optional = true
[dependencies.tracing]
version = "0.1"
[dependencies.tracing-subscriber]
version = "0.3"
features = ["env-filter"]
optional = true
[dependencies.wide]
version = "1"
[dev-dependencies.divan]
version = "0.1.21"
[dev-dependencies.tiff]
version = "0.11"
[target.'cfg(target_os = "linux")'.dependencies.nix]
version = "0.31"
features = ["ioctl"]
[target.'cfg(target_os = "macos")'.dependencies.core-foundation-sys]
version = "0.8"
[target.'cfg(target_os = "macos")'.dependencies.io-kit-sys]
version = "0.5"
[target.'cfg(target_os = "windows")'.dependencies.windows-sys]
version = "0.61"
features = [
"Win32_Foundation",
"Win32_Storage_FileSystem",
"Win32_System_IO",
"Win32_System_Console",
]