provcat.stores.s3

S3 and S3-compatible storage: s3://bucket/key.

The same driver serves AWS S3, MinIO and the lakeFS S3 gateway. For lakeFS the bucket is the repository and the first key segment is the branch or commit, so lakefs://repo/main/path reads path on branch main.

Options, all optional:

Credentials come from the usual AWS places: the environment, the profile, or an instance role. Do not put keys in the provcat configuration.

The version of a file is its ETag. The ETag recorded is the one that came with the downloaded bytes, so the record matches the file even if the object changed between stat and download. ObjectStore in objects.py holds the rest.