Skip to main content

virtualshell

PyPI version Python versions OS License Build

High-performance PowerShell automation for Python. Run PowerShell commands with millisecond latency, persistent sessions, async execution, and a cross-platform zero-copy bridge — without juggling subprocesses.

Full documentation lives in the wiki. This README covers what the library is, why it matters, and how to get started.

What is virtualshell?

virtualshell keeps one PowerShell host warm behind a thin Python wrapper powered by a C++ engine. Instead of spawning pwsh for every command, you get:

  • a persistent PowerShell session
  • ~2–4 ms execution latency
  • async and batch execution
  • structured, predictable results
  • optional zero-copy shared memory transfers (cross-platform)
  • live object proxies with generated type stubs

Typical use cases include Python orchestration layers, long-running agents, CI/test harnesses, and automation tooling that must be fast and reliable.

Why use it?

  • Persistent session — reuse loaded modules, $env:*, functions, and global state across calls.
  • Low latency — avoid the ~200 ms cost of subprocess.run("pwsh") per command.
  • Async and batching — schedule concurrent commands with timeouts and callbacks.
  • Structured results — every call returns stdout, stderr, exit code, timing, and success state.
  • Predictable failures — typed Python exceptions for timeouts, missing PowerShell, and execution errors.
  • Type-safe automation — generate Python Protocol stubs from PowerShell objects and control them through live proxies.

Requirements

  • Python 3.11 – 3.14
  • PowerShell 7 (pwsh) on PATH, unless an explicit path is passed in the configuration

Installation

Pre-built wheels are published for Windows (x64), Linux (x86_64 / aarch64), and macOS (universal2):

pip install virtualshell

No compiler or build tools are required when installing wheels.

Building from source (optional)

Building locally requires CMake and a C++17 compiler. On Windows, install Visual Studio Build Tools with the Desktop development with C++ workload and run the build from an x64 Native Tools Command Prompt (64-bit only).

pip install virtualshell --no-binary virtualshell

Or directly from GitHub:

pip install "git+https://github.com/Chamoswor/virtualshell"

Verify the installation:

python -c "import virtualshell; print('virtualshell OK')"

Quick start

from virtualshell import Shell

with Shell(timeout_seconds=5) as sh:
    print(sh.run("Write-Output 'Hello from pwsh'").out.strip())

    sh.run("function Inc { $global:i++; $global:i }")
    print(sh.run("Inc").out.strip())  # 1
    print(sh.run("Inc").out.strip())  # 2

Async execution

from virtualshell import Shell
import asyncio

async def main():
    shell = Shell().start()
    fut = shell.run_async("Get-Date")
    res = await asyncio.wrap_future(fut)
    print(res.out.strip())
    shell.stop()

asyncio.run(main())

Running scripts with arguments

from pathlib import Path
from virtualshell import Shell

shell = Shell().start()

shell.script(Path("test.ps1"), args=["alpha", "42"])
shell.script(Path("test.ps1"), args={"Name": "Alice", "Count": "3"})

shell.stop()

All execution APIs support per-call timeouts, raise_on_error, and callbacks.

Advanced features

Zero-copy bridge

High-throughput shared-memory transfer between Python and PowerShell, suited for large binary blobs, files, or high-frequency data exchange. The payload moves through a file-backed memory map shared between Python (mmap) and PowerShell (.NET MemoryMappedFile) — no native DLL required, on Windows, Linux, and macOS.

from virtualshell import Shell, ZeroCopyBridge

with Shell(timeout_seconds=60) as shell:
    with ZeroCopyBridge(shell) as bridge:
        data = b"x" * 1_000_000
        bridge.send(data, "buf")
        print(shell.run("$buf.Length").out)

Measured throughput is roughly 145–560 MB/s depending on payload size and direction — about 10–40× faster than piping the same data through stdout as base64. See the wiki for the full guide, including PSObject round-trips between Python and PowerShell.

PowerShell object proxies

Control live .NET/PowerShell objects from Python. Scalars convert to native Python types, byte arrays travel through the zero-copy bridge, and complex values come back as sub-proxies.

with Shell() as sh:
    writer = sh.make_proxy("", "System.IO.StreamWriter('test.txt')")
    writer.WriteLine("Hello")
    writer.Close()

