-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCargo.toml
More file actions
97 lines (89 loc) · 3.75 KB
/
Copy pathCargo.toml
File metadata and controls
97 lines (89 loc) · 3.75 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
[package]
name = "hotdata-cli"
version = "0.4.2"
edition = "2024"
repository = "https://github.com/hotdata-dev/hotdata-cli"
description = "CLI tool for Hotdata.dev"
homepage = "https://www.hotdata.dev"
publish = false
[[bin]]
name = "hotdata"
path = "src/main.rs"
[dependencies]
# Hotdata Rust SDK. The CLI's sync wrapper (src/sdk.rs) drives this async SDK
# behind a shared multi-thread tokio runtime. The `arrow` feature backs result
# decode; `upload_stream` carries `content_length` (sized body, not chunked, so
# the server can fast-fail an oversized upload — see src/sdk.rs::Api::upload_stream).
hotdata = { version = "0.3.0", features = ["arrow"] }
# Shared multi-thread runtime for the sync wrapper; block_on is called
# concurrently from rayon worker threads (see src/indexes.rs). `sync` backs the
# mpsc channel that bridges the blocking upload reader into an async byte stream.
tokio = { version = "1", features = ["rt-multi-thread", "sync"] }
# CliTokenProvider implements the SDK's #[async_trait] BearerTokenProvider.
async-trait = "0.1"
# Bridge the progress-wrapped blocking upload reader into the async
# `Stream<Item = Result<Bytes, _>>` the SDK's `upload_stream` consumes: a
# spawn_blocking task feeds chunks through a tokio mpsc channel, wrapped as a
# Stream by tokio-stream's ReceiverStream. `futures-core` names the Stream
# bound; `bytes` matches the SDK's chunk type.
bytes = "1"
futures-core = "0.3"
tokio-stream = "0.1"
anstyle = "1.0.13"
clap = { version = "4", features = ["derive"] }
directories = "6"
# Matches the SDK's reqwest 0.13 so the sdk seam can name the `reqwest::Client`
# type backing `Configuration.client`; `blocking` serves the CLI's own
# synchronous paths (PKCE/token mints in jwt.rs + the streaming /files upload).
reqwest = { version = "0.13", features = ["blocking", "json"] }
rayon = "1.10"
serde = { version = "1", features = ["derive"] }
serde_json = "1"
arrow = { version = "55", default-features = false, features = ["ipc"] }
serde_yaml = "0.9"
base64 = "0.22"
crossterm = "0.28"
dotenvy = "0.15"
open = "5"
rand = "0.8"
sha2 = "0.10"
tiny_http = "0.12"
tabled = { version = "0.20", features = ["ansi"] }
clap_complete = "4"
inquire = "0.9.4"
indicatif = "0.17"
nix = { version = "0.29", features = ["fs"] }
flate2 = "1"
tar = "0.4"
semver = "1"
sqlformat = "0.5.0"
self_update = { version = "0.42", default-features = false, features = ["rustls"] }
lzma-rs = "0.3"
tempfile = "3"
[dev-dependencies]
mockito = "1"
[build-dependencies]
toml = "0.8"
# Project distribution config read by build.rs and exposed as compile-time
# env vars (HOTDATA_HOMEBREW_FORMULA, ...) so source files don't hardcode
# values that also live in the README / dist-workspace.toml.
[package.metadata.hotdata]
# Fully-qualified Homebrew install target. Matches the `brew install` line
# in README.md; the trailing segment must match `formula` in dist-workspace.toml.
homebrew_formula = "hotdata-dev/tap/cli"
[package.metadata.release]
pre-release-hook = ["git-cliff", "--unreleased", "--tag", "v{{version}}", "--prepend", "CHANGELOG.md"]
publish = false
pre-release-replacements = [
{ file = "skills/hotdata/SKILL.md", search = "^version: .+", replace = "version: {{version}}", exactly = 1 },
{ file = "skills/hotdata-search/SKILL.md", search = "^version: .+", replace = "version: {{version}}", exactly = 1 },
{ file = "skills/hotdata-analytics/SKILL.md", search = "^version: .+", replace = "version: {{version}}", exactly = 1 },
{ file = "skills/hotdata-geospatial/SKILL.md", search = "^version: .+", replace = "version: {{version}}", exactly = 1 },
{ file = "README.md", search = "version-[0-9.]+-blue", replace = "version-{{version}}-blue", exactly = 1 },
]
# The profile that 'dist' will build with
[profile.dist]
inherits = "release"
lto = "thin"
[package.metadata.dist]
dist = true