aiohttp-s3-client
The simple module for putting and getting object from Amazon S3 compatible endpoints
Installation
pip install aiohttp-s3-client
Usage
from http import HTTPStatus
from aiohttp import ClientSession
from aiohttp_s3_client import S3Client
async with ClientSession(raise_for_status=True) as session:
client = S3Client(
url="http://s3-url",
session=session,
access_key_id="key-id",
secret_access_key="hackme",
region="us-east-1"
)
# Upload str object to bucket "bucket" and key "str"
async with client.put("bucket/str", "hello, world") as resp:
assert resp.status == HTTPStatus.OK
# Upload bytes object to bucket "bucket" and key "bytes"
resp = await client.put("bucket/bytes", b"hello, world")
assert resp.status == HTTPStatus.OK
# Upload AsyncIterable to bucket "bucket" and key "iterable"
async def gen():
yield b'some bytes'
resp = await client.put("bucket/file", gen())
assert resp.status == HTTPStatus.OK
# Upload file to bucket "bucket" and key "file"
resp = await client.put_file("bucket/file", "/path_to_file")
assert resp.status == HTTPStatus.OK
# Get object by bucket+key
resp = await client.get("bucket/key")
data = await resp.read()
Bucket may be specified as subdomain or in object name:
client = S3Client(url="http://bucket.your-s3-host", ...)
resp = await client.put("key", gen())
client = S3Client(url="http://your-s3-host", ...)
resp = await client.put("bucket/key", gen())
client = S3Client(url="http://your-s3-host/bucket", ...)
resp = await client.put("key", gen())
Auth may be specified with keywords or in URL:
client = S3Client(url="http://your-s3-host", access_key_id="key_id",
secret_access_key="access_key", ...)
client = S3Client(url="http://key_id:access_key@your-s3-host", ...)
Release files for aiohttp-s3-client 0.2.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| aiohttp-s3-client-0.2.2.tar.gz | 4.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| aiohttp_s3_client-0.2.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 17.2 kB
Release files / aiohttp-s3-client-0.2.2.tar.gz
| Download URL | aiohttp-s3-client-0.2.2.tar.gz |
|---|---|
| Size | 4.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
77c7d5ea6a1ad71cef1ba1b3ed0e53836611466a9924bf56c949309c5f8a4451
|
|
BLAKE2b-256 checksum How to use checksums |
492ee95c76c79b877e6951be134ded27d72b4493270fa9191ed8b7f7f7026894
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.4.1 importlib_metadata/3.10.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.9.2
|
Release files / aiohttp_s3_client-0.2.2-py3-none-any.whl
| Download URL | aiohttp_s3_client-0.2.2-py3-none-any.whl |
|---|---|
| Size | 12.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
1789315b0a10b94efe9690fca4488b2d6af2de61bcb7e56cf63103ca31cad38e
|
|
BLAKE2b-256 checksum How to use checksums |
3a87b7fa825228b18471a9c1c174f73136173f82b41ff23fdb75b73038fc21ab
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.4.1 importlib_metadata/3.10.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.9.2
|