Python client for Oxia, a scalable metadata store and coordination system
Project description
Oxia Python Client SDK
Python client for Oxia, a scalable metadata store and coordination system for large-scale distributed systems.
Getting Started | Documentation | Discussion
Requirements
- Python 3.10+
Installation
pip install oxia
Quick start
import oxia
with oxia.Client('localhost:6648') as client:
# Put a value
key, version = client.put('/my-key', b'my-value')
# Get it back
key, value, version = client.get('/my-key')
# Conditional put (only if version matches)
key, version = client.put('/my-key', b'new-value',
expected_version_id=version.version_id())
# List keys in a range
keys = client.list('/my-', '/my-~')
# Delete
client.delete('/my-key')
Features
- CRUD operations:
put,get,delete,delete_range - Range queries:
list(keys only),range_scan(keys + values) - Conditional writes: version-based optimistic concurrency via
expected_version_id - Ephemeral records: session-scoped keys that are removed when the client disconnects
- Notifications: subscribe to real-time change events
- Sequential keys: server-assigned monotonic key suffixes
- Secondary indexes: additional lookup keys on records
- Partition routing: co-locate related records on the same shard via
partition_key - Floor/Ceiling/Lower/Higher lookups: nearest-key queries
For the full API reference, see the documentation.
Contributing
Please star the project if you like it!
Feel free to open an issue or start a discussion. See CONTRIBUTING.md for development setup and guidelines.
License
Copyright 2025 The Oxia Authors
Licensed under the Apache License, Version 2.0: http://www.apache.org/licenses/LICENSE-2.0
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 oxia-0.2.1.tar.gz.
File metadata
- Download URL: oxia-0.2.1.tar.gz
- Upload date:
- Size: 81.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
77ec10ce4a96e129866feb000d84dc74a32af2e6512c5417c57c5ccdac8022ef
|
|
| MD5 |
1f5778b13dd4f9cbe03a6c79fce3001b
|
|
| BLAKE2b-256 |
9ff63c1d27466a69e69a953f76192d894644f57fc552744ea1ef723d01863925
|
File details
Details for the file oxia-0.2.1-py3-none-any.whl.
File metadata
- Download URL: oxia-0.2.1-py3-none-any.whl
- Upload date:
- Size: 36.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
219ca7ecc506a902465bd57c28a012ee45d7eab70220ab35046384b9300908d6
|
|
| MD5 |
89d23f7bec1d20062b37c00636fa09a3
|
|
| BLAKE2b-256 |
73b4d8f0e76b6cef1abfceb9d645e6cefd27273173bbd059d5f819376db6b500
|