Skip to main content

datus-s3-plugin

A Datus plugin for browsing and moving S3 data from datus s3 ...ls/stat/cat/head, cp/sync/mv/rm, presigned URLs, and S3 Select (SQL over CSV/JSON/Parquet). Backed by boto3.

pip install datus-s3-plugin

Requires datus-agent >= 0.3.8 — the system-prompt template uses the config_mutable render-context variable (older versions skip the whole prompt section).

Configuration

Profiles live under agent.plugins.s3.<profile> in Datus' agent.yml:

agent:
  plugins:
    s3:
      prod:
        default: true
        region: us-east-1
        bucket: my-data-lake        # optional default bucket
        kms_key_id: arn:aws:kms:...:key/abc   # optional SSE-KMS on writes
        endpoint_url: http://minio:9000       # optional (MinIO/S3-compatible)
        # credentials: standard AWS chain, or profile / keys / role_arn

Commands

Command Purpose
ls [uri] [-r] list objects (or buckets when no URI)
stat <uri> object metadata (HEAD)
cat <uri> / head <uri> print contents / first lines
presign <uri> [--method GET|PUT] presigned URL
select <uri> --sql ... --format csv|json|parquet S3 Select
cp / sync / mv move objects (local↔S3, S3→S3)
rm <uri> [-r] [-y] delete (prompts unless -y)
buckets list / location <bucket> bucket info
datus s3 ls s3://my-lake/events/ -r
datus s3 select s3://my-lake/events/day.csv --format csv --header --sql "select count(*) from s3object"
datus s3 cp ./out.parquet s3://my-lake/exports/
datus s3 rm s3://my-lake/tmp/ -r -y

Exit codes

0 success · 1 runtime/API error · 2 usage (also: rm without -y when not interactive) · 3 config error.

Development

uv run --package datus-s3-plugin pytest datus-s3-plugin

Never imports datus; declares the plugin contract in datus-plugin.yml and registers the s3 entry point in datus.plugins. Shared boto3 plumbing lives in datus-aws-common. Bundled skills: s3 and s3-setup.

Agent bash permissions

Read/list/preview/select/presign run everywhere; cp/sync/mv are routine (confirmed under normal, auto under auto); rm always requires confirmation. User rules in agent.yml always win.

Download files

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

Source Distribution

datus_s3_plugin-0.2.0.tar.gz (16.9 kB view details)

Uploaded Source

Built Distribution

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

datus_s3_plugin-0.2.0-py3-none-any.whl (15.4 kB view details)

Uploaded Python 3

File details

Details for the file datus_s3_plugin-0.2.0.tar.gz.

File metadata

  • Download URL: datus_s3_plugin-0.2.0.tar.gz
  • Upload date:
  • Size: 16.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.10

File hashes

Hashes for datus_s3_plugin-0.2.0.tar.gz
Algorithm Hash digest
SHA256 20874749b72fae1363785918a823129c9d2bda0f2d302b3401bc79303f619ef2
MD5 1479772a6e5f6cb51c3ea95eb4ae15fd
BLAKE2b-256 066266149150f8c20b4d32786433f3d76c2d67954b09eb5ae262bab163f87c1d

See more details on using hashes here.

File details

Details for the file datus_s3_plugin-0.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for datus_s3_plugin-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 cee9b6f9b06ceb2fe76d26ef296c6cdc42d52ca3cc8a356347b0420f14895945
MD5 fbe5a4e55768dfbda9c79498fc82c1ce
BLAKE2b-256 52aece71d66d13f2c1dee411d004b1dc774867f2b32b308b5d470fa85200895d

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