Skip to main content

Instant tools. Instant builds. One command.

Project description

soldr

Instant tools. Instant builds. One command.

soldr = crgx + zccache in a single tool.

In soldering, flux removes the oxide so the joint bonds clean. soldr removes the friction between you and your build: no waiting for tool installs, no waiting for recompilation.

The point of soldr is not to invent some brand-new primitive. The point is to combine the pieces that already work into one tool that people can actually rely on every day.

zccache is already excellent. crgx already proved the value of instant Rust tooling. soldr turns those into one front door:

  • get the right Rust tool for the job
  • get the right Windows ABI without thinking about it
  • get transparent compilation caching without separate setup

That is the same reason uv is compelling. uv did not win because it invented packaging, virtual environments, or Python installation. It won because it made the whole workflow feel like one tool instead of a pile of separate ones.

soldr aims for the same outcome in the Rust toolchain world.

Current release line:

  • 0.5.x is the secure front-door and tool-fetch release line
  • 1.0.0-rc is reserved for the point where the zccache-style compilation cache is actually integrated

Why soldr exists

On Windows, the real problem is not "how do I cache builds?" or "how do I download a tool binary?" in isolation.

The real problem is that the execution path is messy:

  • the wrong cargo can win on PATH
  • the wrong Windows target can get selected
  • GNU can leak in where MSVC should have been used
  • users end up debugging their toolchain instead of shipping code

soldr exists to make that path boring.

When you run soldr, the tool should do the obvious thing:

  • pick MSVC on Windows by default
  • fetch the tool you asked for
  • cache it locally
  • prepare the front door that will eventually carry zccache-style transparent rustc caching without manual wrapper setup

If soldr solves that one problem well, it becomes a super tool: the command you reach for first, because it makes the rest of the stack behave.

  • Tool acquisition (the crgx half): Need maturin, cargo-dylint, or any crate binary? soldr fetches a pre-built binary from GitHub Releases in seconds. No cargo install from source. Cached locally for instant reuse.

  • Compilation caching (the zccache half): planned, but not integrated yet in the current 0.5.x line.

# Build through soldr's front door:
soldr cargo build --release
soldr cargo test

# Fetch and run any Rust tool instantly:
soldr maturin build --release
soldr cargo-dylint check
soldr rustfmt src/main.rs

How it works

soldr cargo build --release
  +-- resolve the real cargo binary
  +-- wire soldr's wrapper path internally
  +-- delegate to cargo with your existing flags

soldr maturin build --release
  +-- maturin cached? --> run instantly
  +-- not cached?     --> download pre-built binary (2s) --> run

Design goals

  • One obvious command: Fetch tools, pick the right Windows target, and eventually enable build caching through the same entry point.
  • Front-door builds: soldr cargo ... is the primary build UX.
  • Invisible caching: the wrapper plumbing exists now; actual compilation cache behavior is still future work.
  • One cache: Tools and compilation artifacts in a single ~/.soldr/ directory.
  • Pre-built first: Download a pre-built binary before compiling from source. Fall back gracefully.
  • Cargo-compatible: soldr preserves normal cargo arguments instead of forcing a separate workflow.
  • Cross-platform: Linux, macOS, Windows (x86_64 + aarch64).
  • MSVC by default on Windows: Always targets x86_64-pc-windows-msvc (or aarch64-pc-windows-msvc) unless the active project explicitly selects another target in .cargo/config.toml, .cargo/config, or rust-toolchain.toml. MSVC links against vcruntime140.dll which ships with every modern Windows install. The GNU target requires shipping libgcc_s_seh-1.dll and libwinpthread-1.dll with every binary, which is extra baggage for no benefit. This matches the Rust ecosystem default: rustup, cargo-binstall, and nearly all published release binaries target MSVC. crgx gets this wrong by baking the target at compile time, causing it to look for GNU binaries when compiled under MSYS2.

Architecture

soldr/
|-- crates/
|   |-- soldr-core/      # Shared types, config, cache directory layout
|   |-- soldr-fetch/     # Binary resolution + download (the crgx half)
|   |-- soldr-cache/     # Compilation caching (the zccache half)
|   `-- soldr-cli/       # CLI entry point + daemon
|-- src/soldr/           # Python package (maturin bin bindings)
`-- tests/
Crate Role
soldr-core Cache paths, config, version types
soldr-fetch Resolve crate binaries from binstall metadata, GitHub Releases, QuickInstall. Download, verify, cache.
soldr-cache Reserved for the future compilation-cache implementation; not yet integrated in the current release line.
soldr-cli Mode detection, cargo front door, built-in commands (status, clean, config), tool fetch dispatch.

Prior art

Built on lessons from:

Security And Verification

License

BSD-3-Clause

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

soldr-0.5.0-py3-none-win_arm64.whl (2.3 MB view details)

Uploaded Python 3Windows ARM64

soldr-0.5.0-py3-none-win_amd64.whl (2.4 MB view details)

Uploaded Python 3Windows x86-64

soldr-0.5.0-py3-none-manylinux_2_39_x86_64.whl (2.8 MB view details)

Uploaded Python 3manylinux: glibc 2.39+ x86-64

soldr-0.5.0-py3-none-manylinux_2_39_aarch64.whl (2.7 MB view details)

Uploaded Python 3manylinux: glibc 2.39+ ARM64

soldr-0.5.0-py3-none-macosx_11_0_arm64.whl (2.5 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

soldr-0.5.0-py3-none-macosx_10_12_x86_64.whl (2.6 MB view details)

Uploaded Python 3macOS 10.12+ x86-64

File details

Details for the file soldr-0.5.0-py3-none-win_arm64.whl.

File metadata

  • Download URL: soldr-0.5.0-py3-none-win_arm64.whl
  • Upload date:
  • Size: 2.3 MB
  • Tags: Python 3, Windows ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for soldr-0.5.0-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 e26d97bffa18a2afc954af5216a513bc0b785ee6e098a180f665efeb62131ea6
MD5 94398f847242e5a809b87c5d7a1a1807
BLAKE2b-256 2474c63bb54a6ef89e95d957711aa08cdae05408d66a1875a85a5eef75bc6d68

See more details on using hashes here.

Provenance

The following attestation bundles were made for soldr-0.5.0-py3-none-win_arm64.whl:

Publisher: release.yml on zackees/soldr

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file soldr-0.5.0-py3-none-win_amd64.whl.

File metadata

  • Download URL: soldr-0.5.0-py3-none-win_amd64.whl
  • Upload date:
  • Size: 2.4 MB
  • Tags: Python 3, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for soldr-0.5.0-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 6b0c789d43c317ddea18db0dcb88a45c5cad679f0bf1b4a5b606408187dc4ab2
MD5 c67fdaf47c5bd04f0f075271b45163a4
BLAKE2b-256 e3d81dc02e4f96fc21b85cc4b8e5010c0280830557f24b43d8969f74f3c0776b

See more details on using hashes here.

Provenance

The following attestation bundles were made for soldr-0.5.0-py3-none-win_amd64.whl:

Publisher: release.yml on zackees/soldr

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file soldr-0.5.0-py3-none-manylinux_2_39_x86_64.whl.

File metadata

File hashes

Hashes for soldr-0.5.0-py3-none-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 36ce0c5da357ac1aa9977bf134d8ace86248697da42365a52ea05679b12648f8
MD5 a57d02c1edf955a819d0a6f63724258f
BLAKE2b-256 ffb82e61a686b7b184bd4415df7c9b1c784efd0e336c9f6b689ec0b4a48ee846

See more details on using hashes here.

Provenance

The following attestation bundles were made for soldr-0.5.0-py3-none-manylinux_2_39_x86_64.whl:

Publisher: release.yml on zackees/soldr

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file soldr-0.5.0-py3-none-manylinux_2_39_aarch64.whl.

File metadata

File hashes

Hashes for soldr-0.5.0-py3-none-manylinux_2_39_aarch64.whl
Algorithm Hash digest
SHA256 3582eda6366b10da646c551942107f87e5c2e70c12ef67f8690485707ba6b2fb
MD5 95a5a223962a2c8a24a409c9b0b3dc0a
BLAKE2b-256 5798c7ee1559cb0bb5ca60e3677133c63da134d1e482d52c9d46407964de4153

See more details on using hashes here.

Provenance

The following attestation bundles were made for soldr-0.5.0-py3-none-manylinux_2_39_aarch64.whl:

Publisher: release.yml on zackees/soldr

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file soldr-0.5.0-py3-none-macosx_11_0_arm64.whl.

File metadata

  • Download URL: soldr-0.5.0-py3-none-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 2.5 MB
  • Tags: Python 3, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for soldr-0.5.0-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1040d735d9576187dce1ca231847ff96f425ad887db42714bb371d3c4e367b19
MD5 50faedb4ad62de79fa7ade18fae53c6b
BLAKE2b-256 69e4c51823b357bbf3dae8336cfeda3f0fa983ea0b5790a2464278f64faa8123

See more details on using hashes here.

Provenance

The following attestation bundles were made for soldr-0.5.0-py3-none-macosx_11_0_arm64.whl:

Publisher: release.yml on zackees/soldr

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file soldr-0.5.0-py3-none-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for soldr-0.5.0-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 6f4fb03616e2133fd06bd47eb4c2355650e592b8e88913661a81ffc9d20b4ddb
MD5 a601713bb2c9922a6510cd3fde6a7b66
BLAKE2b-256 7dfc1cd0f6a8149c1e94c7febe31c1e94523c76c052b11ee3158b4596fb3c2e2

See more details on using hashes here.

Provenance

The following attestation bundles were made for soldr-0.5.0-py3-none-macosx_10_12_x86_64.whl:

Publisher: release.yml on zackees/soldr

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page