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


Collections

Affects 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 implementation

Affects 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 the log 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