[package]
edition = "2021"
rust-version = "1.70.0"
name = "iso8583-core"
version = "0.1.0"
authors = ["ISO 8583 Library Contributors"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Production-ready zero-allocation ISO 8583 parser with SIMD optimization and no_std support"
homepage = "https://github.com/ollawillie/iso8583-core"
documentation = "https://docs.rs/iso8583-core"
readme = "README.md"
keywords = [
"iso8583",
"payment",
"financial",
"banking",
"no-std",
]
categories = [
"parser-implementations",
"encoding",
"finance",
"no-std",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/ollawillie/iso8583-core"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
"--cfg",
"docsrs",
]
[features]
alloc = []
default = ["std"]
full = [
"std",
"simd",
"serde",
]
serde = [
"dep:serde",
"dep:serde_json",
"std",
]
simd = []
std = [
"thiserror",
"chrono",
"rust_decimal",
"alloc",
"hex/std",
"serde?/std",
]
[lib]
name = "iso8583_core"
path = "src/lib.rs"
[[example]]
name = "atm_withdrawal"
path = "examples/atm_withdrawal.rs"
required-features = ["std"]
[[example]]
name = "balance_inquiry"
path = "examples/balance_inquiry.rs"
required-features = ["std"]
[[example]]
name = "pos_purchase"
path = "examples/pos_purchase.rs"
required-features = ["std"]
[[test]]
name = "integration_tests"
path = "tests/integration_tests.rs"
[dependencies.chrono]
version = "0.4"
optional = true
[dependencies.hex]
version = "0.4"
features = ["alloc"]
default-features = false
[dependencies.rust_decimal]
version = "1.33"
optional = true
[dependencies.serde]
version = "1.0"
features = ["derive"]
optional = true
default-features = false
[dependencies.serde_json]
version = "1.0"
optional = true
[dependencies.thiserror]
version = "1.0"
optional = true
[dev-dependencies.criterion]
version = "0.5"
[dev-dependencies.pretty_assertions]
version = "1.4"
[dev-dependencies.proptest]
version = "1.4"
[profile.bench]
inherits = "release"
[profile.release]
opt-level = 3
lto = "thin"
codegen-units = 16
panic = "abort"