Python bindings for the Storage Performance Development Kit (SPDK)
Project description
SPDK Python Bindings and Scripts
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)
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file spdk-26.1.tar.gz.
File metadata
- Download URL: spdk-26.1.tar.gz
- Upload date:
- Size: 77.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3b407ecb4b68ee15ddedb7d3da14f3505a8aa84b5e42b4d908610327ad9aad2f
|
|
| MD5 |
08b11d1507ccd6d8184fe63bf58761be
|
|
| BLAKE2b-256 |
261d9ca7a09266fad061e99b09999ba23909aa0b5fbf662798b958f27797b176
|
Provenance
The following attestation bundles were made for spdk-26.1.tar.gz:
Publisher:
python-publish.yml on spdk/spdk
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
spdk-26.1.tar.gz -
Subject digest:
3b407ecb4b68ee15ddedb7d3da14f3505a8aa84b5e42b4d908610327ad9aad2f - Sigstore transparency entry: 872172299
- Sigstore integration time:
-
Permalink:
spdk/spdk@2ef883ef96e79c3cc16da02f667a7a58c2453f2f -
Branch / Tag:
refs/tags/v26.01 - Owner: https://github.com/spdk
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@2ef883ef96e79c3cc16da02f667a7a58c2453f2f -
Trigger Event:
release
-
Statement type:
File details
Details for the file spdk-26.1-py3-none-any.whl.
File metadata
- Download URL: spdk-26.1-py3-none-any.whl
- Upload date:
- Size: 101.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b6ebd0721cf8c1bd3ae65be200e6be28894493a77225b0b7ae5c7f80fb02ac85
|
|
| MD5 |
16d34aa96135954b3293ca5a3e9ec591
|
|
| BLAKE2b-256 |
3b9182c6caf8ec7cd9ef08a3feb0665587a094a8f6295a3b15cd16d4f74af935
|
Provenance
The following attestation bundles were made for spdk-26.1-py3-none-any.whl:
Publisher:
python-publish.yml on spdk/spdk
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
spdk-26.1-py3-none-any.whl -
Subject digest:
b6ebd0721cf8c1bd3ae65be200e6be28894493a77225b0b7ae5c7f80fb02ac85 - Sigstore transparency entry: 872172300
- Sigstore integration time:
-
Permalink:
spdk/spdk@2ef883ef96e79c3cc16da02f667a7a58c2453f2f -
Branch / Tag:
refs/tags/v26.01 - Owner: https://github.com/spdk
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@2ef883ef96e79c3cc16da02f667a7a58c2453f2f -
Trigger Event:
release
-
Statement type: