{"id":21037306,"url":"https://github.com/hlf20010508/miniopy-async","last_synced_at":"2025-04-07T05:06:53.678Z","repository":{"id":57710646,"uuid":"509901230","full_name":"hlf20010508/miniopy-async","owner":"hlf20010508","description":"Asynchronous MinIO Client SDK for Python","archived":false,"fork":false,"pushed_at":"2025-03-29T15:38:09.000Z","size":3262,"stargazers_count":79,"open_issues_count":0,"forks_count":13,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-29T16:22:44.705Z","etag":null,"topics":["aiohttp","async","bucket","minio","minio-async","miniopy-async","python","sanic"],"latest_commit_sha":null,"homepage":"https://hlf20010508.github.io/miniopy-async/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hlf20010508.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-07-03T02:05:12.000Z","updated_at":"2025-03-29T15:38:13.000Z","dependencies_parsed_at":"2023-02-09T03:16:32.739Z","dependency_job_id":"1295d5b8-3ebd-470c-8e5a-66b40a748d4a","html_url":"https://github.com/hlf20010508/miniopy-async","commit_stats":{"total_commits":133,"total_committers":6,"mean_commits":"22.166666666666668","dds":0.09774436090225569,"last_synced_commit":"83d98b6f2eb0bcce888aada717133482bb68cb94"},"previous_names":[],"tags_count":23,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hlf20010508%2Fminiopy-async","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hlf20010508%2Fminiopy-async/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hlf20010508%2Fminiopy-async/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hlf20010508%2Fminiopy-async/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hlf20010508","download_url":"https://codeload.github.com/hlf20010508/miniopy-async/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247595332,"owners_count":20963943,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aiohttp","async","bucket","minio","minio-async","miniopy-async","python","sanic"],"created_at":"2024-11-19T13:25:29.322Z","updated_at":"2025-04-07T05:06:53.662Z","avatar_url":"https://github.com/hlf20010508.png","language":"Python","funding_links":[],"categories":["Database Drivers"],"sub_categories":["ASGI Servers"],"readme":"# miniopy-async\n[![PyPI](https://img.shields.io/pypi/v/miniopy-async)](https://pypi.org/project/miniopy-async/)\n[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/miniopy-async)](https://pypi.org/project/miniopy-async/) \n[![PyPI - Downloads](https://img.shields.io/pypi/dm/miniopy-async)](https://pypi.org/project/miniopy-async/) \n\nAsynchronous MinIO Client SDK for Python\n\n- Document: https://hlf20010508.github.io/miniopy-async/\n- Examples: https://github.com/hlf20010508/miniopy-async/tree/master/examples\n\n## Build from Source\n```sh\ngit clone https://github.com/hlf20010508/miniopy-async.git\ncd miniopy-async\npoetry install\npoetry build\n```\n\n## Installation\nPyPI\n```sh\npip install miniopy-async\n```\n\nGithub Repository\n```sh\npip install git+https://github.com/hlf20010508/miniopy-async.git\n```\n\n## Quick Start\n```py\nfrom miniopy_async import Minio\nimport asyncio\n\nclient = Minio(\n    \"play.min.io\",\n    access_key=\"Q3AM3UQ867SPQQA43P2F\",\n    secret_key=\"zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG\",\n    secure=True  # http for False, https for True\n)\n\n\nasync def main():\n    url = await client.presigned_get_object(\"my-bucket\", \"my-object\")\n    print('url:', url)\n\n\nasyncio.run(main())\n```\n\n```py\nfrom sanic import Sanic, response\nfrom miniopy_async import Minio\nfrom urllib import parse\n\napp = Sanic(__name__)\n\nclient = Minio(\n    \"play.min.io\",\n    access_key=\"Q3AM3UQ867SPQQA43P2F\",\n    secret_key=\"zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG\",\n    secure=True  # http for False, https for True\n)\n\n\n# http://127.0.0.1:8000/download?bucket=my-bucket\u0026fileName=testfile\n@app.route('/download', methods=['GET'])\nasync def download(request):\n    print('downloading ...')\n    bucket=request.args.get('bucket')\n    fileName=request.args.get('fileName')\n\n    # decodeURI, for those which has other language in fileName, such as Chinese, Japanese, Korean\n    fileName = parse.unquote(fileName)\n\n    url = await client.presigned_get_object(bucket_name=bucket, object_name=fileName)\n    return response.redirect(url)\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhlf20010508%2Fminiopy-async","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhlf20010508%2Fminiopy-async","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhlf20010508%2Fminiopy-async/lists"}