libp2p 0.54.1

Peer-to-peer networking library
Documentation
[dependencies.bytes]
version = "1"

[dependencies.either]
version = "1.9.0"

[dependencies.futures]
version = "0.3.30"

[dependencies.futures-timer]
version = "3.0.2"

[dependencies.getrandom]
version = "0.2.3"

[dependencies.libp2p-allow-block-list]
version = "0.4.0"

[dependencies.libp2p-autonat]
optional = true
version = "0.13.0"

[dependencies.libp2p-connection-limits]
version = "0.4.0"

[dependencies.libp2p-core]
version = "0.42.0"

[dependencies.libp2p-dcutr]
optional = true
version = "0.12.0"

[dependencies.libp2p-floodsub]
optional = true
version = "0.45.0"

[dependencies.libp2p-gossipsub]
optional = true
version = "0.47.0"

[dependencies.libp2p-identify]
optional = true
version = "0.45.0"

[dependencies.libp2p-identity]
features = ["rand"]
version = "0.2.9"

[dependencies.libp2p-kad]
optional = true
version = "0.46.1"

[dependencies.libp2p-metrics]
optional = true
version = "0.15.0"

[dependencies.libp2p-noise]
optional = true
version = "0.45.0"

[dependencies.libp2p-ping]
optional = true
version = "0.45.0"

[dependencies.libp2p-plaintext]
optional = true
version = "0.42.0"

[dependencies.libp2p-pnet]
optional = true
version = "0.25.0"

[dependencies.libp2p-relay]
optional = true
version = "0.18.0"

[dependencies.libp2p-rendezvous]
optional = true
version = "0.15.0"

[dependencies.libp2p-request-response]
optional = true
version = "0.27.0"

[dependencies.libp2p-swarm]
version = "0.45.1"

[dependencies.libp2p-websocket-websys]
optional = true
version = "0.4.0"

[dependencies.libp2p-webtransport-websys]
optional = true
version = "0.4.0"

[dependencies.libp2p-yamux]
optional = true
version = "0.46.0"

[dependencies.multiaddr]
version = "0.18.1"

[dependencies.pin-project]
version = "1.0.0"

[dependencies.rw-stream-sink]
version = "0.4.0"

[dependencies.thiserror]
version = "1.0"

[dev-dependencies.async-std]
features = ["attributes"]
version = "1.6.2"

[dev-dependencies.async-trait]
version = "0.1"

[dev-dependencies.clap]
features = ["derive"]
version = "4.1.6"

[dev-dependencies.libp2p-mplex]
version = "0.42.0"

[dev-dependencies.libp2p-noise]
version = "0.45.0"

[dev-dependencies.libp2p-tcp]
features = ["tokio"]
version = "0.42.0"

[dev-dependencies.tokio]
default-features = false
features = ["io-util", "io-std", "macros", "rt", "rt-multi-thread"]
version = "1.38"

[dev-dependencies.tracing-subscriber]
features = ["env-filter"]
version = "0.3"