Pair proxies with generate_psobject, which produces typed Protocol stubs (including overloads) for IDE completion and static analysis:

sh.generate_psobject("System.Text.StringBuilder()", Path("StringBuilder.py"))
from StringBuilder import StringBuilder

sb = sh.make_proxy(StringBuilder)   # created and typed in one call
sb.Append("Hello")

See the make_proxy and generate_psobject pages in the wiki.

Core API overview

Method Description
Shell.run(...) Execute a command synchronously
Shell.run_async(...) Schedule async execution
Shell.script(...) Run .ps1 files
Shell.save_session() Persist a session snapshot
Shell.make_proxy(...) Create a live PS object proxy
Shell.generate_psobject(...) Generate Python Protocols
Shell.zero_copy_bridge() Shared per-shell bridge

Configuration example

Shell(
    powershell_path="C:/Program Files/PowerShell/7/pwsh.exe",
    working_directory="C:/automation",
    environment={"MY_FLAG": "1"},
    timeout_seconds=10,
    auto_restart_on_timeout=True,
    initial_commands=[
        "$ErrorActionPreference = 'Stop'",
        "$ProgressPreference = 'SilentlyContinue'",
    ],
)

Performance

Measured with the bundled benchmarks (bench/vs_bench.py, bench/zcb_bench.py) on Windows 11, Python 3.14, PowerShell 7:

Command execution

  • ~0.45 s shell startup
  • ~3.5–4.0 ms per sequential command (~280 cmd/s)
  • ~3.2 ms per command in batches (~310 cmd/s)
  • ~2.3 ms async latency
  • ~620 cmd/s aggregate across 4 parallel shells
  • ~0.35 s session save

Zero-copy bridge (best of 3 runs per size)

Transfer 1 MB 8 MB 32 MB
PowerShell → Python (bytes) 145 MB/s 385 MB/s 413 MB/s
PowerShell → Python (memoryview) 145 MB/s 454 MB/s 563 MB/s
Python → PowerShell (send) 178 MB/s 369 MB/s 293 MB/s

A 4 KB send+receive round trip takes ~8 ms (p50). For reference, moving the same 1 MB payload through stdout as base64 runs at ~14 MB/s, so the bridge is roughly 10–40× faster for bulk data.

Full methodology and charts live in the wiki.

Learn more

Metadata

Release files for virtualshell 1.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for virtualshell 1.2.0
File Size Uploaded
virtualshell-1.2.0.tar.gz 141.7 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for virtualshell 1.2.0
File
virtualshell-1.2.0-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details
virtualshell-1.2.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details
virtualshell-1.2.0-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.14 CPython 3.14 Linux glibc 2.26+ ARM64, Linux glibc 2.28+ ARM64 Details
virtualshell-1.2.0-cp314-cp314-macosx_11_0_universal2.whl CPython 3.14 CPython 3.14 macOS 11.0+ universal2 (ARM64, x86-64) Details
virtualshell-1.2.0-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
virtualshell-1.2.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details
virtualshell-1.2.0-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.26+ ARM64, Linux glibc 2.28+ ARM64 Details
virtualshell-1.2.0-cp313-cp313-macosx_11_0_universal2.whl CPython 3.13 CPython 3.13 macOS 11.0+ universal2 (ARM64, x86-64) Details
virtualshell-1.2.0-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
virtualshell-1.2.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details
virtualshell-1.2.0-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ ARM64, Linux glibc 2.26+ ARM64 Details
virtualshell-1.2.0-cp312-cp312-macosx_11_0_universal2.whl CPython 3.12 CPython 3.12 macOS 11.0+ universal2 (ARM64, x86-64) Details
virtualshell-1.2.0-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
virtualshell-1.2.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details
virtualshell-1.2.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ ARM64, Linux glibc 2.26+ ARM64 Details
virtualshell-1.2.0-cp311-cp311-macosx_11_0_universal2.whl CPython 3.11 CPython 3.11 macOS 11.0+ universal2 (ARM64, x86-64) Details

Total release size: 6.6 MB

Release files / virtualshell-1.2.0.tar.gz

Download URL virtualshell-1.2.0.tar.gz
Size 141.7 kB
Tags Source
SHA-256 checksum
How to use checksums
655ef9992f1060278474765aeab10c9c031089b9044ee75d4a739fe0a51a1fa5
BLAKE2b-256 checksum
How to use checksums
2efec4072d2f4691eefe3749cb42686645b78989d725485d972a952f246e6c88
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 20, 2026.

Transparency log

Release files / virtualshell-1.2.0-cp314-cp314-win_amd64.whl

Download URL virtualshell-1.2.0-cp314-cp314-win_amd64.whl
Size 498.2 kB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
40e74b0f24c2d4d75feb965c3ea3f2ab4e840a78762f30bc3d22fde78e7b7cb1
BLAKE2b-256 checksum
How to use checksums
2084669aa70c44d5f508b282f1df2fdf7b4751cd62c478acc770dd9e6ca859f2
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 20, 2026.

Transparency log

Release files / virtualshell-1.2.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL virtualshell-1.2.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 365.7 kB
Tags CPython 3.14 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
80dfe70cb00b9645d3e3a7ddd81bcdc3d3648417bf67264bba275dc266cf652a
BLAKE2b-256 checksum
How to use checksums
d599f1c707afd1b015189c9349ea520bd9a272c356b4bc77248c1ebcc241a8ae
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 20, 2026.

Transparency log

Release files / virtualshell-1.2.0-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL virtualshell-1.2.0-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 330.7 kB
Tags CPython 3.14 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
d09c54a5d267977564ab11e4bad4178b1eb58ef51f395dcac47c2500a3a2bfe1
BLAKE2b-256 checksum
How to use checksums
eb53d0998f5afd1688c42ef800fec3399699792c9f4699258874ecd6958ae3ba
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 20, 2026.

Transparency log

Release files / virtualshell-1.2.0-cp314-cp314-macosx_11_0_universal2.whl

Download URL virtualshell-1.2.0-cp314-cp314-macosx_11_0_universal2.whl
Size 429.9 kB
Tags CPython 3.14 macOS 11.0+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
770788fce7aa1ca967dfd969c5fee32af5891b6818bc5c500b26f2cb9e91318b
BLAKE2b-256 checksum
How to use checksums
666ffec3b04f95f7f3d7c6604a3689ad84fdb5481ba058c7a9e3583b6bf5b587
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 20, 2026.

Transparency log

Release files / virtualshell-1.2.0-cp313-cp313-win_amd64.whl

Download URL virtualshell-1.2.0-cp313-cp313-win_amd64.whl
Size 484.0 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
d9f2e21139d169939e615fa6b8d165fa32760130ffbf68020b636712e20ffdae
BLAKE2b-256 checksum
How to use checksums
4d986feef793177973b8bcbcc71210246c02ef3f80103b1ec2ce08e29343754e
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 20, 2026.

Transparency log

Release files / virtualshell-1.2.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL virtualshell-1.2.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 365.5 kB
Tags CPython 3.13 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
1d0b4ae587e6ed9ada3047ca882c9019790fbcc2026bb9b1bc34f50b1bb923d3
BLAKE2b-256 checksum
How to use checksums
7a1923b4395b59674a70b4afbd541fd77d157dd2e658a1d8147c0665b4a8c84c
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 20, 2026.

Transparency log

Release files / virtualshell-1.2.0-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL virtualshell-1.2.0-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 330.0 kB
Tags CPython 3.13 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
6709c7c9fd38684486ad087328fdb3454a506507c7fa7bfedb2baa0db359cbcb
BLAKE2b-256 checksum
How to use checksums
2254c9d3f016b542dff327b415728ec0dc598b2ed304ef84cfef33edc1585a2b
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 20, 2026.

Transparency log

Release files / virtualshell-1.2.0-cp313-cp313-macosx_11_0_universal2.whl

Download URL virtualshell-1.2.0-cp313-cp313-macosx_11_0_universal2.whl
Size 429.1 kB
Tags CPython 3.13 macOS 11.0+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
d4f9ee515df67326c5903457a283915e2dfaff841a43d51be1a5d88a1096fe09
BLAKE2b-256 checksum
How to use checksums
664bfc6474c2bf9e01ef63cb14a3d395557058576cdc568d5cd4d96290928d9a
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 20, 2026.

