teloxide/crates/teloxide-core/Cargo.toml

136 lines
3.5 KiB
TOML

[package]
name = "teloxide-core"
version = "0.10.1"
description = "Core part of the `teloxide` library - telegram bot API client"
rust-version.workspace = true
edition.workspace = true
license.workspace = true
homepage.workspace = true
repository.workspace = true
documentation = "https://docs.rs/teloxide-core/"
readme = "README.md"
keywords = ["teloxide", "telegram", "telegram-bot", "telegram-bot-api", "bot"]
categories = ["api-bindings", "asynchronous"]
[features]
# NB: When adding features here, don't forget to update teloxide's Cargo.toml
default = ["native-tls"]
rustls = ["reqwest/rustls-tls"]
rustls-native-roots = ["reqwest/rustls-tls-native-roots"]
native-tls = ["reqwest/native-tls"]
# Features which require nightly compiler.
#
# Currently the only used compiler feature is feature(type_alias_impl_trait)
# which allow implementing `Future`s without boxing.
nightly = []
# Throttling bot adaptor
throttle = ["vecrem"]
# Trace bot adaptor
trace_adaptor = []
# Erased bot adaptor
erased = []
# CacheMe bot adaptor
cache_me = []
# All features except nightly and tls-related
full = ["throttle", "trace_adaptor", "erased", "cache_me"]
[dependencies]
futures = "0.3.5"
tokio = { version = "1.39", features = ["fs", "io-util"] }
tokio-util = { version = "0.7.0", features = ["codec"] }
pin-project = "1.0.12"
bytes = "1.0.0"
reqwest = { version = "0.12.7", features = [
"json",
"stream",
"multipart",
], default-features = false }
url = { version = "2", features = ["serde"] }
log = "0.4"
serde = { version = "1.0.114", features = ["derive"] }
serde_json = "1.0.55"
serde_with = "1.5.2"
uuid = { version = "1.1.0", features = ["v4"] } # for attaching input files
derive_more = "0.99.9"
mime = "0.3.16"
thiserror = "1.0.20"
once_cell = "1.5.0"
takecell = "0.1"
take_mut = "0.2"
rc-box = "1.1.1"
chrono = { version = "0.4.32", default-features = false }
either = "1.6.1"
bitflags = { version = "1.2" }
vecrem = { version = "0.1", optional = true }
[dev-dependencies]
pretty_env_logger = "0.5"
tokio = { version = "1.8.0", features = [
"fs",
"macros",
"macros",
"rt-multi-thread",
] }
cool_asserts = "2.0.3"
xshell = "0.2"
ron = "0.8.1"
indexmap = { version = "1.9", features = ["serde-1"] }
aho-corasick = "0.7"
itertools = "0.10"
pretty_assertions = "1.4.0"
[package.metadata.docs.rs]
features = ["full", "nightly", "tokio/macros", "tokio/rt-multi-thread"]
rustdoc-args = ["--cfg", "docsrs", "-Znormalize-docs"]
# https://github.com/rust-lang/rust/issues/88791
cargo-args = ["-Zunstable-options", "-Zrustdoc-scrape-examples"]
[package.metadata.release]
tag-prefix = "core-"
enable-features = ["full"]
pre-release-replacements = [
{ file = "README.md", search = "teloxide-core = \"[^\"]+\"", replace = "teloxide-core = \"{{version}}\"" },
{ file = "src/lib.rs", search = "teloxide-core = \"[^\"]+\"", replace = "teloxide-core = \"{{version}}\"" },
{ file = "CHANGELOG.md", search = "## unreleased", replace = "## unreleased\n\n## {{version}} - {{date}}", exactly = 1 },
]
[lints.rust]
unexpected_cfgs = { level = "warn", check-cfg = ['cfg(dep_docsrs)'] }
[[example]]
name = "self_info"
required-features = ["tokio/macros", "tokio/rt-multi-thread"]
# This is required due to some stuff with dev-dependencies,
# backwards compatability and cargo:
# https://doc.rust-lang.org/nightly/cargo/reference/unstable.html#scrape-examples
doc-scrape-examples = true
[[example]]
name = "erased"
required-features = [
"tokio/macros",
"tokio/rt-multi-thread",
"erased",
"trace_adaptor",
]