-
Notifications
You must be signed in to change notification settings - Fork 26
Expand file tree
/
Copy pathCargo.toml
More file actions
148 lines (121 loc) · 4.18 KB
/
Cargo.toml
File metadata and controls
148 lines (121 loc) · 4.18 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
[package]
name = "questdb-rs"
version = "6.1.0"
edition = "2024"
license = "Apache-2.0"
description = "QuestDB Client Library for Rust"
homepage = "https://questdb.com/"
repository = "https://github.com/questdb/c-questdb-client"
keywords = ["questdb", "ilp", "client-library"]
categories = ["database"]
authors = ["Adam Cimarosti <adam@questdb.io>"]
[package.metadata.docs.rs]
features = ["almost-all-features"]
[lib]
name = "questdb"
crate-type = ["lib"]
[dependencies]
libc = "0.2"
socket2 = { version = "0.6.1", optional = true }
dns-lookup = "3.0.0"
base64ct = { version = "1.7", features = ["alloc"] }
ryu = { version = "1.0" }
itoa = "1.0"
aws-lc-rs = { version = "1.13", optional = true }
ring = { version = "0.17.14", optional = true }
rustls-pki-types = "1.12.0"
rustls = { version = "0.23.25", default-features = false, features = ["logging", "std", "tls12"] }
rustls-native-certs = { version = "0.8.2", optional = true }
webpki-roots = { version = "1.0.3", default-features = false, optional = true }
chrono = { version = "0.4.40", optional = true }
# We need to limit the `ureq` version to 3.0.x since we use
# the `ureq::unversioned` module which does not respect semantic versioning.
ureq = { version = "3.1.2, <3.2.0", default-features = false, optional = true }
serde_json = { version = "1", optional = true }
questdb-confstr = "0.1.1"
rand = { version = "0.9.0", optional = true }
ndarray = { version = "0.16", optional = true }
rust_decimal = { version = "1.38.0", optional = true }
bigdecimal = { version = "0.4.8", optional = true }
[target.'cfg(windows)'.dependencies]
winapi = { version = "0.3.9", features = ["ws2def"] }
[build-dependencies]
serde_json = { version = "1.0.108" }
serde = { version = "1.0.193", features = ["derive"] }
slugify = "0.1.0"
indoc = "2"
[dev-dependencies]
socket2 = "0.6.1"
mio = { version = "1", features = ["os-poll", "net"] }
chrono = "0.4.31"
tempfile = "3"
webpki-roots = "1.0.1"
rstest = "0.26.1"
[features]
default = ["sync-sender", "tls-webpki-certs", "ring-crypto"]
## Sync ILP/TCP + ILP/HTTP Sender
sync-sender = ["sync-sender-tcp", "sync-sender-http"]
## Sync ILP/TCP
sync-sender-tcp = ["_sync-sender", "_sender-tcp", "dep:socket2"]
## Sync ILP/HTTP
sync-sender-http = [
"_sync-sender",
"_sender-http",
"dep:ureq",
"dep:serde_json",
"dep:rand",
]
## Allow use OS-provided root TLS certificates
tls-native-certs = ["dep:rustls-native-certs"]
## Allow use of the `webpki-roots` crate to validate TLS certificates.
tls-webpki-certs = ["dep:webpki-roots"]
## Use `aws-lc-rs` as the cryto library.
aws-lc-crypto = ["dep:aws-lc-rs", "rustls/aws-lc-rs"]
## Use `ring` as the crypto library.
ring-crypto = ["dep:ring", "rustls/ring"]
## Allow skipping verification of insecure certificates.
insecure-skip-verify = []
## Enable code-generation in `build.rs` for additional tests.
json_tests = ["bigdecimal"]
## Enable methods to create timestamp objects from chrono::DateTime objects.
chrono_timestamp = ["chrono"]
## Enable serialization of rust_decimal::Decimal in ILP
rust_decimal = ["dep:rust_decimal"]
## Enable serialization of bigdecimal::BigDecimal in ILP
bigdecimal = ["dep:bigdecimal"]
# Hidden derived features, used in code to enable-disable code sections. Don't use directly.
_sender-tcp = []
_sender-http = []
_sync-sender = []
## Enable all cross-compatible features.
## The `aws-lc-crypto` and `ring-crypto` features are mutually exclusive,
## thus compiling with `--all-features` will not work.
## Instead use `--features almost-all-features`.
## This is useful for quickly running `cargo test` or `cargo clippy`.
almost-all-features = [
"sync-sender",
"tls-webpki-certs",
"tls-native-certs",
"ring-crypto",
"insecure-skip-verify",
"json_tests",
"chrono_timestamp",
"ndarray",
"rust_decimal",
"bigdecimal",
]
[[example]]
name = "basic"
required-features = ["chrono_timestamp", "ndarray"]
[[example]]
name = "auth"
required-features = ["chrono_timestamp"]
[[example]]
name = "auth_tls"
required-features = ["chrono_timestamp"]
[[example]]
name = "http"
required-features = ["sync-sender-http", "ndarray", "rust_decimal"]
[[example]]
name = "protocol_version"
required-features = ["sync-sender-http", "ndarray", "bigdecimal"]