We do this by shoving it into Rust. We believe our python http client is a bit slow. Also bumps minimum rust version to 1.81.0, released last September (over six months ago) To allow for async Rust, includes some adapters between Tokio in Rust and the Twisted reactor in Python.
62 lines
1.4 KiB
TOML
62 lines
1.4 KiB
TOML
[package]
|
|
# We name the package `synapse` so that things like logging have the right
|
|
# logging target.
|
|
name = "synapse"
|
|
|
|
# dummy version. See pyproject.toml for the Synapse's version number.
|
|
version = "0.1.0"
|
|
|
|
edition = "2021"
|
|
rust-version = "1.81.0"
|
|
|
|
[lib]
|
|
name = "synapse"
|
|
# We generate a `cdylib` for Python and a standard `lib` for running
|
|
# tests/benchmarks.
|
|
crate-type = ["lib", "cdylib"]
|
|
|
|
# This is deprecated, see tool.maturin in pyproject.toml.
|
|
# It is left here for compatibilty with maturin < 0.15.
|
|
[package.metadata.maturin]
|
|
# This is where we tell maturin where to place the built library.
|
|
name = "synapse.synapse_rust"
|
|
|
|
[dependencies]
|
|
anyhow = "1.0.63"
|
|
base64 = "0.21.7"
|
|
bytes = "1.6.0"
|
|
headers = "0.4.0"
|
|
http = "1.1.0"
|
|
lazy_static = "1.4.0"
|
|
log = "0.4.17"
|
|
mime = "0.3.17"
|
|
pyo3 = { version = "0.24.2", features = [
|
|
"macros",
|
|
"anyhow",
|
|
"abi3",
|
|
"abi3-py39",
|
|
] }
|
|
pyo3-log = "0.12.3"
|
|
pythonize = "0.24.0"
|
|
regex = "1.6.0"
|
|
sha2 = "0.10.8"
|
|
serde = { version = "1.0.144", features = ["derive"] }
|
|
serde_json = "1.0.85"
|
|
ulid = "1.1.2"
|
|
reqwest = { version = "0.12.15", default-features = false, features = [
|
|
"http2",
|
|
"stream",
|
|
"rustls-tls-native-roots",
|
|
] }
|
|
http-body-util = "0.1.3"
|
|
futures = "0.3.31"
|
|
tokio = { version = "1.44.2", features = ["rt", "rt-multi-thread"] }
|
|
|
|
[features]
|
|
extension-module = ["pyo3/extension-module"]
|
|
default = ["extension-module"]
|
|
|
|
[build-dependencies]
|
|
blake2 = "0.10.4"
|
|
hex = "0.4.3"
|