Skip to main content

No project description provided

Project description

s3minimal

s3minimal is a Python library designed to simplify interactions with Amazon S3 using the aiobotocore and botocore libraries. It provides asynchronous and synchronous classes for various S3 operations.

Installation

pip install s3minimal

Usage

Initialization

Initialize the S3 class with your AWS credentials, endpoint URL, and region name.

from s3minimal import S3

s3 = S3(
    endpoint_url="https://s3.amazonaws.com",
    region_name="us-east-1",
    aws_access_key_id="your_access_key",
    aws_secret_access_key="your_secret_key",
)

For synchronous operations, you can use the S3Sync class in a similar manner, and all asynchronous methods described below can be called without await.

Set Bucket

s3.set_bucket("your_bucket_name")

Download File

file = await s3.download("path/to/your/file")

Upload File

with open("path/to/your/local/file", "rb") as f:
    file_obj = io.BytesIO(f.read())

await s3.upload("path/to/your/s3/file", file_obj)

Move File

await s3.move("path/to/source/file", "path/to/destination/file")

Generate Presigned URL

url = await s3.generate_presigned_url("path/to/your/file")

Create Bucket

Create a new S3 bucket:

await s3.create_bucket("new_bucket_name")

To set CORS configurations during bucket creation, pass the set_cors parameter as True and provide the cors_configuration:

cors_configuration = {
    "CORSRules": [
        {
            "AllowedHeaders": ["Access-Control-Allow-Origin", "*"],
            "AllowedMethods": ["GET", "PUT", "POST", "DELETE", "HEAD"],
            "AllowedOrigins": ["*"],
            "MaxAgeSeconds": 60,
        }
    ]
}

await s3.create_bucket("new_bucket_name", set_cors=True, cors_configuration=cors_configuration)

List Files

files = await s3.list_files("path/in/your/bucket")

License

This project is licensed under the MIT License - see the LICENSE.md file for details.

Project details


Download files

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

Source Distribution

s3minimal-0.1.tar.gz (4.1 kB view details)

Uploaded Source

Built Distribution

s3minimal-0.1-py3-none-any.whl (5.0 kB view details)

Uploaded Python 3

File details

Details for the file s3minimal-0.1.tar.gz.

File metadata

  • Download URL: s3minimal-0.1.tar.gz
  • Upload date:
  • Size: 4.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.6.1 CPython/3.10.12 Darwin/23.0.0

File hashes

Hashes for s3minimal-0.1.tar.gz
Algorithm Hash digest
SHA256 33b0ca426085c30eb0ea3a11b3ed3537eb5f9dd7258be36f1fc2ce1ad62ebf81
MD5 dea3cfba88d0fd59b83f9f41ca7b893a
BLAKE2b-256 a687e2c96e9589864fc67b4235779aad948e3cf897efffbdb2946e5e9641b2ce

See more details on using hashes here.

File details

Details for the file s3minimal-0.1-py3-none-any.whl.

File metadata

  • Download URL: s3minimal-0.1-py3-none-any.whl
  • Upload date:
  • Size: 5.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.6.1 CPython/3.10.12 Darwin/23.0.0

File hashes

Hashes for s3minimal-0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 3a4b1f62ed6b1b09d873fe98634ab5c801cf6fd4ad262fb8fc3bf9cc28d32757
MD5 878f492e2bbd4ccdcc45737e3a17824b
BLAKE2b-256 5a21207f53d040a35112c0ea7f86cd7a0a9ddcb3b2144d3cfd92a045cb7dc5f9

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page