Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

3tears_object_store-0.14.0.tar.gz (13.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

3tears_object_store-0.14.0-py3-none-any.whl (8.8 kB view details)

Uploaded Python 3

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

Hashes for 3tears_object_store-0.14.0.tar.gz
Algorithm Hash digest
SHA256 29180c6d42efe3adf57c170f32309756d0006e657b129dfc96048ae40f28b7dd
MD5 c23db5093c182bcb99e03847918e8ee7
BLAKE2b-256 0813e42fdd951d4b705257150658e4c16d2dc56bc1819e14f25672e0539f7bc9

See more details on using hashes here.

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

Hashes for 3tears_object_store-0.14.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c3e88b9f06c71c5fec8d50694a97b38a46af9c2011bb68b2d0519ee3ddbbdecd
MD5 a84628a0b2bade0fa65f9c95d272bf37
BLAKE2b-256 59152ba0cf91d9e0a28ee2adfceaea14c7bfbec81201d5b0c58d17906ae6265f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page