Skip to main content

No project description provided

Project description

Bubbleio Python API

Project overview

This python package is a toolset to query Bubble.io API. This package uses Pandas DataFrame to returns results.

Pandas.DataFrame lets you query the data, process it, save it (ant later on uptate changes directly to Bubble app with this package).

⚠ Warning: This project is quite new (october 2021), and breaking changes may appears until version 1.0

Installation

python -m pip install -U pip
python -m pip install bubbleio

Package documentation

https://vlebert.github.io/bubbleio/

Bubble.io API documentation

https://manual.bubble.io/core-resources/api/data-api

Roadmap

  • GET function : 80%
    • TODO: Sorting options
  • TODO: PATCH function : 0%
  • TODO: Bulk PATCH
  • ...

Example of usage :

>>> from bubbleio import Bubbleio
>>> API_KEY = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
>>> API_ROOT = "https://appname.bubbleapps.io/api/1.1/obj"
>>> bbio = Bubbleio(API_KEY, API_ROOT)
>>> bbio.get("fooType")

{
    "cursor": 0,
    "results": [
        {
            "foo_field_1": "value1",
            "foo_field_2": "value2",
            "_id": "item1_bubble_id"
        },
        {
            "foo_field_1": "value3",
            "foo_field_2": "value4",
            "_id": "item2_bubble_id"
        },
        ...
    ],
    "remaining": 0,
    "count": 31
}

>>> bbio.get("fooType", constraints=[
...     {"key": "foo_field_1", "value": "value1", "constraint_type":"equals"}
... ])

{
    "cursor": 0,
    "results": [
        {
            "foo_field_1": "value1",
            "foo_field_2": "value2",
            "_id": "item1_bubble_id"
        }
    ],
    "remaining": 0,
    "count": 1
}
>>> from bubbleio import Bubbleio
>>> bbio = Bubbleio(API_KEY, API_ROOT)
>>> joins_ = [
...     {
...         "field": "fooBar",
...         "typename": "barType",
...     }
... ]
>>> bbio.get_results("fooType")

_id     fooField1   fooField2   fooBar
idFoo1  value       value       idBar1
idFoo2  value       value       idBar2

>>> bbio.get_results("barType")

_id     barField1   barField2
idBar1  value       value
idBar2  value       value

>>> bbio.get_all_results_as_df("fooType", joins=joins_)

_id     fooField1   fooField2   fooBar  fooBar__id      fooBar_barField1   fooBar_barField2
idFoo1  value       value       idBar1  idBar1          value              value
idFoo2  value       value       idBar2  idBar2          value              value

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

bubbleio-0.6.1.tar.gz (18.1 kB view details)

Uploaded Source

File details

Details for the file bubbleio-0.6.1.tar.gz.

File metadata

  • Download URL: bubbleio-0.6.1.tar.gz
  • Upload date:
  • Size: 18.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.8.15

File hashes

Hashes for bubbleio-0.6.1.tar.gz
Algorithm Hash digest
SHA256 2e08a14df57921e900e8fd9d3828763bdb48e6821b5f3a471c661d26a3cca650
MD5 c05efa419d4cdb4018fb46e62f9bff86
BLAKE2b-256 5651f399a42da0d406aba4d9f2f96ee521e5cf621629433c2dd677716787ae75

See more details on using hashes here.

Supported by

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