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
// Copyright (c) 2026, Salesforce, Inc. All rights reserved.
// SPDX-License-Identifier: Apache-2.0 OR MIT
//! Download and install the `hyperd` executable from Tableau's Hyper C++
//! API release packages.
//!
//! The crate ships both a CLI binary (`hyperd-bootstrap`) and a small
//! library. The library is blocking (no async runtime required) and has
//! no dependency on `tokio`, so it can be called from build scripts,
//! `postinstall` hooks, or any sync Rust code.
//!
//! # Quick start
//!
//! ```no_run
//! use hyperdb_bootstrap::{install, InstallOptions};
//!
//! let installed = install(InstallOptions::default()).unwrap();
//! println!("hyperd is at {}", installed.binary_path.display());
//! ```
//!
//! See [`InstallOptions`] and [`VersionSource`] for how to override the
//! destination, pin a specific release, load metadata from an external
//! TOML file, or scrape the latest release from the public releases page.
/// HTTP (via `curl`) download of release archives + SHA-256 verification.
/// Error types returned by the crate.
/// ZIP archive extraction of the `hyperd` binary and its shared libraries.
/// High-level `install` entry point and its configuration types.
/// Supported host platforms (macOS arm64/x86_64, Linux x86_64, Windows x86_64).
/// Pinned-release metadata loaded from `hyperd-version.toml`.
/// Best-effort scraping of the public releases page to discover the latest
/// version when no pin is supplied.
/// URL construction for Tableau's public download endpoint.
/// Reachability probes that HEAD each platform URL of a pinned release.
pub use Error;
pub use ;
pub use Platform;
pub use PinnedRelease;
pub use ;