aiob2 is an asynchronous API wrapper for the Backblaze B2 Bucket API.
It will allow you to interact with your B2 bucket and its files in a modern, object-oriented fashion.
NOTE: There are API endpoints left to implement, eventually they will be added. To speed up this process you can submit a pull request or suggest it.
aiob2 is compatible with Python 3.8+. 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.
The File
object's documentation can be found here
This project is released under the MIT License.