Skip to main content

Asynchronous MinIO Python Client API

Project description

miniopy-async

Asynchronous MinIO Python Client API

PyPI PyPI - Downloads PyPI - Python Version
GitHub repo size GitHub Workflow Status GitHub closed issues GitHub closed pull requests

Catalogue

Declaration

  • This project is based on Huseyn Mashadiyev's minio-async 1.0.0.
  • This project has fixed some bugs of minio-async and added some new features.
  • Miniopy-async 1.2 has been pulled requests to minio-async.

Minimum Requirements

  • Python>3.6

Build from source

git clone https://github.com/hlf20010508/miniopy-async.git
cd miniopy-async
python setup.py install

Installation

Install with pip

PyPI

pip install miniopy-async

Github Repository

pip install git+https://github.com/hlf20010508/miniopy-async.git

Install with pipenv

PyPI

pipenv install miniopy-async

Github Repository

pipenv install git+https://github.com/hlf20010508/miniopy-async.git#egg=miniopy-async

Quick Start

from miniopy_async import Minio
import asyncio

client = Minio(
    "play.min.io",
    access_key="Q3AM3UQ867SPQQA43P2F",
    secret_key="zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG",
    secure=True  # http for False, https for True
)


async def main():
    url = await client.presigned_get_object("my-bucket", "my-object")
    print('url:', url)


loop = asyncio.get_event_loop()
loop.run_until_complete(main())
loop.close()
from sanic import Sanic, response
from miniopy_async import Minio
from urllib import parse

app = Sanic(__name__)

client = Minio(
    "play.min.io",
    access_key="Q3AM3UQ867SPQQA43P2F",
    secret_key="zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG",
    secure=True  # http for False, https for True
)


# http://127.0.0.1:8000/download?bucket=my-bucket&fileName=testfile
@app.route('/download', methods=['GET'])
async def download(request):
    print('downloading ...')
    bucket=request.args.get('bucket')
    fileName=request.args.get('fileName')

    # decodeURI, for those which has other language in fileName, such as Chinese, Japanese, Korean
    fileName = parse.unquote(fileName)

    url = await client.presigned_get_object(bucket_name=bucket, object_name=fileName)
    return response.redirect(url)

More References

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

miniopy-async-1.15.tar.gz (63.1 kB view details)

Uploaded Source

Built Distribution

miniopy_async-1.15-py3-none-any.whl (82.4 kB view details)

Uploaded Python 3

File details

Details for the file miniopy-async-1.15.tar.gz.

File metadata

  • Download URL: miniopy-async-1.15.tar.gz
  • Upload date:
  • Size: 63.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.16

File hashes

Hashes for miniopy-async-1.15.tar.gz
Algorithm Hash digest
SHA256 f2ee438373eb2c60bda6363ffbc28ca27f4d871089ea65a02e09896864f3d72f
MD5 89ccc98fd9220f2934fa19f3afa168c5
BLAKE2b-256 0824bd667c4c1e65187f47ee70ede79e46ef7b6fa828837d53792f0ad00accb5

See more details on using hashes here.

File details

Details for the file miniopy_async-1.15-py3-none-any.whl.

File metadata

File hashes

Hashes for miniopy_async-1.15-py3-none-any.whl
Algorithm Hash digest
SHA256 9872e9168f45d9f4b828e7764163949f71d68f4f0cba2c22bc31f9856d1ed17e
MD5 1404a50e68d629363cac19243461b780
BLAKE2b-256 4f1c5980fa9504839ce6c28738ad0a75232e1dba423baae61a9d36580c66f7f8

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