Skip to main content

Python bindings for the Storage Performance Development Kit (SPDK)

Project description

SPDK Python Bindings and Scripts

PyPI Latest Release PyPI Downloads

Overview

The Storage Performance Development Kit (SPDK) provides a set of tools and libraries for writing high performance, scalable, user-mode storage applications. This directory contains Python bindings and scripts that facilitate interaction with SPDK components.

Installation

Examples below are using UV.

An extremely fast Python package and project manager, written in Rust.

$ uv venv
$ source .venv/bin/activate

Then, you can install spdk from PyPI with:

uv pip install spdk

or install from source with:

git clone https://github.com/spdk/spdk.git
cd spdk
uv pip install python/

Getting Started

From a shell:

spdk-rpc rpc_get_methods

From a Python interpreter:

>>> from spdk.rpc.client import JSONRPCClient

>>> client = JSONRPCClient(server_addr, port)
>>> client.rpc_get_methods()

For more information, see https://spdk.io/doc/jsonrpc.html

Model Context Protocol (MCP)

Install in VS Code

The Model Context Protocol (MCP) lets you build servers that expose data and functionality to LLM applications in a secure, standardized way. Think of it like a web API, but specifically designed for LLM interactions.

MCP servers can:

  • Expose data through Resources (think of these sort of like GET endpoints; they are used to load information into the LLM's context)
  • Provide functionality through Tools (sort of like POST endpoints; they are used to execute code or otherwise produce a side effect)
  • Define interaction patterns through Prompts (reusable templates for LLM interactions)
  • And more!

The SPDK MCP Server is a Model Context Protocol (MCP) server that provides seamless integration with SPDK APIs, enabling advanced automation and interaction capabilities for developers and tools.

$ uv venv
$ source .venv/bin/activate
$ uv pip install spdk[mcp]
or locally
$ uv pip install python/[mcp]

You can install this server in Claude Desktop and interact with it right away by running:

mcp install server.py

Alternatively, you can test it with the MCP Inspector:

mcp dev server.py

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

spdk-26.5.tar.gz (78.5 kB view details)

Uploaded Source

Built Distribution

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

spdk-26.5-py3-none-any.whl (102.3 kB view details)

Uploaded Python 3

File details

Details for the file spdk-26.5.tar.gz.

File metadata

  • Download URL: spdk-26.5.tar.gz
  • Upload date:
  • Size: 78.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for spdk-26.5.tar.gz
Algorithm Hash digest
SHA256 693e14e705524008184186f3ace6e8306e822f1baee97445d37f748571c3b54e
MD5 1ebf2772a16f3e9f6e7dac58266c9a9b
BLAKE2b-256 5893c2b34b1eed3a24fb6a66306d3152c56e7469405f63d72a008d9c7a9fad5c

See more details on using hashes here.

Provenance

The following attestation bundles were made for spdk-26.5.tar.gz:

Publisher: python-publish.yml on spdk/spdk

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file spdk-26.5-py3-none-any.whl.

File metadata

  • Download URL: spdk-26.5-py3-none-any.whl
  • Upload date:
  • Size: 102.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for spdk-26.5-py3-none-any.whl
Algorithm Hash digest
SHA256 0a1151b904644c6b4a7e9dc2ee062c0c3074f484ae3fde2e55e3659075a4f0f8
MD5 14dec1802be83bb3203b5f1d1c7d950a
BLAKE2b-256 c31384fe06a754e6356efe8b75b05f73d52813228f9e314ea6f43732bffe27b5

See more details on using hashes here.

Provenance

The following attestation bundles were made for spdk-26.5-py3-none-any.whl:

Publisher: python-publish.yml on spdk/spdk

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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