Victor Rust Workspace
Rust libraries, the standalone edge runtime, and high-performance Python extensions for Victor.
Packages
| Workspace member | Distribution | Purpose |
|---|---|---|
crates/protocol |
crates.io: victor-protocol |
Portable message and tool-call contracts |
crates/state |
crates.io: victor-state |
Conversation and scoped state management |
crates/tools |
crates.io: victor-tools |
Tool schema registry and validation |
crates/edge-runtime |
crates.io: victor-edge |
Standalone edge agent runtime and binary |
crates/python-bindings |
PyPI: victor_native |
Python native extensions; never published to crates.io |
victor-edge depends on the other three Rust crates, so crates.io publication is intentionally
ordered as protocol → state → tools → edge.
Features
- Deduplication (
dedup): Rolling hash-based content deduplication using xxHash3 - Similarity (
similarity): SIMD-optimized cosine similarity for embeddings - JSON Repair (
json_repair): Fast JSON repair with streaming parser - Hashing (
hashing): High-performance signature hashing for loop detection
Performance
| Operation | Python | Rust | Speedup |
|---|---|---|---|
| Block deduplication | 1.0ms | 0.02ms | ~50x |
| Cosine similarity (384d, 100 vectors) | 5.0ms | 1.0ms | ~5x |
| JSON repair | 0.5ms | 0.05ms | ~10x |
| Signature hashing | 0.2ms | 0.02ms | ~10x |
Building
Prerequisites
- Rust 1.70+ (install via rustup)
- Python 3.12+
- maturin (
pip install maturin)
Development Build
cd rust
# Build and install in development mode
maturin develop
# Build with optimizations
maturin develop --release
# Build wheel for distribution
maturin build --release
Install Pre-built Wheel
# From the rust directory after building
pip install target/wheels/victor_native-*.whl
Usage
The native extensions are automatically used when available:
from victor.processing.native import (
rolling_hash_blocks,
batch_cosine_similarity,
repair_json,
compute_signature,
is_native_available,
)
# Check if native extensions are loaded
print(f"Native available: {is_native_available()}")
# Deduplication
blocks = rolling_hash_blocks(content, min_block_length=50)
for hash_str, block, is_duplicate in blocks:
if is_duplicate:
print(f"Duplicate block: {block[:50]}...")
# Similarity
query = [0.1, 0.2, ...] # 384-dim embedding
corpus = [[...], [...], ...] # List of embeddings
similarities = batch_cosine_similarity(query, corpus)
# JSON repair
fixed = repair_json("{'key': 'value', 'active': True}")
# '{"key": "value", "active": true}'
# Signature hashing
sig = compute_signature("read_file", {"path": "/test.py"})
Fallback Behavior
If the native extension is not available (not installed or incompatible platform), the victor.processing.native module automatically falls back to pure Python implementations with equivalent functionality.
from victor.processing.native import is_native_available
if is_native_available():
print("Using Rust implementation (fast)")
else:
print("Using Python fallback (compatible)")
Architecture
rust/
├── Cargo.toml # Workspace configuration and shared version
├── pyproject.toml # maturin build configuration
├── README.md # This file
└── crates/
├── protocol/
├── state/
├── tools/
├── edge-runtime/
└── python-bindings/
Releasing crates.io packages
Rust workspace releases use their own rust-vX.Y.Z tags. Before tagging, update the workspace
version and every internal dependency version in the crate manifests, then run:
cd rust
cargo fmt --all --check
cargo test --workspace --locked
cargo package -p victor-protocol --locked
cargo package -p victor-state --locked
cargo package -p victor-tools --locked
cargo package -p victor-edge --locked
All four package checks resolve the internal Victor dependencies through crates.io, providing the same consumer-side validation used by the release workflow.
Push an annotated rust-vX.Y.Z tag only after the release commit reaches main. The
Publish Rust crates workflow validates that the tag and workspace versions match, then publishes
the dependency chain. It requires the Actions secret CARGO_REGISTRY_TOKEN to be available to the
repository. Re-running the workflow is safe: crate versions already present on crates.io are skipped
and verified. After publication, the workflow installs victor-edge back from crates.io and runs
its version command.
Testing
# Run Rust tests
cargo test
# Run Python integration tests
pytest ../tests/unit/test_native.py -v
License
Apache License 2.0
Release files for victor-native 0.8.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distributions (wheels)
| File | Reset | |||
|---|---|---|---|---|
| victor_native-0.8.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl | CPython 3.13 | CPython 3.13 | Linux glibc 2.17+ x86-64 | Details |
| victor_native-0.8.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl | CPython 3.13 | CPython 3.13 | Linux glibc 2.17+ ARM64 | Details |
| victor_native-0.8.2-cp312-cp312-win_amd64.whl | CPython 3.12 | CPython 3.12 | Windows x86-64 | Details |
| victor_native-0.8.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl | CPython 3.12 | CPython 3.12 | Linux glibc 2.17+ x86-64 | Details |
| victor_native-0.8.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl | CPython 3.12 | CPython 3.12 | Linux glibc 2.17+ ARM64 | Details |
| victor_native-0.8.2-cp312-cp312-macosx_11_0_arm64.whl | CPython 3.12 | CPython 3.12 | macOS 11.0+ ARM64 | Details |
| victor_native-0.8.2-cp312-cp312-macosx_10_12_x86_64.whl | CPython 3.12 | CPython 3.12 | macOS 10.12+ x86-64 | Details |
Total release size: 9.9 MB
Release files / victor_native-0.8.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | victor_native-0.8.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 1.5 MB |
| Tags | CPython 3.13 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
c430e2db85c82b18b7fbe6a0f504a1c59055bab451c80cf59b8c884f1cdc5622
|
|
BLAKE2b-256 checksum How to use checksums |
0d1489aae384e39f9facbb4da45c74cb912293b6368c4920b979be87091d4c4e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 26, 2026.
Transparency logRelease files / victor_native-0.8.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | victor_native-0.8.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 1.4 MB |
| Tags | CPython 3.13 Linux glibc 2.17+ ARM64 |
|
SHA-256 checksum How to use checksums |
c72887d6f3578a92a5556e104d57206d0ff056be7f19742eb5204fe9ab4dc426
|
|
BLAKE2b-256 checksum How to use checksums |
b0686013c1a37a318ccf2d7452dbc7b0de07a58601142bf310912b4b945839ea
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 26, 2026.
Transparency logRelease files / victor_native-0.8.2-cp312-cp312-win_amd64.whl
| Download URL | victor_native-0.8.2-cp312-cp312-win_amd64.whl |
|---|---|
| Size | 1.3 MB |
| Tags | CPython 3.12 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
09bb4940512bc2e6ca8bd8104ad858ec268ac1e74e39707850378a027d8960c8
|
|
BLAKE2b-256 checksum How to use checksums |
0144ff8c5cf0ea0a9d0c47b75afdfb4e34199e6d405e6a2554bbd2b25ab33d1a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 26, 2026.
Transparency logRelease files / victor_native-0.8.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | victor_native-0.8.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 1.5 MB |
| Tags | CPython 3.12 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
4319a6b2347228cf53a2df99d790d73edeca9d9399bca654de0900cdf2e643cd
|
|
BLAKE2b-256 checksum How to use checksums |
cb0c80b52efd57476f88286368ecfa6605ec7161a94b05da5c46caffdf579ad4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 26, 2026.
Transparency logRelease files / victor_native-0.8.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | victor_native-0.8.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 1.4 MB |
| Tags | CPython 3.12 Linux glibc 2.17+ ARM64 |
|
SHA-256 checksum How to use checksums |
b0946e8d81aa856678335b1e77f9bb39d440405804c039175b10ae28377e6d99
|
|
BLAKE2b-256 checksum How to use checksums |
e1655f09688c4cf7e14e17b36613315d8e250334dba845bcb101749af58b3b5c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 26, 2026.
Transparency logRelease files / victor_native-0.8.2-cp312-cp312-macosx_11_0_arm64.whl
| Download URL | victor_native-0.8.2-cp312-cp312-macosx_11_0_arm64.whl |
|---|---|
| Size | 1.3 MB |
| Tags | CPython 3.12 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
3ee2e74f31b83e366a98002b11c77d8d8623d0a4bc9fe9da2652e732e6f7ef5b
|
|
BLAKE2b-256 checksum How to use checksums |
ad67c70366974a21188e325e29897925ab9d2d17d0ba1b675eaafaf006d9466b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 26, 2026.
Transparency logRelease files / victor_native-0.8.2-cp312-cp312-macosx_10_12_x86_64.whl
| Download URL | victor_native-0.8.2-cp312-cp312-macosx_10_12_x86_64.whl |
|---|---|
| Size | 1.4 MB |
| Tags | CPython 3.12 macOS 10.12+ x86-64 |
|
SHA-256 checksum How to use checksums |
af22ebc6ea7cfcebb5d7160472248b776a9151d5c02ec8e1db715278ce105cdb
|
|
BLAKE2b-256 checksum How to use checksums |
7eb48618eb9c3b68a1349e0ce805d26afff698381834efcb746dd51978cee0fa
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 26, 2026.
Transparency log