Skip to main content

Python SDK for the Volt scientific computing platform

Project description

voltsdk

Python SDK for the Volt scientific computing platform.

Installation

pip install voltsdk

pip will select the platform wheel that matches the host operating system and architecture. VoltSDK wheels bundle the native Volt runtime under voltsdk/native/{bin,lib,share}, so users do not need to install the shipped TBB, hwloc, and related shared libraries manually for the bundled binaries.

Supported wheel targets published by CI:

  • linux_x86_64 built on ubuntu-24.04
  • macosx_14_0_arm64
  • win_amd64

Linux wheels target the Ubuntu 24.04 build baseline. Older glibc releases are not supported; document that requirement in downstream READMEs when you ship Linux-native workflows.

Optional extras:

pip install "voltsdk[visualization]"
pip install "voltsdk[notebook]"

Authenticated client

from voltsdk import VoltClient

client = VoltClient(
    secret_key="your-secret-key",
    base_url="https://api.example.com",
)

Plugin hub

VoltSDK ships a Hugging Face-style plugin hub. Plugins live in a static registry; bundles are downloaded and cached on first use:

from voltsdk import PluginHub

hub = PluginHub()                          # default registry, ~/.cache/volt
print(hub.list())                          # marketplace listing

ptm = hub.get("polyhedral-template-matching")
result = ptm.run(
    "frame.dump",
    output_base="out/frame",
    crystalStructure="FCC",
    rmsd=0.1,
)
print(result.artifact("annotatedDump"))

The same hub is exposed on an authenticated client via client.plugins.

When a plugin subprocess is launched, VoltSDK also prepends its bundled native runtime directories to PATH, LD_LIBRARY_PATH, and DYLD_LIBRARY_PATH. This lets downloaded plugin bundles reuse the libraries installed with the wheel.

Configuration

Variable Purpose Default
VOLT_PLUGIN_REGISTRY Registry base URL https://server.voltcloud.dev/plugin-registry
VOLT_CACHE_DIR Local plugin cache $XDG_CACHE_HOME/volt

Pinning versions

hub.get("opendxa", "1.0.0")     # explicit version
hub["opendxa@1.0.0"]            # shorthand
hub.install("opendxa")          # pre-download the latest bundle
hub.uninstall("opendxa")        # drop every cached version

Registry layout

The hub expects a static index plus per-platform bundles:

<registry>/index.json
<registry>/<key>/<version>/<os>-<arch>.tar.zst

index.json example:

{
  "plugins": {
    "opendxa": {
      "latest": "1.0.0",
      "versions": {
        "1.0.0": {
          "linux-x86_64": {
            "url": "opendxa/1.0.0/linux-x86_64.tar.zst",
            "sha256": "..."
          }
        }
      }
    }
  }
}

Each bundle is a flat archive containing plugin.json, bin/<binary>, and optional lib/ and scripts/ directories.

Project details


Download files

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

Source Distribution

voltsdk-2.2.1.tar.gz (29.5 kB view details)

Uploaded Source

Built Distribution

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

voltsdk-2.2.1-py3-none-any.whl (39.2 kB view details)

Uploaded Python 3

File details

Details for the file voltsdk-2.2.1.tar.gz.

File metadata

  • Download URL: voltsdk-2.2.1.tar.gz
  • Upload date:
  • Size: 29.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.4

File hashes

Hashes for voltsdk-2.2.1.tar.gz
Algorithm Hash digest
SHA256 2bbd8246cb4deddbabb2e1c7e0d1b905051ba2dac5cc6b91fae84d8052cbe964
MD5 9b80d3847b60754765bb865baaf8ca4c
BLAKE2b-256 4bf528ba2fba7d43965cafcd8b9722b7aadd61c2f656eda1dcaed8d805e8c2b7

See more details on using hashes here.

File details

Details for the file voltsdk-2.2.1-py3-none-any.whl.

File metadata

  • Download URL: voltsdk-2.2.1-py3-none-any.whl
  • Upload date:
  • Size: 39.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.4

File hashes

Hashes for voltsdk-2.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e7c2b1963cdf12f45fbc3a41b8422a3beb81cc0acc54e2f4cc44d0d1d72f6b0c
MD5 b1e107ac94b96b4fa3be6cde2454517e
BLAKE2b-256 e02f56a9d88a352c33d74cf8781ffccdf56ddabfcc5572544da554e36fc53715

See more details on using hashes here.

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