Skip to main content

YAS3 - Yet Another S3 Client

Yas3 is a simple client for managing buckets/storage in S3 (and S3 compatible endpoints) for people who don't want the complexity of learning boto3.

Uploading Objects

You can upload from Object paths:

with yas3.Connection(access_key=ACCESS_KEY, secret_key=SECRET_KEY, endpoint=ENDPOINT) as conn:
    conn.upload('test.txt', 'Object.txt', bucket='bucket')

Or as bytes:

with yas3.Connection(access_key=ACCESS_KEY, secret_key=SECRET_KEY, endpoint=ENDPOINT) as conn:
    conn.upload(Object_bytes, 'Object.txt', bucket='bucket', type='application/octet-stream')

The Object type is guessed using mimetypes, but it can be easily specified using mimetype='text/json'.

Downloading Objects

You can download the Object locally:

with yas3.Connection(access_key=ACCESS_KEY, secret_key=SECRET_KEY, endpoint=ENDPOINT) as conn:
    conn.download('Object.txt', 'test.txt', bucket='bucket')

Or you can get the response directly:

with yas3.Connection(access_key=ACCESS_KEY, secret_key=SECRET_KEY, endpoint=ENDPOINT) as conn:
    bucket_data = conn.get('Object.txt', bucket='bucket')
    print(bucket_data)

Object Operations

Moving Objects:

with yas3.Connection(access_key=ACCESS_KEY, secret_key=SECRET_KEY, endpoint=ENDPOINT) as conn:
    conn.move('Object.txt', 'new_Object.txt', source_bucket='bucket', target_bucket='bucket')

Copying Objects:

with yas3.Connection(access_key=ACCESS_KEY, secret_key=SECRET_KEY, endpoint=ENDPOINT) as conn:
    conn.copy('Object.txt', 'new_Object.txt', source_bucket='bucket', target_bucket='bucket')

Deleting Objects:

with yas3.Connection(access_key=ACCESS_KEY, secret_key=SECRET_KEY, endpoint=ENDPOINT) as conn:
    conn.delete('Object.txt', bucket='bucket')

Listing Objects in a bucket

with yas3.Connection(access_key=ACCESS_KEY, secret_key=SECRET_KEY, endpoint=ENDPOINT) as conn:
    conn.list_Objects(bucket='bucket', prefix=None)

Using it as an object

If you want to create an object, feel free:

conn = yas3.Connection(...)
...
conn.close()

Full Docs

See the full API documentation here.

Metadata

Release files for yas3 1.0

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

Source distribution (sdist)

Source distribution for yas3 1.0
File Size Uploaded Provenance
yas3-1.0.tar.gz 4.5 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for yas3 1.0
File Interpreter ABI Platform
yas3-1.0-py3-none-any.whl Python 3 none any Details

Total release size: 13.6 kB

Release files / yas3-1.0.tar.gz

Download URL yas3-1.0.tar.gz
Size 4.5 kB
Tags Source
SHA-256 checksum
How to use checksums
b2e466638e36711c88f41a47149526cfed53ca12761c266a6d39025e8c177225
BLAKE2b-256 checksum
How to use checksums
583f7278bd7bdebe116382b8b7dea1054c9514e1eda55061f0931844d3fb9ad1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.6.1 requests/2.22.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.8.5

Release files / yas3-1.0-py3-none-any.whl

Download URL yas3-1.0-py3-none-any.whl
Size 9.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
81be4298ba384f5cf9e6467eb0ac80c184d877587fff507035d23cbf45a9c717
BLAKE2b-256 checksum
How to use checksums
2b00f151a31b4095e741b8877ec40326f34bf1b9d0db35974f93418913ccab5a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.6.1 requests/2.22.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.8.5

Security for yas3 1.0

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.

Release history Release notifications | RSS feed

This release

1.0 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