[dependencies.axum]
optional = true
version = "0.8.4"
[dependencies.base64]
optional = true
version = "0.22.1"
[dependencies.bytes]
optional = true
version = "1.10.1"
[dependencies.chrono]
features = ["alloc", "clock", "std"]
optional = true
version = "0.4.41"
[dependencies.digest]
features = ["rand_core"]
optional = true
version = "0.10.7"
[dependencies.ed25519-dalek]
features = ["rand_core"]
optional = true
version = "2.1.1"
[dependencies.futures]
optional = true
version = "0.3.31"
[dependencies.futures-util]
optional = true
version = "0.3.31"
[dependencies.generic-array]
optional = true
version = "0.14.7"
[dependencies.hex]
optional = true
version = "0.4.3"
[dependencies.http]
optional = true
version = "1.3.1"
[dependencies.http-body-util]
optional = true
version = "0.1.3"
[dependencies.hyper]
optional = true
version = "1.6.0"
[dependencies.rand_core]
optional = true
version = "0.6.4"
[dependencies.rubedo-macros]
optional = true
version = "0.6.3"
[dependencies.rust_decimal]
optional = true
version = "1.37.1"
[dependencies.serde]
features = ["derive"]
optional = true
version = "1.0.219"
[dependencies.serde_json]
features = ["preserve_order"]
optional = true
version = "1.0.140"
[dependencies.sha2]
optional = true
version = "0.10.8"
[dependencies.thiserror]
optional = true
version = "2.0.12"
[dependencies.tokio]
features = ["fs", "io-std", "io-util", "macros"]
optional = true
version = "1.45.1"
[dev-dependencies.assert-json-diff]
version = "2.0.2"
[dev-dependencies.claims]
version = "0.8.0"
[dev-dependencies.hyper-util]
features = ["client-legacy"]
version = "0.1.13"
[dev-dependencies.rand]
version = "0.8.5"
[dev-dependencies.serde_assert]
version = "0.8.0"
[dev-dependencies.tempfile]
version = "3.20.0"
[dev-dependencies.tokio]
features = ["fs", "io-std", "io-util", "macros"]
version = "1.45.1"
[features]
axum = ["http", "dep:axum"]
chrono = ["sugar", "dep:chrono"]
crypto = ["std", "dep:digest", "dep:ed25519-dalek", "dep:generic-array", "dep:rand_core", "dep:sha2", "dep:tokio"]
default = ["full"]
full = ["axum", "chrono", "crypto", "http", "serde", "std", "sugar"]
http = ["dep:base64", "dep:bytes", "dep:futures", "dep:futures-util", "dep:http", "dep:http-body-util", "dep:hyper", "dep:serde", "dep:serde_json", "dep:thiserror"]
serde = ["std", "dep:serde"]
std = ["dep:base64", "dep:hex", "dep:rust_decimal", "dep:serde", "dep:thiserror"]
sugar = ["dep:rubedo-macros"]
[lib]
name = "rubedo"
path = "src/lib.rs"
[lints.clippy]
absolute_paths = "warn"
allow_attributes = "warn"
allow_attributes_without_reason = "forbid"
arithmetic_side_effects = "warn"
as_pointer_underscore = "warn"
as_underscore = "warn"
clone_on_ref_ptr = "deny"
const_is_empty = "deny"
dbg_macro = "forbid"
decimal_literal_representation = "warn"
default_numeric_fallback = "warn"
deprecated_clippy_cfg_attr = "deny"
deref_by_slicing = "warn"
doc_include_without_cfg = "deny"
doc_overindented_list_items = "allow"
empty_drop = "warn"
empty_enum_variants_with_brackets = "deny"
empty_structs_with_brackets = "deny"
error_impl_error = "deny"
exhaustive_enums = "deny"
exhaustive_structs = "deny"
exit = "forbid"
expect_used = "deny"
field_scoped_visibility_modifiers = "warn"
filetype_is_file = "warn"
float_cmp_const = "deny"
fn_to_numeric_cast_any = "deny"
format_push_string = "deny"
get_unwrap = "deny"
if_then_some_else_none = "warn"
impl_trait_in_params = "deny"
incompatible_msrv = "deny"
indexing_slicing = "warn"
infinite_loop = "forbid"
integer_division = "deny"
iter_over_hash_type = "warn"
let_underscore_must_use = "warn"
let_underscore_untyped = "warn"
lossy_float_literal = "deny"
map_err_ignore = "warn"
map_with_unused_argument_over_ranges = "warn"
mem_forget = "deny"
missing_assert_message = "deny"
missing_asserts_for_indexing = "warn"
missing_docs_in_private_items = "forbid"
mixed_read_write_in_expression = "warn"
mod_module_files = "forbid"
multiple_bound_locations = "deny"
multiple_inherent_impl = "forbid"
mutex_atomic = "deny"
mutex_integer = "deny"
negative_feature_names = "deny"
non_zero_suggestions = "deny"
panic = "deny"
panic_in_result_fn = "forbid"
pathbuf_init_then_push = "warn"
pattern_type_mismatch = "warn"
precedence_bits = "warn"
print_stderr = "deny"
print_stdout = "deny"
pub_underscore_fields = "deny"
pub_without_shorthand = "warn"
rc_buffer = "warn"
rc_mutex = "deny"
redundant_type_annotations = "warn"
regex_creation_in_loops = "deny"
renamed_function_params = "deny"
rest_pat_in_fully_bound_structs = "warn"
return_and_then = "warn"
same_name_method = "warn"
semicolon_outside_block = "warn"
shadow_reuse = "warn"
shadow_same = "warn"
shadow_unrelated = "warn"
std_instead_of_core = "warn"
str_to_string = "forbid"
string_lit_chars_any = "warn"
string_slice = "warn"
string_to_string = "forbid"
suspicious_xor_used_as_pow = "warn"
tests_outside_test_module = "deny"
todo = "warn"
try_err = "deny"
unconditional_recursion = "deny"
unimplemented = "forbid"
unnecessary_clippy_cfg = "deny"
unnecessary_safety_comment = "warn"
unnecessary_safety_doc = "warn"
unneeded_field_pattern = "warn"
unreachable = "warn"
unseparated_literal_suffix = "warn"
unused_result_ok = "warn"
unused_trait_names = "warn"
unwrap_in_result = "deny"
unwrap_used = "deny"
use_debug = "warn"
verbose_file_reads = "warn"
wildcard_dependencies = "deny"
wildcard_enum_match_arm = "deny"
zombie_processes = "deny"
[lints.clippy.cargo]
level = "warn"
priority = -1
[lints.clippy.nursery]
level = "warn"
priority = -1
[lints.clippy.pedantic]
level = "warn"
priority = -1
[lints.rust]
deprecated = "deny"
deprecated_where_clause_location = "deny"
incomplete_features = "deny"
internal_features = "deny"
let_underscore_drop = "warn"
macro_use_extern_crate = "deny"
meta_variable_misuse = "warn"
missing_copy_implementations = "warn"
missing_debug_implementations = "warn"
missing_docs = "warn"
single_use_lifetimes = "warn"
trivial_casts = "warn"
trivial_numeric_casts = "warn"
unknown_lints = "deny"
unnameable_test_items = "deny"
unreachable_pub = "deny"
unsafe_code = "forbid"
unsafe_op_in_unsafe_fn = "forbid"
unused_crate_dependencies = "warn"
unused_import_braces = "warn"
unused_lifetimes = "warn"
unused_qualifications = "warn"
unused_results = "warn"
variant_size_differences = "warn"
[lints.rust.future_incompatible]
level = "deny"
priority = -1
[lints.rust.rust_2018_compatibility]
level = "deny"
priority = -1
[lints.rust.rust_2018_idioms]
level = "warn"
priority = -1
[lints.rust.rust_2021_compatibility]
level = "deny"
priority = -1
[lints.rust.rust_2024_compatibility]
level = "deny"
priority = -1
[lints.rust.unused]
level = "warn"
priority = -1
[package]
authors = ["Dan Williams <dan@pncr.io>"]
autobenches = false
autobins = false
autoexamples = false
autolib = false
autotests = false
build = false
categories = ["development-tools"]
description = "Library of useful functionality and extensions"
documentation = "https://docs.rs/rubedo"
edition = "2024"
keywords = ["library", "utility"]
license = "MIT"
name = "rubedo"
readme = "README.md"
repository = "https://github.com/danwilliams/rubedo"
resolver = "2"
rust-version = "1.86.0"
version = "0.6.4"
[[test]]
name = "chrono"
path = "tests/chrono.rs"
[[test]]
name = "crypto"
path = "tests/crypto.rs"
[[test]]
name = "serde"
path = "tests/serde.rs"