[workspace]
[package]
name = "foldit-plugin-sdk"
version = "0.2.1"
edition = "2021"
authors = ["Andreas Petrides"]
license = "MIT"
description = "Foldit plugin SDK - owns plugin.proto, the protocol types, and the Plugin trait; exposes a cbindgen C-ABI and pyo3 Python bindings"
repository = "https://github.com/foldit-org/foldit-plugin-sdk"
keywords = ["plugin", "protein", "rosetta", "bioinformatics", "ffi"]
categories = ["science", "development-tools::ffi"]
[lib]
name = "foldit_plugin_sdk"
crate-type = ["rlib", "cdylib", "staticlib"]
[dependencies]
prost = "0.13"
thiserror = "2"
molex = "0.8.0"
pyo3 = { version = "0.29", optional = true }
[build-dependencies]
prost-build = "0.13"
protox = "0.7"
cbindgen = "=0.29.2"
[features]
default = []
python = ["dep:pyo3"]
extension-module = ["pyo3/extension-module"]
[lints.clippy]
all = { level = "deny", priority = -1 }
pedantic = { level = "deny", priority = -1 }
nursery = { level = "deny", priority = -1 }
cargo = { level = "deny", priority = -1 }
unwrap_used = "deny"
expect_used = "deny"
panic = "deny"
todo = "deny"
unimplemented = "deny"
dbg_macro = "deny"
print_stdout = "deny"
print_stderr = "deny"
str_to_string = "deny"
multiple_crate_versions = "allow"
missing_const_for_fn = "allow"
default_trait_access = "allow"
doc_markdown = "allow"
similar_names = "allow"
items_after_statements = "allow"
use_self = "allow"
redundant_pub_crate = "allow"
[lints.rust]
missing_docs = "deny"
unused_results = "deny"
unused_qualifications = "deny"
trivial_casts = "deny"
trivial_numeric_casts = "deny"
[lints.rustdoc]
broken_intra_doc_links = "deny"
private_intra_doc_links = "deny"
bare_urls = "deny"