Rainbow Bridge for shipping your files to any cloud storage service with the same function calls
Project description
Bifrost SDK
Rainbow Bridge for shipping your files to any cloud storage service with the same function calls.
Table of contents
Problem Statement
Many projects need to store files in the cloud and different projects might use different cloud storage providers or, sometimes, multiple cloud providers all at once. Using different SDKs with different implementations for each provider can be tedious and time-consuming. Bifrost SDK aims to simplify the process of working with multiple cloud storage providers by providing a consistent API for all of them.
To gain a better understanding of how Bifrost SDK addresses this issue, let's take you on a ride with Thor by comparing two different code samples for working with Google Cloud Storage and Pinata Cloud in a single project: one using a conventional approach and the other using Bifrost SDK.
Google Cloud Storage using GCS SDK
Without Bifrost SDK, the process of uploading a file to GCS using the Google Cloud Storage client library for Python would typically involve the following steps:
# to be added
Pinata Cloud using Pinata API
...and for Pinata Cloud, the usual way of uploading a file in Python would be something along the following steps:
# to be added
We can already see the challenges of the conventional methods since they require you to learn to use multiple packages with separate implementation patterns. Now this is why Bifrost SDK comes in! With Bifrost SDK, you can mount rainbow bridges to the providers you want and use the same set of functions to upload files through any of these mounted bridges. This makes it much easier to work with multiple providers and streamlines the development process to just one learning curve.
Now, let's see how we can revamp the two samples above into something much more exciting with Bifrost SDK.
Using Bifrost SDK
# to be added
The above example clearly demonstrates the speed, simplicity, and ease of use that Bifrost SDK offers. Now you know what it feels like to ride with Thor!
Installation
pip install bifrostsdk
Usage
If you want to learn more about how Bifrost SDK is creating different methods to make it easier to use different cloud providers, you can follow these links:
Variants
Bifrost also exists in other forms and languages and you are free to start a new variant of bifrost in any other form or language of your choice. For now, below are the know variants of bifrost.
Contributing
Bifrost SDK is an open source project and we welcome contributions of all kinds. Please read our contributing guide to learn about our development process, how to propose bug fixes and improvements, and how to build and test your changes to Bifrost SDK.
License
Bifrost SDK is MIT licensed.
Changelog
See CHANGELOG.md for more details.
Contributors
Made with contrib.rocks.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file bifrostsdk-2.0.0.tar.gz.
File metadata
- Download URL: bifrostsdk-2.0.0.tar.gz
- Upload date:
- Size: 20.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.12.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
30340ac1314c33493867c77ecbb0f089ac02fc1f7b98e3729eea75059e0c3804
|
|
| MD5 |
35dedebda61bea3b5fe97dabe504fdd2
|
|
| BLAKE2b-256 |
afde7b43987774d005447b0fe568ea2285a94f7c60c56ad5c1654edf72ed75df
|
File details
Details for the file bifrostsdk-2.0.0-py3-none-any.whl.
File metadata
- Download URL: bifrostsdk-2.0.0-py3-none-any.whl
- Upload date:
- Size: 31.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.12.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
87d1d78f47809cb23d5bba2c883e0f3f167ecdee37956a6938c78a5ad612a42e
|
|
| MD5 |
d3501ce98a430e2072347208f62720cc
|
|
| BLAKE2b-256 |
48123979841a268e90865104d4317184c5903df72e19809c398b059c641e6007
|