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:
endpoint_url: the S3 endpoint, for examplehttp://localhost:8000for lakeFS.region: the region name. The default isus-east-1.profile: a profile name in~/.aws/config.addressing_style:pathorvirtual. The default ispathwhenendpoint_urlis set, because most S3-compatible servers need it.
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.