aiob2 is an asynchronous API wrapper for the Backblaze B2 Bucket API.
It will allow you to interact with your B2 bucket, it's files and anything else that the B2 API allows in a modern, object-oriented fashion.
aiob2 is compatible with Python 3.8+ (this is an estimate). To install aiob2, run the following command in your (virtual) environment.
pip install aiob2
Alternatively, for the latest though least stable version, you can download it from the GitHub repo:
pip install git+https://github.com/Void-ux/aiob2.git
import aiohttp import asyncio from aiob2 import Client # Our image to upload to our bucket with open(r'C:\Users\MS1\Pictures\Camera Roll\IMG_5316.jpeg', 'rb') as file: data = file.read() async def main(): async with Client('key_id', 'key') as client: file = await client.upload_file( content_bytes=data, file_name='test.jpg', bucket_id='bucket_id', ) if __name__ == '__main__': asyncio.run(main())
And that's it!
upload_file() returns a
File object that neatly wraps everything Backblaze's API has provided us with.
File object's documentation can be found here
This project is released under the MIT License.