Skip to main content

Rainbow Bridge for shipping your files to any cloud storage service with the same function calls

Project description

Bifrost

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 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 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.

Google Cloud Storage using GCS SDK

Without Bifrost, 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 comes in! With Bifrost, 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.

Using Bifrost

# to be added

The above example clearly demonstrates the speed, simplicity, and ease of use that Bifrost offers. Now you know what it feels like to ride with Thor!

Installation

pip install byfrost

Usage

If you want to learn more about how Bifrost 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 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.

License

Bifrost is MIT licensed.

Changelog

See changelog for more details.

Contributors

Made with contrib.rocks.

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

bifrostsdk-1.0.0.tar.gz (18.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

bifrostsdk-1.0.0-py3-none-any.whl (31.5 kB view details)

Uploaded Python 3

File details

Details for the file bifrostsdk-1.0.0.tar.gz.

File metadata

  • Download URL: bifrostsdk-1.0.0.tar.gz
  • Upload date:
  • Size: 18.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.12.0

File hashes

Hashes for bifrostsdk-1.0.0.tar.gz
Algorithm Hash digest
SHA256 c009a9e3bc9787c5e324b1ff77f367a80e45089fe82b131a437e2b44ca7c26fd
MD5 6e15472d7c9e5a36f50e97ed71c351d0
BLAKE2b-256 3fa59c24a2a4f9fee890a5a7a0fe33843f165d98699b7335ad74e1dc841bcf93

See more details on using hashes here.

File details

Details for the file bifrostsdk-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: bifrostsdk-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 31.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.12.0

File hashes

Hashes for bifrostsdk-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1d60672278fad2cf8ebfb462e4c2e62b616bae8f08e9dcda1b023da5072375a0
MD5 b1c6b124f361e9d6b97cf5ec296c22bb
BLAKE2b-256 9cc921d6f8015223162ee387f175701bf91e5ff3d071ab1e59efa9da139fb019

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page