Transparency log

Release files / virtualshell-1.2.0-cp312-cp312-win_amd64.whl

Download URL virtualshell-1.2.0-cp312-cp312-win_amd64.whl
Size 483.9 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
5ba1cab7f353df32a7bdeb94756c0a0a27913dab0ae3cc1596a63019c5bb8628
BLAKE2b-256 checksum
How to use checksums
701d10bf4652b6de9459f005bc408fe4268b3a1cca3fabe5d4b5e3f58eef35a4
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 20, 2026.

Transparency log

Release files / virtualshell-1.2.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL virtualshell-1.2.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 365.5 kB
Tags CPython 3.12 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
a80b2cc5c0697b0ed56f3044ca2654c35947f6dfe6c7156c88d3645160b014d2
BLAKE2b-256 checksum
How to use checksums
4afeb75f29b0f0b1d70e63c64d32dd352ad0c708fdea2a3623dd3a28aa138cf0
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 20, 2026.

Transparency log

Release files / virtualshell-1.2.0-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL virtualshell-1.2.0-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 329.9 kB
Tags CPython 3.12 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
661840d3954d3ae0495933d09af7e2a1248867da170b260d4cdb851559aceabe
BLAKE2b-256 checksum
How to use checksums
4bd3f1dcd0f24df0f9e76c58929a0697f826637fc7080618c950de4db26effdb
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 20, 2026.

Transparency log

Release files / virtualshell-1.2.0-cp312-cp312-macosx_11_0_universal2.whl

Download URL virtualshell-1.2.0-cp312-cp312-macosx_11_0_universal2.whl
Size 429.0 kB
Tags CPython 3.12 macOS 11.0+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
ce9f3eb15c31a34dc5d093f0bc40a6eb19cc4006199646f7f6bc664bc8fe134e
BLAKE2b-256 checksum
How to use checksums
6d1353973347951eed602a9674a8b45618e71c421f06ac82fb73859246ea1596
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 20, 2026.

Transparency log

Release files / virtualshell-1.2.0-cp311-cp311-win_amd64.whl

Download URL virtualshell-1.2.0-cp311-cp311-win_amd64.whl
Size 482.7 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
9d88a06eababa620e6ee99a1121cee726a983bd9f9ace28aec2e7a14c293d337
BLAKE2b-256 checksum
How to use checksums
1de9b6de555efbb4ffa70923764d935ad60c81682a93f6e783f7e89e43ff3cf4
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 20, 2026.

Transparency log

Release files / virtualshell-1.2.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL virtualshell-1.2.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 363.5 kB
Tags CPython 3.11 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
4cac0f4f24100c4409740ae30881ba65feaea76f0c7fb77cdf42385852ac2958
BLAKE2b-256 checksum
How to use checksums
b49df7fe2f6910c5aa38dafa0249b6042a7d960f3daaa0c31d18c8d2eebddee5
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 20, 2026.

Transparency log

Release files / virtualshell-1.2.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL virtualshell-1.2.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 327.8 kB
Tags CPython 3.11 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
8dbc3dd11a5010b71e4c290bc58b6b9a3c706a62cadc32d98bc4fa120d377731
BLAKE2b-256 checksum
How to use checksums
5a2cb4916674b62eba642fc6cf37628fa8196f8035b73f3a9b46ccaf4b93a27f
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 20, 2026.

Transparency log

Release files / virtualshell-1.2.0-cp311-cp311-macosx_11_0_universal2.whl

Download URL virtualshell-1.2.0-cp311-cp311-macosx_11_0_universal2.whl
Size 427.7 kB
Tags CPython 3.11 macOS 11.0+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
d87b60ae01e1d7e265a2a1bb9e9ccd8fd60db974b68407a385982b2e7c04ee6e
BLAKE2b-256 checksum
How to use checksums
4f6233511b09d745c999e5dc5a27548497291408524f286968ae61f624a5f6fa
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 20, 2026.

Transparency log

Release history Release notifications | RSS feed

1.3.0

17 release files

1.2.3

17 release files

1.2.2

17 release files

1.2.1

17 release files

This release

1.2.0 This release

17 release files

1.1.2

25 release files

1.1.1

25 release files

1.1.0

25 release files

1.0.2

25 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page