Official Python SDK for the smplkit platform
Project description
smplkit Python SDK
The official Python SDK for smplkit — simple application infrastructure that just works.
Installation
pip install smplkit-sdk
Requirements
- Python 3.10+
Quick Start
from smplkit import SmplClient
# Option 1: Explicit API key
client = SmplClient(api_key="sk_api_...")
# Option 2: Environment variable (SMPLKIT_API_KEY)
# export SMPLKIT_API_KEY=sk_api_...
client = SmplClient()
# Option 3: Configuration file (~/.smplkit)
# [default]
# api_key = sk_api_...
client = SmplClient()
from smplkit import SmplClient
with SmplClient(api_key="sk_api_...") as client:
# Get a config by key
config = client.config.get(key="user_service")
# List all configs
configs = client.config.list()
# Create a config
new_config = client.config.create(
name="My Service",
key="my_service",
description="Configuration for my service",
values={"timeout": 30, "retries": 3},
)
# Delete a config
client.config.delete(new_config.id)
For async usage:
from smplkit import AsyncSmplClient
async with AsyncSmplClient(api_key="sk_api_...") as client:
config = await client.config.get(key="user_service")
Configuration
The API key is resolved using the following priority:
- Explicit argument: Pass
api_keydirectly to the constructor. - Environment variable: Set
SMPLKIT_API_KEY. - Configuration file: Add
api_keyunder[default]in~/.smplkit:
# ~/.smplkit
[default]
api_key = sk_api_your_key_here
If none of these are set, the SDK raises SmplError with a message listing all three methods.
Error Handling
All SDK errors extend SmplError:
from smplkit import SmplError, SmplNotFoundError
try:
config = client.config.get(key="nonexistent")
except SmplNotFoundError:
print("Config not found")
except SmplError as e:
print(f"SDK error: {e}")
| Exception | Cause |
|---|---|
SmplNotFoundError |
Resource not found |
SmplConflictError |
Conflict (e.g., has children) |
SmplValidationError |
Validation error |
SmplTimeoutError |
Request timed out |
SmplConnectionError |
Network connectivity issue |
SmplError |
Any other SDK error |
Documentation
License
MIT
Project details
Release history Release notifications | RSS feed
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 smplkit_sdk-2.4.29.tar.gz.
File metadata
- Download URL: smplkit_sdk-2.4.29.tar.gz
- Upload date:
- Size: 182.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a61c583294d201be1a49176bbc4abd1d0af1121c8891fb101f474173197737c3
|
|
| MD5 |
102cda3695a7204c4c10e88772341c79
|
|
| BLAKE2b-256 |
c98d341657d8cf02d69e4eb7ef9e2f4dc7bb1c72547f0661950406175ff90fd7
|
Provenance
The following attestation bundles were made for smplkit_sdk-2.4.29.tar.gz:
Publisher:
ci-cd.yml on smplkit/python-sdk
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
smplkit_sdk-2.4.29.tar.gz -
Subject digest:
a61c583294d201be1a49176bbc4abd1d0af1121c8891fb101f474173197737c3 - Sigstore transparency entry: 1278989874
- Sigstore integration time:
-
Permalink:
smplkit/python-sdk@520caa06018222cf7997cf0ed415b27393507b84 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/smplkit
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
ci-cd.yml@520caa06018222cf7997cf0ed415b27393507b84 -
Trigger Event:
push
-
Statement type:
File details
Details for the file smplkit_sdk-2.4.29-py3-none-any.whl.
File metadata
- Download URL: smplkit_sdk-2.4.29-py3-none-any.whl
- Upload date:
- Size: 291.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5ac7b039cf4400de577db4b35b6e7dd1765056c7d9bd70fb3d47dffc8edc72da
|
|
| MD5 |
15e94c4358563d2c0f7892a45e5f7d00
|
|
| BLAKE2b-256 |
7376c714a183cc7770d0c954c9876f82533734bab0ccf7f43f0ade71edf2bb8a
|
Provenance
The following attestation bundles were made for smplkit_sdk-2.4.29-py3-none-any.whl:
Publisher:
ci-cd.yml on smplkit/python-sdk
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
smplkit_sdk-2.4.29-py3-none-any.whl -
Subject digest:
5ac7b039cf4400de577db4b35b6e7dd1765056c7d9bd70fb3d47dffc8edc72da - Sigstore transparency entry: 1278989913
- Sigstore integration time:
-
Permalink:
smplkit/python-sdk@520caa06018222cf7997cf0ed415b27393507b84 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/smplkit
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
ci-cd.yml@520caa06018222cf7997cf0ed415b27393507b84 -
Trigger Event:
push
-
Statement type: