[package]
edition = "2021"
rust-version = "1.78"
name = "mpi"
version = "0.8.2"
authors = [
"Benedikt Steinbusch <ben@rockshrub.de>",
"Andrew Gaspar <andrew.gaspar@outlook.com>",
"Jed Brown <jed@jedbrown.org>",
]
build = "build.rs"
exclude = [
".github/",
"ci/*.sh",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Message Passing Interface bindings for Rust"
homepage = "https://github.com/rsmpi/rsmpi"
documentation = "https://docs.rs/mpi"
readme = "README.md"
keywords = [
"message-passing",
"parallel",
]
categories = ["concurrency"]
license = "MIT OR Apache-2.0"
repository = "https://github.com/rsmpi/rsmpi"
[package.metadata.release]
tag-name = "{{crate_name}}-{{version}}"
[[package.metadata.release.pre-release-replacements]]
file = "README.md"
search = 'version = "[0-9.]*"'
replace = 'version = "{{version}}"'
[[package.metadata.release.pre-release-replacements]]
file = "src/lib.rs"
search = 'mpi = "[0-9.]*"'
replace = 'mpi = "{{version}}"'
[[package.metadata.release.pre-release-replacements]]
file = "CHANGELOG.md"
search = "`main` branch"
replace = "{{version}} ({{date}})"
[package.metadata.docs.rs]
cargo-args = [
"-Zunstable-options",
"-Zrustdoc-scrape-examples",
]
[features]
complex = ["dep:num-complex"]
default = ["user-operations"]
derive = ["mpi-derive"]
user-operations = ["libffi"]
[lib]
name = "mpi"
path = "src/lib.rs"
[[example]]
name = "all_gather"
path = "examples/all_gather.rs"
[[example]]
name = "all_gather_bool"
path = "examples/all_gather_bool.rs"
[[example]]
name = "all_gather_varcount"
path = "examples/all_gather_varcount.rs"
[[example]]
name = "all_to_all"
path = "examples/all_to_all.rs"
[[example]]
name = "attributes"
path = "examples/attributes.rs"
[[example]]
name = "barrier"
path = "examples/barrier.rs"
[[example]]
name = "broadcast"
path = "examples/broadcast.rs"
[[example]]
name = "buffered"
path = "examples/buffered.rs"
[[example]]
name = "cartesian"
path = "examples/cartesian.rs"
[[example]]
name = "cartesian_map"
path = "examples/cartesian_map.rs"
[[example]]
name = "comm_name"
path = "examples/comm_name.rs"
[[example]]
name = "complex_datatype"
path = "examples/complex_datatype.rs"
[[example]]
name = "complex_numbers"
path = "examples/complex_numbers.rs"
doc-scrape-examples = true
required-features = ["complex"]
[[example]]
name = "contiguous"
path = "examples/contiguous.rs"
[[example]]
name = "datatype_dup"
path = "examples/datatype_dup.rs"
[[example]]
name = "derive_multiple_thread_init"
path = "examples/derive_multiple_thread_init.rs"
required-features = ["derive"]
[[example]]
name = "derive_nonthreaded_panic"
path = "examples/derive_nonthreaded_panic.rs"
required-features = ["derive"]
[[example]]
name = "derive_postfinalize_panic"
path = "examples/derive_postfinalize_panic.rs"
required-features = ["derive"]
[[example]]
name = "derive_preinit_panic"
path = "examples/derive_preinit_panic.rs"
required-features = ["derive"]
[[example]]
name = "duplicate"
path = "examples/duplicate.rs"
[[example]]
name = "dyn_communicator"
path = "examples/dyn_communicator.rs"
[[example]]
name = "env_inq"
path = "examples/env_inq.rs"
[[example]]
name = "gather"
path = "examples/gather.rs"
[[example]]
name = "gather_varcount"
path = "examples/gather_varcount.rs"
[[example]]
name = "group"
path = "examples/group.rs"
[[example]]
name = "immediate"
path = "examples/immediate.rs"
[[example]]
name = "immediate_all_gather"
path = "examples/immediate_all_gather.rs"
[[example]]
name = "immediate_all_gather_varcount"
path = "examples/immediate_all_gather_varcount.rs"
[[example]]
name = "immediate_all_to_all"
path = "examples/immediate_all_to_all.rs"
[[example]]
name = "immediate_barrier"
path = "examples/immediate_barrier.rs"
[[example]]
name = "immediate_broadcast"
path = "examples/immediate_broadcast.rs"
[[example]]
name = "immediate_gather"
path = "examples/immediate_gather.rs"
[[example]]
name = "immediate_gather_varcount"
path = "examples/immediate_gather_varcount.rs"
[[example]]
name = "immediate_multiple_barrier"
path = "examples/immediate_multiple_barrier.rs"
[[example]]
name = "immediate_multiple_requests"
path = "examples/immediate_multiple_requests.rs"
[[example]]
name = "immediate_multiple_test"
path = "examples/immediate_multiple_test.rs"
[[example]]
name = "immediate_reduce"
path = "examples/immediate_reduce.rs"
[[example]]
name = "immediate_scan"
path = "examples/immediate_scan.rs"
[[example]]
name = "immediate_scatter"
path = "examples/immediate_scatter.rs"
[[example]]
name = "immediate_scatter_varcount"
path = "examples/immediate_scatter_varcount.rs"
[[example]]
name = "init_with_threading"
path = "examples/init_with_threading.rs"
[[example]]
name = "pack"
path = "examples/pack.rs"
[[example]]
name = "readme"
path = "examples/readme.rs"
[[example]]
name = "ready_send"
path = "examples/ready_send.rs"
[[example]]
name = "reduce"
path = "examples/reduce.rs"
[[example]]
name = "scan"
path = "examples/scan.rs"
[[example]]
name = "scatter"
path = "examples/scatter.rs"
[[example]]
name = "scatter_varcount"
path = "examples/scatter_varcount.rs"
[[example]]
name = "send_receive"
path = "examples/send_receive.rs"
[[example]]
name = "simple"
path = "examples/simple.rs"
[[example]]
name = "spawn"
path = "examples/spawn.rs"
[[example]]
name = "spawn_multiple"
path = "examples/spawn_multiple.rs"
[[example]]
name = "split"
path = "examples/split.rs"
[[example]]
name = "struct"
path = "examples/struct.rs"
required-features = ["derive"]
[[example]]
name = "structured"
path = "examples/structured.rs"
[[example]]
name = "time"
path = "examples/time.rs"
[[example]]
name = "vector"
path = "examples/vector.rs"
[[example]]
name = "wait_any"
path = "examples/wait_any.rs"
[[test]]
name = "derive_tests"
path = "tests/derive_tests.rs"
[[test]]
name = "trait_object_safety_test"
path = "tests/trait_object_safety_test.rs"
[dependencies.conv]
version = "0.3.3"
[dependencies.libffi]
version = "5.1.1"
optional = true
[dependencies.mpi-derive]
version = "0.1.4"
optional = true
[dependencies.mpi-sys]
version = "0.2.4"
[dependencies.num-complex]
version = "0.4.6"
optional = true
[dependencies.once_cell]
version = "1.21"
[dependencies.smallvec]
version = "1.15.2"
[dependencies.thiserror]
version = "2.0.18"
[build-dependencies.build-probe-mpi]
version = "0.1.6"