Skip to main content

isard

Gencat / IsardVDI from Python — and the isard command line — in one wheel. The client is written in Rust and compiled into the package (the way polars ships), so there is nothing to build and no dependency to resolve.

pip install isard        # or: uv tool install isard   (just the CLI)

The command line

isard login
isard list --hardware
isard up windows                      # start it, arm the SSH key, wait for sshd
isard exec windows -- 'Get-Date'      # stdout is data, the exit code is the guest's
isard stop windows --wait

isard --help lists every command. The same CLI is downloadable as a single binary from https://isard.pages.dev.

The library

import isard

client = isard.connect()        # the CLI's cached session, or a fresh login
for desktop in client.get_desktops(hardware=True):
    print(desktop["name"], desktop["state"], desktop["vcpus"])

desktop = client.get_desktops("windows")[0]
client.start_desktop(desktop["id"])
client.wait_desktop(desktop["id"], "Started")
  • Credentials come from the arguments of connect() / login(), else GENCAT_USERNAME / GENCAT_PASSWORD (a .env file works, and so does ~/.config/isard/.env). The library never prompts.
  • Sessions are shared with the CLI: connect() reuses ~/.config/isard/isardvdi.json and caches a new login there, and a 401 on a cached token logs in again once and retries.
  • Records are plain dicts — Desktop, Template, Media, … are TypedDicts in the type stubs.
  • Errors are isard.IsardError subclasses: HttpError (with status_code), NetworkError, AuthError, BookingRequiredError, IsardTimeoutError, ….
  • Calls block, and release the GIL while they wait — run them in threads freely.

Licensed MIT OR Apache-2.0.

Metadata

Release files for isard 0.4.1

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

Built distributions (wheels)

Table of built distributions (wheels) for isard 0.4.1
File
isard-0.4.1-cp310-abi3-win_amd64.whl CPython 3.10 abi3 Windows x86-64 Details
isard-0.4.1-cp310-abi3-musllinux_1_2_x86_64.whl CPython 3.10 abi3 Linux musl 1.2+ x86-64 Details
isard-0.4.1-cp310-abi3-musllinux_1_2_aarch64.whl CPython 3.10 abi3 Linux musl 1.2+ ARM64 Details
isard-0.4.1-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.10 abi3 Linux glibc 2.17+ x86-64 Details
isard-0.4.1-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.10 abi3 Linux glibc 2.17+ ARM64 Details
isard-0.4.1-cp310-abi3-macosx_11_0_arm64.whl CPython 3.10 abi3 macOS 11.0+ ARM64 Details
isard-0.4.1-cp310-abi3-macosx_10_12_x86_64.whl CPython 3.10 abi3 macOS 10.12+ x86-64 Details

Total release size: 38.7 MB

Release files / isard-0.4.1-cp310-abi3-win_amd64.whl

Download URL isard-0.4.1-cp310-abi3-win_amd64.whl
Size 5.6 MB
Tags CPython 3.10 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
a730e44eaf7fc38328b62d4e1fc6c915229b9ecef828bc16cb408beba6337e92
BLAKE2b-256 checksum
How to use checksums
c0a38e72d5576d30cec4bdc9cc33f9b367c99dde68f36b925620fc982328e452
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.10.7 {"installer":{"name":"uv","version":"0.10.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / isard-0.4.1-cp310-abi3-musllinux_1_2_x86_64.whl

Download URL isard-0.4.1-cp310-abi3-musllinux_1_2_x86_64.whl
Size 5.7 MB
Tags CPython 3.10 Linux musl 1.2+ x86-64 abi3
SHA-256 checksum
How to use checksums
de61e44d9137b603c80493c169f36af1901465574eab0097ca6466d143fca5b1
BLAKE2b-256 checksum
How to use checksums
465a7d2e6927df09600f8bed2357b40622ff1618cfd65d12044eb039793401dc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.10.7 {"installer":{"name":"uv","version":"0.10.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / isard-0.4.1-cp310-abi3-musllinux_1_2_aarch64.whl

Download URL isard-0.4.1-cp310-abi3-musllinux_1_2_aarch64.whl
Size 5.5 MB
Tags CPython 3.10 Linux musl 1.2+ ARM64 abi3
SHA-256 checksum
How to use checksums
1e6fd9570575fdb94221fcc3dbeb4b2b2f373c2d62b7a8f70c75a62d4bf58b90
BLAKE2b-256 checksum
How to use checksums
6615747b3e1e6c76a65ce3deae637c431e82052f1c2d9e4422ee5dd8b9ce097b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.10.7 {"installer":{"name":"uv","version":"0.10.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / isard-0.4.1-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL isard-0.4.1-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 5.7 MB
Tags CPython 3.10 Linux glibc 2.17+ x86-64 abi3
SHA-256 checksum
How to use checksums
8ce9911c4d3728afe54eeb59157b3354067ec02da129671fad63e6d70121c086
BLAKE2b-256 checksum
How to use checksums
fc0b169db9f84e968ce85598555fce601fcd2f4094735668bd70b884e52edef7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.10.7 {"installer":{"name":"uv","version":"0.10.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / isard-0.4.1-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL isard-0.4.1-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 5.5 MB
Tags CPython 3.10 Linux glibc 2.17+ ARM64 abi3
SHA-256 checksum
How to use checksums
6a9595e8d8f48c570ef43bb226fb224a1311b95594148d348443a57a4c331a92
BLAKE2b-256 checksum
How to use checksums
e8ffa2506765bf21e66be5105d323f2c6a6f4987b0e695286756372d24a99585
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.10.7 {"installer":{"name":"uv","version":"0.10.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / isard-0.4.1-cp310-abi3-macosx_11_0_arm64.whl

Download URL isard-0.4.1-cp310-abi3-macosx_11_0_arm64.whl
Size 5.2 MB
Tags CPython 3.10 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
294e36db81860aa5da686e0077ac47958d075da5d46565f8fe37212f83a91ffd
BLAKE2b-256 checksum
How to use checksums
eb0c302062a744394cd0165429c1293e0cf8130968b087beb50b8630664c39b2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.10.7 {"installer":{"name":"uv","version":"0.10.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / isard-0.4.1-cp310-abi3-macosx_10_12_x86_64.whl

Download URL isard-0.4.1-cp310-abi3-macosx_10_12_x86_64.whl
Size 5.5 MB
Tags CPython 3.10 abi3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
2c06587a919a8f0e0595402b95f5ef429b79bb0e48f54b0649ab785477d3cfe8
BLAKE2b-256 checksum
How to use checksums
5183fe8f5c0d6538e2929ecc3c428d93530672745d7853d713db34f571076dba
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.10.7 {"installer":{"name":"uv","version":"0.10.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

0.4.7

7 release files

0.4.6

7 release files

0.4.5

7 release files

0.4.4

7 release files

0.4.3

7 release files

0.4.2

7 release files

This release

0.4.1 This release

7 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