[package]
edition = "2021"
rust-version = "1.76"
name = "apple-mps"
version = "0.2.4"
authors = ["Per Johansson <per@doom.fish>"]
build = "build.rs"
include = [
"src/**/*",
"swift-bridge/Package.swift",
"swift-bridge/Sources/**/*",
"examples/**/*",
"build.rs",
"Cargo.toml",
"README.md",
"LICENSE-*",
"CHANGELOG.md",
"COVERAGE.md",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Safe Rust bindings for Apple's MetalPerformanceShaders framework on macOS, backed by a Swift bridge"
homepage = "https://github.com/doom-fish/mps-rs"
readme = "README.md"
keywords = [
"mps",
"metal",
"gpu",
"macos",
"apple",
]
categories = [
"api-bindings",
"os::macos-apis",
"graphics",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/doom-fish/mps-rs"
[package.metadata.docs.rs]
default-target = "aarch64-apple-darwin"
targets = [
"aarch64-apple-darwin",
"x86_64-apple-darwin",
]
rustdoc-args = [
"--cfg",
"docsrs",
]
[badges.maintenance]
status = "actively-developed"
[lib]
name = "apple_mps"
crate-type = ["lib"]
path = "src/lib.rs"
[[example]]
name = "01_blur_image"
path = "examples/01_blur_image.rs"
[[example]]
name = "02_matrix_multiply"
path = "examples/02_matrix_multiply.rs"
[[example]]
name = "03_ndarray_identity"
path = "examples/03_ndarray_identity.rs"
[[example]]
name = "04_ray_intersection"
path = "examples/04_ray_intersection.rs"
[[example]]
name = "05_nn_graph_relu"
path = "examples/05_nn_graph_relu.rs"
[[example]]
name = "06_ndarray_matrix_multiplication"
path = "examples/06_ndarray_matrix_multiplication.rs"
[[example]]
name = "07_optimizer_and_state"
path = "examples/07_optimizer_and_state.rs"
[[example]]
name = "08_cnn_convolution"
path = "examples/08_cnn_convolution.rs"
[[example]]
name = "09_rnn_image_inference"
path = "examples/09_rnn_image_inference.rs"
[dependencies.apple-metal]
version = ">=0.5, <0.9"
[lints.clippy.cargo]
level = "warn"
priority = -1
[lints.clippy.nursery]
level = "warn"
priority = -1
[lints.clippy.pedantic]
level = "warn"
priority = -1
[lints.rust]
[profile.release]
debug = 2
strip = "none"