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

Alibaba OSS is supported through its S3-compatible endpoint with compatibility: aliyun-oss, signature_version: s3v4, and addressing_style: virtual. AWS-only S3 Select and SSE-KMS are intentionally disabled in this mode.

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.

Metadata

Release files for datus-s3-plugin 0.2.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for datus-s3-plugin 0.2.1
File Size Uploaded Provenance
datus_s3_plugin-0.2.1.tar.gz 17.9 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for datus-s3-plugin 0.2.1
File Interpreter ABI Platform
datus_s3_plugin-0.2.1-py3-none-any.whl Python 3 none any Details

Total release size: 34.2 kB

Release files / datus_s3_plugin-0.2.1.tar.gz

Download URL datus_s3_plugin-0.2.1.tar.gz
Size 17.9 kB
Tags Source
SHA-256 checksum
How to use checksums
f42b022bc4c785c27ef9554c174d078f9eca496693733c611847df21a32fdd7b
BLAKE2b-256 checksum
How to use checksums
15e5173911b2ccfb2a345cd9ff81790fdc8e93c55b5d0660bfdbb3020fc2d253
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.10

Release files / datus_s3_plugin-0.2.1-py3-none-any.whl

Download URL datus_s3_plugin-0.2.1-py3-none-any.whl
Size 16.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
5acfbd1c973bda04a9cf0ce6e2fcc0ceaa0173cf8ff449dca07f2fb00b05dd7a
BLAKE2b-256 checksum
How to use checksums
fa652532244bddd7c2bf7104b4655533fd677bd2f72b733d04493ccc7383254c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.10

Security for datus-s3-plugin 0.2.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.2.1 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page