[features]
async-std = ["libp2p-swarm/async-std", "libp2p-mdns?/async-io", "libp2p-tcp?/async-io", "libp2p-dns?/async-std", "libp2p-quic?/async-std"]
autonat = ["dep:libp2p-autonat"]
cbor = ["libp2p-request-response?/cbor"]
dcutr = ["dep:libp2p-dcutr", "libp2p-metrics?/dcutr"]
dns = ["dep:libp2p-dns"]
ecdsa = ["libp2p-identity/ecdsa"]
ed25519 = ["libp2p-identity/ed25519"]
floodsub = ["dep:libp2p-floodsub"]
full = ["async-std", "autonat", "cbor", "dcutr", "dns", "ecdsa", "ed25519", "floodsub", "gossipsub", "identify", "json", "kad", "macros", "mdns", "memory-connection-limits", "metrics", "noise", "ping", "plaintext", "pnet", "quic", "relay", "rendezvous", "request-response", "rsa", "secp256k1", "serde", "tcp", "tls", "tokio", "uds", "wasm-bindgen", "websocket-websys", "websocket", "webtransport-websys", "yamux", "upnp"]
gossipsub = ["dep:libp2p-gossipsub", "libp2p-metrics?/gossipsub"]
identify = ["dep:libp2p-identify", "libp2p-metrics?/identify"]
json = ["libp2p-request-response?/json"]
kad = ["dep:libp2p-kad", "libp2p-metrics?/kad"]
macros = ["libp2p-swarm/macros"]
mdns = ["dep:libp2p-mdns"]
memory-connection-limits = ["dep:libp2p-memory-connection-limits"]
metrics = ["dep:libp2p-metrics"]
noise = ["dep:libp2p-noise"]
ping = ["dep:libp2p-ping", "libp2p-metrics?/ping"]
plaintext = ["dep:libp2p-plaintext"]
pnet = ["dep:libp2p-pnet"]
quic = ["dep:libp2p-quic"]
relay = ["dep:libp2p-relay", "libp2p-metrics?/relay"]
rendezvous = ["dep:libp2p-rendezvous"]
request-response = ["dep:libp2p-request-response"]
rsa = ["libp2p-identity/rsa"]
secp256k1 = ["libp2p-identity/secp256k1"]
serde = ["libp2p-core/serde", "libp2p-kad?/serde", "libp2p-gossipsub?/serde"]
tcp = ["dep:libp2p-tcp"]
tls = ["dep:libp2p-tls"]
tokio = ["libp2p-swarm/tokio", "libp2p-mdns?/tokio", "libp2p-tcp?/tokio", "libp2p-dns?/tokio", "libp2p-quic?/tokio", "libp2p-upnp?/tokio"]
uds = ["dep:libp2p-uds"]
upnp = ["dep:libp2p-upnp"]
wasm-bindgen = ["futures-timer/wasm-bindgen", "getrandom/js", "libp2p-swarm/wasm-bindgen", "libp2p-gossipsub?/wasm-bindgen"]
websocket = ["dep:libp2p-websocket"]
websocket-websys = ["dep:libp2p-websocket-websys"]
webtransport-websys = ["dep:libp2p-webtransport-websys"]
yamux = ["dep:libp2p-yamux"]

[lints.clippy]
dbg_macro = "warn"
manual_let_else = "warn"
type_complexity = "allow"
unnecessary_wraps = "warn"
used_underscore_binding = "warn"

[lints.clippy.pedantic]
level = "allow"
priority = -1

[lints.rust]
unreachable_pub = "warn"

[package]
authors = ["Parity Technologies <admin@parity.io>"]
categories = ["network-programming", "asynchronous"]
description = "Peer-to-peer networking library"
edition = "2021"
keywords = ["peer-to-peer", "libp2p", "networking"]
license = "MIT"
name = "libp2p"
repository = "https://github.com/libp2p/rust-libp2p"
rust-version = "1.75.0"
version = "0.54.1"

[package.metadata.docs.rs]
all-features = true

[target.'cfg(not(target_arch = "wasm32"))'.dependencies.libp2p-dns]
optional = true
version = "0.42.0"

[target.'cfg(not(target_arch = "wasm32"))'.dependencies.libp2p-mdns]
optional = true
version = "0.46.0"

[target.'cfg(not(target_arch = "wasm32"))'.dependencies.libp2p-memory-connection-limits]
optional = true
version = "0.3.0"

[target.'cfg(not(target_arch = "wasm32"))'.dependencies.libp2p-quic]
optional = true
version = "0.11.1"

[target.'cfg(not(target_arch = "wasm32"))'.dependencies.libp2p-tcp]
optional = true
version = "0.42.0"

[target.'cfg(not(target_arch = "wasm32"))'.dependencies.libp2p-tls]
optional = true
version = "0.5.0"

[target.'cfg(not(target_arch = "wasm32"))'.dependencies.libp2p-uds]
optional = true
version = "0.41.0"

[target.'cfg(not(target_arch = "wasm32"))'.dependencies.libp2p-upnp]
optional = true
version = "0.3.0"

[target.'cfg(not(target_arch = "wasm32"))'.dependencies.libp2p-websocket]
optional = true
version = "0.44.0"