ReductStore Client SDK for Python
This package provides an asynchronous HTTP client for interacting with ReductStore in Python.
Features
- Supports the ReductStore HTTP API v1.21
- Bucket management
- API Token management
- Write, read and query data
- Labeling records
- Batching records for read and write operations
- Subscription
- Replication management
Install
To install this package, run the following command:
pip install reduct-py
Example
Here is an example of how to use this package to create a bucket, write data to it, and read data from it:
from reduct import Client, BucketSettings, QuotaType
async def main():
# 1. Create a ReductStore client
async with Client("http://localhost:8383", api_token="my-token") as client:
# 2. Get or create a bucket with 1Gb quota
bucket = await client.create_bucket(
"my-bucket",
BucketSettings(quota_type=QuotaType.FIFO, quota_size=1_000_000_000),
exist_ok=True,
)
# 3. Write some data with timestamps in the 'entry-1' entry
await bucket.write("sensor-1", b"<Blob data>",
timestamp="2024-01-01T10:00:00Z",
labels={"score": 10})
await bucket.write("sensor-2", b"<Blob data>",
timestamp="2024-01-01T10:00:01Z",
labels={"score": 20})
# 4. Query the data by time range and condition
async for record in bucket.query("sensor-*",
start="2024-01-01T10:00:00Z",
stop="2024-01-01T10:00:02Z",
when={"&score": {"$gt": 10}}):
print(f"Record entry: {record.entry}")
print(f"Record timestamp: {record.timestamp}")
print(f"Record size: {record.size}")
print(await record.read_all())
# 5. Run the main function
if __name__ == "__main__":
import asyncio
asyncio.run(main())
For more examples, see the Guides section in the ReductStore documentation.
Supported ReductStore Versions and Backward Compatibility
The library is backward compatible with the previous versions. However, some methods have been deprecated and will be removed in the future releases. Please refer to CHANGELOG.md for more details. The SDK supports the following ReductStore API versions:
- v1.21
- v1.20
- v1.19
It can work with newer and older versions, but it is not guaranteed that all features will work as expected because the API may change and some features may be deprecated or the SDK may not support them yet.
Metadata
Release files for reduct-py 1.21.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| reduct_py-1.21.0-py3-none-any.whl | Python 3 | none | any | Details |
Release files / reduct_py-1.21.0-py3-none-any.whl
| Download URL | reduct_py-1.21.0-py3-none-any.whl |
|---|---|
| Size | 30.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6efe964903191f1a83666f09ae9a0b996bb79f0afd788671b983d61122995a43
|
|
BLAKE2b-256 checksum How to use checksums |
1528e0c2a6f013e7293a1aa9aa326e99c6c88878ed2b24fb297b976ccbde4489
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.13
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 17, 2026.
Transparency log