Streaming S3-compatible object store for large binary artifacts (Path-2)
Project description
3tears-object-store
Streaming S3-compatible object store for large binary artifacts (Path-2 of the scope-and-objects design): pcaps, DB dumps, rendered reports, evidence.
Implements the dependency-free ObjectStore protocol from
3tears-media-contracts over any S3-compatible backend (MinIO in dev, S3 in
prod). Streaming by contract — uploads move through one part-size buffer
at a time via S3 multipart; downloads yield the response body in chunks — so
a multi-GB object never has to sit whole in a pod's memory.
Keys follow the platform's locked scope-first scheme (keys.build_object_key):
<customer_id>/<scope>/<category>/<YYYY>/<MM>/<DD>/<object_id>/<filename>
Lifted from metallm's S3Service and made streaming.
Dependency note
aioboto3 (the async S3 client) tracks aiobotocore, which caps botocore
below the latest sync-boto3 release. Adding this package therefore pins the
workspace's botocore/boto3 lower and transitively pulls wrapt and lxml
down a major version. That cap is inherent to using an async S3 client and is
accepted — the full 3tears suite is green under the resolved set. If any
package comes to rely on wrapt>=2 or lxml>=6 behavior, add an explicit
lower bound at the workspace level so resolution fails loudly instead of
silently regressing.
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 3tears_object_store-0.14.0.tar.gz.
File metadata
- Download URL: 3tears_object_store-0.14.0.tar.gz
- Upload date:
- Size: 13.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.1 {"installer":{"name":"uv","version":"0.11.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
29180c6d42efe3adf57c170f32309756d0006e657b129dfc96048ae40f28b7dd
|
|
| MD5 |
c23db5093c182bcb99e03847918e8ee7
|
|
| BLAKE2b-256 |
0813e42fdd951d4b705257150658e4c16d2dc56bc1819e14f25672e0539f7bc9
|
File details
Details for the file 3tears_object_store-0.14.0-py3-none-any.whl.
File metadata
- Download URL: 3tears_object_store-0.14.0-py3-none-any.whl
- Upload date:
- Size: 8.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.1 {"installer":{"name":"uv","version":"0.11.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c3e88b9f06c71c5fec8d50694a97b38a46af9c2011bb68b2d0519ee3ddbbdecd
|
|
| MD5 |
a84628a0b2bade0fa65f9c95d272bf37
|
|
| BLAKE2b-256 |
59152ba0cf91d9e0a28ee2adfceaea14c7bfbec81201d5b0c58d17906ae6265f
|