nostr_sdk/
lib.rs

1// Copyright (c) 2022-2023 Yuki Kishimoto
2// Copyright (c) 2023-2025 Rust Nostr Developers
3// Distributed under the MIT software license
4
5//! High level Nostr client library.
6
7#![forbid(unsafe_code)]
8#![warn(missing_docs)]
9#![warn(rustdoc::bare_urls)]
10#![warn(clippy::large_futures)]
11#![allow(unknown_lints)] // TODO: remove when MSRV >= 1.72.0, required for `clippy::arc_with_non_send_sync`
12#![allow(clippy::arc_with_non_send_sync)]
13#![allow(clippy::mutable_key_type)] // TODO: remove when possible. Needed to suppress false positive for `BTreeSet<Event>`
14#![cfg_attr(feature = "all-nips", doc = include_str!("../README.md"))]
15
16#[doc(hidden)]
17pub use async_utility;
18#[doc(hidden)]
19pub use nostr::{self, *};
20#[doc(hidden)]
21pub use nostr_relay_pool::{
22    self as pool, AtomicRelayServiceFlags, Relay, RelayConnectionStats, RelayOptions, RelayPool,
23    RelayPoolNotification, RelayPoolOptions, RelayServiceFlags, RelayStatus,
24    SubscribeAutoCloseOptions, SubscribeOptions, SyncDirection, SyncOptions,
25};
26
27pub mod client;
28mod gossip;
29pub mod prelude;
30
31pub use self::client::{Client, ClientBuilder, ClientOptions};