VSH
VSH is one low-latency transactional filesystem simulator with two SDK surfaces:
- native Rust through the
vshcrate, backed byvsh-runtime, - Python through the
vsh-pythonPyPI distribution andvshimport package.
Both surfaces execute the same Rust pipeline. Python is a thin PyO3 binding; it does not contain a fallback simulator or committer.
Special thanks to Artyom Pavlov for generously
donating the vsh crate name to this project.
Monty / bounded Bash → immutable snapshot → Rust VirtualFs → canonical diff → policy
→ dependency revalidation → recoverable commit → verified receipt
VSH is not a host POSIX shell. Monty and the opt-in bounded Bashkit frontend never receive a host filesystem mount, process-spawn, network, or ambient environment capability.
VSH 0.6.0 adds Runtime.open(workspace, bash=BashConfig()) with
runtime.preview(source, language=Language.BASH). Rust uses the optional bash
feature and RuntimeConfig::with_bash. Both use the same canonical diff, policy,
review, stale checking and recoverable commit pipeline. See the
Bash compatibility guide for explicit limitations and
binary-safe examples. Bash is opt-in on Linux/macOS; Monty remains the default
and supports Windows as well.
Python
Install the wheel:
uv add vsh-python
Run one complete transaction. PREVIEW does not apply changes to user workspace files;
the host runtime may still persist bounded transaction/storage artifacts. AUTO
commits only a deterministic native auto-approval.
from vsh import ReceiptDetail, RunMode, RunRequest, Runtime
runtime = Runtime.open("/path/to/workspace")
receipt = runtime.run(
RunRequest(
"""
from pathlib import Path
text = Path('/workspace/input.txt').read_text()
Path('/workspace/output.txt').write_text(text.upper())
len(text)
""",
mode=RunMode.AUTO,
detail=ReceiptDetail.FULL,
)
)
print(receipt.state, receipt.result, receipt.changes)
The GIL is released while snapshotting, executing Monty, generating the diff, evaluating policy, revalidating dependencies, and committing.
Pydantic AI
Install the exact-pinned optional integration:
uv add "vsh-python[pydantic-ai]"
from pydantic_ai import Agent
from vsh.pydantic_ai import VshCapability
capability = VshCapability("/path/to/workspace")
agent = Agent("openai:gpt-5", capabilities=[capability])
The capability contributes the ten native vsh_* filesystem operations plus
vsh_run for atomic multi-step work. Every call executes in a virtual snapshot first.
Policy-controlled changes commit exactly once or return pending_approval; no internal
LLM judge is created implicitly.
For explicitly configured model review, attach a
CommitJudge through
hook_handler=judge.hook_handler. It evaluates canonical changes, before/after
content, effects and intent together. A valid approval can directly commit pending
work; native hard-deny and stale checks remain enforced. Review returns actionable
feedback to the main agent.
For JEV's choice-based review, use DecisionCommitJudge with the explicit
TypeSafeModel provider. The JEV tutorial
walks through preview-only experiments, evidence boundaries, confidence thresholds,
and a commit-capable Pydantic AI agent.
Rust
[dependencies]
vsh = "=0.6.0"
use vsh::{ReceiptDetail, RunMode, RunRequest, Runtime, RuntimeConfig};
fn main() -> Result<(), vsh::VshError> {
let runtime = Runtime::open(RuntimeConfig::new("/path/to/workspace"))?;
let receipt = runtime.run(
RunRequest::new(
"from pathlib import Path\nPath('/workspace/output.txt').write_text('ok')",
)
.with_mode(RunMode::Auto)
.with_detail(ReceiptDetail::Full),
)?;
println!("{:?} {}", receipt.state, receipt.transaction);
Ok(())
}
Production execution expects the matching vsh-monty-worker executable. Python
wheels bundle it; native embedders configure its trusted path through
RuntimeConfig::with_worker_path.
Active-snapshot filesystem functions
VSH injects ten bounded vsh_* functions into each Monty program: read, write,
list, make directory, remove, move, copy, glob, literal search and exact text patch.
They share the same copy-on-write snapshot as pathlib, so earlier virtual writes are
visible to later calls without creating a nested runtime or crossing MCP.
files = vsh_glob('**/*.toml', path='/workspace/services', max_results=101)
assert len(files) <= 100, 'split this migration into reviewed batches'
for path in files:
assert vsh_patch(path, 'timeout = 5', 'timeout = 15', count=1) == 1
{'updated': len(files)}
MCP
Install the optional adapter and start the stdio server:
uv add "vsh-python[mcp]"
vsh serve
The server exposes exactly one normal tool, vsh_run. A multi-file operation is one
Monty program, one Rust transaction, one policy decision, and one Python-to-Rust call.
An auto-approved preview can later be promoted by passing its returned transaction
handle with mode="auto"; VSH revalidates dependencies before any mutation.
Auto-approved previews use a bounded process-local fast path and must be promoted by
the same live Runtime (or MCP server process). The exact artifact is made durable
before reservation and commit. Transactions that require independent approval are
durable immediately and survive a runtime restart.
Performance
On the dated macOS arm64 release-profile matrix, VSH 0.4.0 lowers median latency by roughly 25–30% for 10,000-file discovery/glob and 5,050-entry removal workloads. The whole benchmark harness reports about 19% less CPU time. Small-call variance remains, and sampled process-tree RSS does not establish a repeatable memory reduction. See the protocol, complete results and caveats.
Security and dependency policy
- External Rust crates are exact-pinned in the workspace manifest and lockfile.
- Unknown, abandoned, yanked, Git-only, wildcard, and unreviewed crates are rejected.
cargo auditandcargo denyare release gates.- The hash-locked optional/development Python graph is a strict
pip-auditgate. - Protected paths are denied before names or bytes enter Monty.
- Approval binds the exact program, snapshot, read/write dependencies, canonical diff, policy, execution configuration, and intent.
- The committer is the only host writer and serializes only same-workspace commit revalidation/mutation; independent runtimes do not share a global lock.
- Process-local preview retention is fail-closed and bounded by both artifact count and encoded bytes; it cannot become an unbounded parent-process cache.
See the threat model, guarantees, dependency policy, current performance report, and coverage contract.
Package names
Existing declarations may install vbash==0.6.0 from PyPI or depend on
vbash = "=0.6.0" from crates.io. Both names are implementation-free mirrors of
the exact matching VSH release. New projects should use vsh-python and vsh
directly; Python code continues to write import vsh either way.
Documentation
The detailed Rust, Python, MCP, agent, architecture, security, and benchmark guides are built with the exactly pinned Zensical toolchain:
uv run python scripts/generate_llms_txt.py
uv run zensical serve
uv run zensical build --clean --strict
Start at the VSH documentation. The site includes a
Venus-inspired palette, automatic light/dark selection, and a Copy as Markdown action on
every page. It also publishes a compact LLM index at /llms.txt and the complete
Markdown source corpus at /llms-full.txt, with navigation pages first; CI verifies
both generated files are current.
Development
uv sync --frozen --all-groups --extra mcp
cargo fmt --all -- --check
cargo test --workspace --all-targets --locked
cargo llvm-cov --workspace --all-features --all-targets --locked --summary-only \
--ignore-filename-regex '(vsh-python|vsh-worker)' \
--fail-under-lines 79 --fail-under-functions 70 --fail-under-regions 81
cargo clippy --workspace --all-targets --all-features --locked -- -D warnings
uv run ruff check
uv run ruff format --check
uv run pytest \
tests/test_native_binding.py tests/test_native_runtime.py tests/test_python_surface.py \
--cov=src/vsh --cov-branch --cov-report=term-missing --cov-fail-under=100
cargo run --release --locked -p vsh-runtime --example native_benchmark -- \
--worker "$PWD/.venv/bin/vsh-monty-worker"
License
Apache-2.0
Metadata
Release files for vsh-python 0.6.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| vsh_python-0.6.0.tar.gz | 367.0 kB | Without provenance | Details for vsh_python-0.6.0.tar.gz |
Built distributions (wheels)
Total release size: 195.2 MB
Release files / vsh_python-0.6.0.tar.gz
| Download URL | vsh_python-0.6.0.tar.gz |
|---|---|
| Size | 367.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
af9013664c5ff6228a931ac49296d9471792a7cffb5bc710b4791eba462e262c
|
|
BLAKE2b-256 checksum How to use checksums |
c10144d53284b25b5c5b158b5ebc0a631b0884154a6b8b9550a112a18525439d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.1 {"installer":{"name":"uv","version":"0.12.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / vsh_python-0.6.0-cp314-cp314-win_amd64.whl
| Download URL | vsh_python-0.6.0-cp314-cp314-win_amd64.whl |
|---|---|
| Size | 9.7 MB |
| Tags | CPython 3.14 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
9c125006c4ad784e63c6db504d39a2e2b3cb09ee828ddded770cab84ba59f62c
|
|
BLAKE2b-256 checksum How to use checksums |
052d70b6f98323b35332a72f11e1db43dae7dc36b2a289398ab34682403df08a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.1 {"installer":{"name":"uv","version":"0.12.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / vsh_python-0.6.0-cp314-cp314-manylinux_2_28_x86_64.whl
| Download URL | vsh_python-0.6.0-cp314-cp314-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 10.3 MB |
| Tags | CPython 3.14 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
05089af774cf016d201add41c0373f4d23c9df51b20c43b9fc30fde7d85aa3de
|
|
BLAKE2b-256 checksum How to use checksums |
1c46060e97e288eef50d144ca128de90c25f6c01ed446d4903958d4e3807bab0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.1 {"installer":{"name":"uv","version":"0.12.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / vsh_python-0.6.0-cp314-cp314-manylinux_2_28_aarch64.whl
| Download URL | vsh_python-0.6.0-cp314-cp314-manylinux_2_28_aarch64.whl |
|---|---|
| Size | 9.8 MB |
| Tags | CPython 3.14 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
250cbe78ed57faae5f87036ffe7c83337986d8faedf32a14d6a6af0c3c1a87c1
|
|
BLAKE2b-256 checksum How to use checksums |
dc38d8a6659bec7e3be40932595e8c9523f9018fc1900e5a7b0e75c53f6b081b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.1 {"installer":{"name":"uv","version":"0.12.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / vsh_python-0.6.0-cp314-cp314-macosx_11_0_arm64.whl
| Download URL | vsh_python-0.6.0-cp314-cp314-macosx_11_0_arm64.whl |
|---|---|
| Size | 9.1 MB |
| Tags | CPython 3.14 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
b6cd6cad6d1cb503a5630f27d6b4c82259858accb89401135dcd8e05fe24b4a5
|
|
BLAKE2b-256 checksum How to use checksums |
db9e0798dc322b5c259084ae0d99222c86e5754b8fc78dbb174a844efeba3dfc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.1 {"installer":{"name":"uv","version":"0.12.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / vsh_python-0.6.0-cp314-cp314-macosx_10_12_x86_64.whl
| Download URL | vsh_python-0.6.0-cp314-cp314-macosx_10_12_x86_64.whl |
|---|---|
| Size | 9.9 MB |
| Tags | CPython 3.14 macOS 10.12+ x86-64 |
|
SHA-256 checksum How to use checksums |
63060c0f430cb8c51ba87b42934c254890e460466c2cccecd9618241425913df
|
|
BLAKE2b-256 checksum How to use checksums |
4d021c5e8e3206768f2bc66c372529538a173d2fe07228c9f94f1873973eb021
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.1 {"installer":{"name":"uv","version":"0.12.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / vsh_python-0.6.0-cp313-cp313-win_amd64.whl
| Download URL | vsh_python-0.6.0-cp313-cp313-win_amd64.whl |
|---|---|
| Size | 9.7 MB |
| Tags | CPython 3.13 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
6970a2f95ae419556bdbf41820dff3c5bc7c15b47a7a9cfdc0ac1db92d1a94d4
|
|
BLAKE2b-256 checksum How to use checksums |
0177c71ef36ad99f9da08e5b71f16d3842d7a05ef94e7056f99e8c515eae823f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.1 {"installer":{"name":"uv","version":"0.12.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / vsh_python-0.6.0-cp313-cp313-manylinux_2_28_x86_64.whl
| Download URL | vsh_python-0.6.0-cp313-cp313-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 10.3 MB |
| Tags | CPython 3.13 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
2226187df59b5a1063c0c153411d340026ca0dedf9d4fdc5161886182866a800
|
|
BLAKE2b-256 checksum How to use checksums |
097224873253c9e2457261e7da38091256866a1460ffceb392a087746f15ff3f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.1 {"installer":{"name":"uv","version":"0.12.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / vsh_python-0.6.0-cp313-cp313-manylinux_2_28_aarch64.whl
| Download URL | vsh_python-0.6.0-cp313-cp313-manylinux_2_28_aarch64.whl |
|---|---|
| Size | 9.8 MB |
| Tags | CPython 3.13 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
5269a780de480a80fc630a4062fb5c20a2f447cb1b6d59d12d2fd91884d9c84e
|
|
BLAKE2b-256 checksum How to use checksums |
52d3757b1d5b5dd9e407dce8badc3d6f0d71923bab5a60c5a2cf86bb9062ee95
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.1 {"installer":{"name":"uv","version":"0.12.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / vsh_python-0.6.0-cp313-cp313-macosx_11_0_arm64.whl
| Download URL | vsh_python-0.6.0-cp313-cp313-macosx_11_0_arm64.whl |
|---|---|
| Size | 9.1 MB |
| Tags | CPython 3.13 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
2c9ab08fdb6117341d12fecd8e82dec20cc5ba81c4e2902565e2973dc5039b97
|
|
BLAKE2b-256 checksum How to use checksums |
afbfac99ff9319c662d44b59fb5c96f24eddf92880a35476962dd44cae0c1f71
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.1 {"installer":{"name":"uv","version":"0.12.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / vsh_python-0.6.0-cp313-cp313-macosx_10_12_x86_64.whl
| Download URL | vsh_python-0.6.0-cp313-cp313-macosx_10_12_x86_64.whl |
|---|---|
| Size | 9.9 MB |
| Tags | CPython 3.13 macOS 10.12+ x86-64 |
|
SHA-256 checksum How to use checksums |
28d3aa3a989e9366b4eba9ca1c142a912bad2fb407a5e3b5e1abae88cc246c8a
|
|
BLAKE2b-256 checksum How to use checksums |
69f8ac761118ebb0cabc20468cb7699cc6e09954266edfecc2a5f5f2a4fb8d55
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.1 {"installer":{"name":"uv","version":"0.12.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / vsh_python-0.6.0-cp312-cp312-win_amd64.whl
| Download URL | vsh_python-0.6.0-cp312-cp312-win_amd64.whl |
|---|---|
| Size | 9.7 MB |
| Tags | CPython 3.12 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
4e9731c27b2ae20f833d79c02909396df1aca14be2c22a01db3c70858a9fd20d
|
|
BLAKE2b-256 checksum How to use checksums |
f910544cbd570cf5bd3a6827eace123c71fffee739c740962dd42fdfe973648c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.1 {"installer":{"name":"uv","version":"0.12.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / vsh_python-0.6.0-cp312-cp312-manylinux_2_28_x86_64.whl
| Download URL | vsh_python-0.6.0-cp312-cp312-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 10.3 MB |
| Tags | CPython 3.12 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
08e2f326c41346bb8b9d3b295a3b631210485d87fb6860507841b92f2466aca6
|
|
BLAKE2b-256 checksum How to use checksums |
f5a48b5c5435a670a06792ff2f198a1d9f9afd6183019aea28aa7a605f5cd457
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.1 {"installer":{"name":"uv","version":"0.12.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / vsh_python-0.6.0-cp312-cp312-manylinux_2_28_aarch64.whl
| Download URL | vsh_python-0.6.0-cp312-cp312-manylinux_2_28_aarch64.whl |
|---|---|
| Size | 9.8 MB |
| Tags | CPython 3.12 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
e9eeae6165f5b6310e10356e92a68f1feb0a8efbc2191d4398bbcaf302814aa1
|
|
BLAKE2b-256 checksum How to use checksums |
82d707e9c40a1fcbc2b5534b076f4df1a6a912e08ab422e4d0e390bb834239a8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.1 {"installer":{"name":"uv","version":"0.12.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / vsh_python-0.6.0-cp312-cp312-macosx_11_0_arm64.whl
| Download URL | vsh_python-0.6.0-cp312-cp312-macosx_11_0_arm64.whl |
|---|---|
| Size | 9.1 MB |
| Tags | CPython 3.12 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
df6dcc33b9c61e436d170f2220c502efea30ddb3068c3c5c24dca34e488f8429
|
|
BLAKE2b-256 checksum How to use checksums |
35b4ee943864dca9f1de5ae3626740cb63c5ef8c66023f5e48917ede5a89474a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.1 {"installer":{"name":"uv","version":"0.12.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / vsh_python-0.6.0-cp312-cp312-macosx_10_12_x86_64.whl
| Download URL | vsh_python-0.6.0-cp312-cp312-macosx_10_12_x86_64.whl |
|---|---|
| Size | 9.9 MB |
| Tags | CPython 3.12 macOS 10.12+ x86-64 |
|
SHA-256 checksum How to use checksums |
bb474c5f3dc69b4170bf7b253dae736b9375faeaaa4c6a8922231fe6930c02aa
|
|
BLAKE2b-256 checksum How to use checksums |
c409d48562e21e6bd07bdb43af41bccd67811d075bc9325b70b96e85f9b0b2f8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.1 {"installer":{"name":"uv","version":"0.12.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / vsh_python-0.6.0-cp311-cp311-win_amd64.whl
| Download URL | vsh_python-0.6.0-cp311-cp311-win_amd64.whl |
|---|---|
| Size | 9.7 MB |
| Tags | CPython 3.11 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
f8347bc1fff6c376cb3615b4ae00c82c517cd1e4b3f06e20732f242ce30959d2
|
|
BLAKE2b-256 checksum How to use checksums |
26704e9067aa222b592f529adadd7d319a668471eaa7bc221c9f0af3c0032802
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.1 {"installer":{"name":"uv","version":"0.12.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / vsh_python-0.6.0-cp311-cp311-manylinux_2_28_x86_64.whl
| Download URL | vsh_python-0.6.0-cp311-cp311-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 10.2 MB |
| Tags | CPython 3.11 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
d4f933490a00659c8c23267a96c9fa9fbb047c5fb0a69672999db9e560705b60
|
|
BLAKE2b-256 checksum How to use checksums |
b18cc82bd141df0eccd3485c24e1f03177b946f31d47c8fea42cd9a0266706f9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.1 {"installer":{"name":"uv","version":"0.12.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / vsh_python-0.6.0-cp311-cp311-manylinux_2_28_aarch64.whl
| Download URL | vsh_python-0.6.0-cp311-cp311-manylinux_2_28_aarch64.whl |
|---|---|
| Size | 9.8 MB |
| Tags | CPython 3.11 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
6d4e1c6bc2e1c186fc5cbd8b2e75e786238096ecd3d90001d23749dfa708485a
|
|
BLAKE2b-256 checksum How to use checksums |
9155f6ddce4725fef2096649c3da842b61ff672d7aed0461ef165ee7570f82c8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.1 {"installer":{"name":"uv","version":"0.12.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / vsh_python-0.6.0-cp311-cp311-macosx_11_0_arm64.whl
| Download URL | vsh_python-0.6.0-cp311-cp311-macosx_11_0_arm64.whl |
|---|---|
| Size | 9.1 MB |
| Tags | CPython 3.11 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
6d7cc84d91714196d2e4ab4c9070105df86b74d2ef954f6b5bb4ccdf5b9cee98
|
|
BLAKE2b-256 checksum How to use checksums |
5bab0ae64965acc7aed126d250506ee2b8da8a481811cdd687c6931267ad59b9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.1 {"installer":{"name":"uv","version":"0.12.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / vsh_python-0.6.0-cp311-cp311-macosx_10_12_x86_64.whl
| Download URL | vsh_python-0.6.0-cp311-cp311-macosx_10_12_x86_64.whl |
|---|---|
| Size | 9.9 MB |
| Tags | CPython 3.11 macOS 10.12+ x86-64 |
|
SHA-256 checksum How to use checksums |
6f0424f96dd064ab2da0838616ac07ac50ac72fcdd672888e849f8291553e9f7
|
|
BLAKE2b-256 checksum How to use checksums |
559b9df77f615baef687e638760f50191382a0100f2661b8a019e2ee6ae91416
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.1 {"installer":{"name":"uv","version":"0.12.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Security for vsh-python 0.6.0
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.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.