Cargo Features
[dependencies]
gearbox = { version = "4.0.1-beta.3", default-features = false, features = ["full", "std", "axum", "base64", "bs58", "bson", "bytes", "derive_more", "didkit", "erased_serde", "flexbuffers", "futures", "gearbox_macros", "hashbrown", "hex", "hmac", "hyper", "hyper_util", "if_addrs", "json5", "pnet", "postcard", "reqwest", "rmp_serde", "ron", "semver", "dep_serde", "serde_cbor", "serde_derive", "serde_json", "serde_lexpr", "serde_pickle", "serde_qs", "serde_xml_rs", "serde_yaml", "sha2", "sys_info", "spin", "tokio", "tracing", "uniffi", "uniffi_macros", "tracing_subscriber", "with_serde", "with_json", "collections", "collections-all", "collections-const-hash-map", "collections-hash-map", "collections-simple-linked-list", "collections-vec-deque", "common", "common-all", "common-try-default", "common-boxed-future", "common-ips", "common-process", "did", "did-all", "did-sld", "error", "error-all", "error-tracer", "error-tracer-macros", "error-type-registry", "log", "log-tracing", "log-tracing-all", "log-tracing-bunyan", "log-tracing-deeplog", "log-tracing-syslog", "log-tracing-macros", "log-tracing-macros-syslog", "log-tracing-macros-common", "net", "net-hostname", "net-http", "net-signature", "net-http-dyno-request", "net-http-request", "net-http-request-chaining", "path", "path-dirs", "rails", "rails-ext", "rails-tracing", "service", "service-discovery", "service-framework-axum", "storage", "storage-all", "storage-web", "storage-io", "storage-yaml-ext", "storage-json-ext", "sync", "sync-rw-arc", "template", "time", "time-serde", "tracing-log", "num-traits", "web-sys", "js-sys", "apache-avro", "clap", "chrono", "lazy_static", "nix", "tower-service", "wasm-bindgen", "wasm-bindgen-futures"] }
- default = std
-
Default - None
- full
-
Full - all features available
- std default collections? common? did? error? log? net? path? rails? service? storage? storage-io? sync? template? time?
-
Global Cross deps
Affects
hostname::gethostname
,relax::Yield
,multicommand::shellcommand
… - axum service-framework-axum?
-
Enables axum
Frameworks
Axum - base64 net-signature?
-
Enables base64
- bs58 net-signature?
-
Enables bs58
- bson
-
Enables bson
- bytes net-http-request?
-
Enables bytes
TODO Might not be needed here
- derive_more
-
Enables derive_more ^0.99.18
- didkit
-
Enables didkit
These are mainly used for "DID" feature
- erased_serde error-tracer?
-
Enables erased-serde
- flexbuffers
-
Enables flexbuffers
- futures log-tracing-deeplog?
-
Enables futures
- gearbox_macros
-
Enables gearbox-macros
Exposing the common gearbox macros
- hashbrown collections-const-hash-map? collections-hash-map? log-tracing? net-http-request? net-signature? template?
-
Enables hashbrown ^0.14.5
- hex
-
Enables hex
These are mainly used for "net-signature" feature
- hmac net-signature?
-
Enables hmac
- hyper service-framework-axum?
-
Enables hyper
- hyper_util service-framework-axum?
-
Enables hyper-util
- if_addrs common-ips?
-
Enables if-addrs
- json5
-
Enables json5
- pnet log-tracing-deeplog?
-
Enables pnet
Used for:
- log::tracing (discover_log) - postcard
-
Enables postcard
- reqwest net-http-request?
-
Enables reqwest
These are mainly used for "http-request" feature
- rmp_serde
-
Enables rmp-serde
- ron
-
Enables ron
- semver
-
Enables semver
- dep_serde did-sld? log-tracing? net-http-request? net-http-request-chaining? net-signature? service-discovery? service-framework-axum? storage? storage-io? storage-web? time-serde? with_serde? = serde_derive
-
Enables serde
Affects
gearbox::externs.serde
… - serde_cbor
-
Enables serde_cbor
- serde_derive dep_serde? log-tracing? net-http-request? service-discovery? service-framework-axum? with_serde?
-
Enables serde_derive
- serde_json did-sld? log-tracing? log-tracing-deeplog? net-http-request? service-discovery? service-framework-axum? storage-json-ext? storage-web? with_json?
-
Enables serde_json
- serde_lexpr
-
Enables serde-lexpr
- serde_pickle
-
Enables serde-pickle
- serde_qs
-
Enables serde_qs
- serde_xml_rs
-
Enables serde-xml-rs
- serde_yaml storage-yaml-ext?
-
Enables serde_yaml
- sha2 net-signature?
-
Enables sha2
- sys_info log-tracing-deeplog?
-
Enables sys-info
- spin error-tracer? error-type-registry? net-http-request? net-http-request-chaining? rails-ext? storage-io? template? time?
-
Enables spin
- tokio service-discovery? service-framework-axum?
-
Enables tokio
- tracing log? storage-io?
-
Enables tracing
- uniffi
-
Enables uniffi
- uniffi_macros
-
Enables uniffi_macros
- tracing_subscriber log?
-
Enables tracing-subscriber
- with_serde log-tracing-bunyan? log-tracing-deeplog? = dep_serde, serde_derive
-
Feature Extensions
- with_json = serde_json
-
Affects
gearbox::serde.json
… - collections collections-const-hash-map? collections-hash-map? collections-simple-linked-list? collections-vec-deque? = std
-
Main Feature Flags
CollectionsAffects
gearbox::collections
… - collections-all = collections-const-hash-map, collections-hash-map, collections-simple-linked-list, collections-vec-deque
- collections-const-hash-map collections-all? = collections, hashbrown
-
Affects
collections::const_hash_map
… - collections-hash-map collections-all? error-type-registry? log-tracing? net-http-request-chaining? = collections, hashbrown
-
Affects
collections::hash_map
… - collections-simple-linked-list collections-all? = collections
-
Affects
collections::simple_linked_list
… - collections-vec-deque collections-all? = collections
-
Affects
collections::vec_deque
… - common common-boxed-future? common-ips? common-process? common-try-default? = std
-
Common
Affects
gearbox::common
… - common-all = common-try-default
- common-try-default common-all? storage? = common
-
Affects
common::try_default
… - common-boxed-future net-http-request? = common
-
Affects
common::boxed_future
… - common-ips service-discovery? service-framework-axum? = common, if_addrs
-
Affects
common::ips
… - common-process log? = common
-
Affects
common::process
… - did did-sld? = std
-
Affects
gearbox::did
… - did-all = did-sld
- did-sld did-all? = dep_serde, did, regex, serde_json
-
Affects
did::sld
… - error error-all? error-tracer? error-type-registry? = std
-
Error Tracers
Affects
gearbox::error
… - error-all = error, error-tracer, error-tracer-macros, error-type-registry
- error-tracer error-all? error-tracer-macros? net-http-request? net-http-request-chaining? rails-ext? storage? template? time? = erased_serde, error, spin
-
Affects
error::tracer
… - error-tracer-macros error-all? = error-tracer
- error-type-registry error-all? = collections-hash-map, error, spin
-
Affects
error::type_registry
… - log log-tracing? log-tracing-macros? = common-process, libc, net-hostname, std, tracing, tracing_subscriber
-
Log
> TODO: std and libc needs removal from the implementationAffects
gearbox::log
… - log-tracing log-tracing-all? log-tracing-bunyan? log-tracing-deeplog? log-tracing-macros? log-tracing-syslog? = collections-hash-map, dep_serde, hashbrown, log, log-tracing-syslog, serde_derive, serde_json, time
-
> TODO: log has a bad dep of log-tracing-syslog this needs to be moved out and or changed
Enables fmt and std of tracing-subscriber
Affects
log::tracing
… - log-tracing-all service-discovery? service-framework-axum? = log-tracing, log-tracing-bunyan, log-tracing-deeplog, log-tracing-macros, log-tracing-syslog
- log-tracing-bunyan log-tracing-all? = log-tracing, with_serde
-
Affects
entity::bunyan
,formatter::bunyan
… - log-tracing-deeplog log-tracing-all? = futures, log-tracing, pnet, serde_json, sync-rw-arc, sys_info, toml, with_serde
-
Enables tokio
Affects
entity::deeplog
,formatter::deeplog
… - log-tracing-syslog log-tracing? log-tracing-all? = log-tracing
-
Affects
entity::syslog
,formatter::syslog
… - log-tracing-macros log-tracing-all? log-tracing-macros-common? log-tracing-macros-syslog? storage-io? = log, log-tracing, log-tracing-macros-common
-
Affects
macros::common
… - log-tracing-macros-syslog = log-tracing-macros
-
Affects
macros::syslog
… - log-tracing-macros-common log-tracing-macros? = log-tracing-macros
- net net-hostname? net-http? net-signature? = std
-
Net
Affects
gearbox::net
… - net-hostname log? = libc, net
-
Affects
net::hostname
… - net-http net-http-dyno-request? net-http-request? net-http-request-chaining? = net
-
Affects
net::http
… - net-signature = base64, bs58, dep_serde, hashbrown, hmac, net, sha2, time
-
Affects
request_builder::Builder
,net::signature
… - net-http-dyno-request = net-http
-
Affects
http::dyno_request
… - net-http-request net-http-request-chaining? = bytes, common-boxed-future, dep_serde, error-tracer, hashbrown, net-http, rails-ext, reqwest, serde_derive, serde_json, spin, url
-
Affects
http::request
… - net-http-request-chaining = collections-hash-map, dep_serde, error-tracer, net-http, net-http-request, regex, spin, template, time
-
Affects
http::request_chaining
… - path path-dirs? = std
-
Path - common paths in systems
Affects
gearbox::path
… - path-dirs storage-io? = path
-
Enables dirs
These are mainly used for "dirs" feature
- rails rails-ext? rails-tracing? = std
-
Rails - Railway oriented Programming extenstions
Affects
gearbox::rails
… - rails-ext net-http-request? storage? storage-io? time? = error-tracer, rails, spin
-
Affects
rails::ext
… - rails-tracing storage-io? = rails
-
Affects
rails::tracing
… - service service-discovery? service-framework-axum? = std
-
Services - Builders and more
Affects
gearbox::service
… - service-discovery service-framework-axum? = common-ips, dep_serde, log-tracing-all, serde_derive, serde_json, service, time, tokio
-
Affects
deeplog::DeepLogFormatter.discovery_config
,service::discovery
… - service-framework-axum = axum, common-ips, dep_serde, hyper, hyper_util, log-tracing-all, num_cpus, serde_derive, serde_json, service, service-discovery, sync-rw-arc, time, tokio, tower-http
-
Affects
gearbox::service.axum
,framework::axum
,service::framework
… - storage storage-all? storage-io? storage-json-ext? storage-web? storage-yaml-ext? = common-try-default, dep_serde, error-tracer, rails-ext, std
-
Storage
Affects
gearbox::storage
… - storage-all = storage, storage-io, storage-web
- storage-web storage-all? = dep_serde, serde_json, storage
-
Affects
storage::web
… - storage-io storage-all? = dep_serde, libc, log-tracing-macros, path-dirs, rails-ext, rails-tracing, spin, std, storage, storage-json-ext, storage-yaml-ext, tracing
-
Affects
storage::io
… - storage-yaml-ext storage-io? = serde_yaml, storage
- storage-json-ext storage-io? = serde_json, storage
- sync sync-rw-arc? = std
-
Sync/Async support blocks
Affects
gearbox::sync
… - sync-rw-arc log-tracing-deeplog? service-framework-axum? = sync
-
Affects
sync::rw_arc
… - template net-http-request-chaining? = error-tracer, hashbrown, regex, spin, std, time
-
Template Engine
Affects
gearbox::template
… - time log-tracing? net-http-request-chaining? net-signature? service-discovery? service-framework-axum? template? time-serde? = error-tracer, rails-ext, spin, std
-
Time
Affects
gearbox::time
… - time-serde = dep_serde, time
Features from optional dependencies
In crates that don't use the dep:
syntax, optional dependencies automatically become Cargo features. These features may have been created by mistake, and this functionality may be removed in the future.
- libc log? net-hostname? storage-io?
- tracing-log implicit feature
-
Enables tracing-log
tracing-log:
Provides compatibility between
tracing
and thelog
crate - num-traits implicit feature
-
Enables num-traits
num-traits:
Numeric traits for generic mathematics
- url net-http-request?
- web-sys implicit feature
-
Enables web-sys
These are mainly used for "web" feature
- js-sys implicit feature
- apache-avro implicit feature
-
Enables apache-avro ^0.16.0
Serde Dynamic implementation
- toml log-tracing-deeplog?
- regex did-sld? net-http-request-chaining? template?
- clap implicit feature
-
Enables clap
clap:
A simple to use, efficient, and full-featured Command Line Argument Parser
- chrono implicit feature
-
Enables chrono
chrono:
Date and time library for Rust
- lazy_static implicit feature
-
Enables lazy_static
lazy_static:
A macro for declaring lazily evaluated statics in Rust
- nix implicit feature
-
Enables nix
nix:
Rust friendly bindings to *nix APIs
- tower-http service-framework-axum?
-
Enables tower-http ^0.5
- tower-service implicit feature
-
Enables tower-service
tower-service:
Trait representing an asynchronous, request / response based, client or server
- num_cpus service-framework-axum?
- wasm-bindgen wasm32 implicit feature
-
Enables wasm-bindgen
wasm-bindgen:
Easy support for interacting between JS and Rust
- wasm-bindgen-futures wasm32 implicit feature
-
Enables wasm-bindgen-futures
wasm-bindgen-futures:
Bridging the gap between Rust Futures and JavaScript Promises