magicbell

Unofficial Python SDK for MagicBell


Keywords
magicbell, sdk, notifications, python
License
MIT
Install
pip install magicbell==1.1.1

Documentation

MagicBell-Python SDK

magicbell logo purple

This SDK provides convenient access to the MagicBell REST API from applications written in Python. It includes helpers for creating notifications, managing users, managing projects, and executing GraphQL.

CI codecov code coverage PyPI - License PyPI - Python Version PyPI Code style: black


This is an unofficial Python SDK for MagicBell open sourced with ❤️ by Noteable, a collaborative notebook platform that enables teams to use and visualize data, together.

Install | Getting Started | Examples | License | Code of Conduct | Contributing

Requirements

Python 3.8+

Installation

Poetry

poetry add magicbell

Then import the package:

import magicbell

Pip

pip install magicbell

Then import the package:

import magicbell

Getting Started

import magicbell
from magicbell.configuration import Configuration

config = Configuration(
    api_key="YOUR_API_KEY",
    api_secret="YOUR_API_SECRET",
)
async with magicbell.MagicBell(config) as mb:
    # Send a notification
    await mb.realtime.create_notification(
        magicbell.WrappedNotification(
            notification=magicbell.Notification(
                title="My first notification from python!",
                recipients=[magicbell.Recipient(email="dan@example.com")],
            )
        )
    )

Authentication

Most API calls require your MagicBell project API Key and API Secret. Some API calls (i.e. projects) require your MagicBell user JWT (enterprise only).

See the MagicBell API documentation for more information.

Configuration

Configuration can be done explicitly using the magicbell.Configuration class, or implicitly by setting environment variables with the MAGICBELL_ prefix.

Explicit Configuration

from magicbell.configuration import Configuration


# Create a configuration object with the required parameters
config = Configuration(
    api_key="YOUR_API_KEY",
    api_secret="YOUR_API_SECRET",
)

Implicit Configuration

export MAGICBELL_API_KEY="YOUR_API_KEY"
export MAGICBELL_API_SECRET="YOUR_API_SECRET"
from magicbell.configuration import Configuration


config = Configuration()

Examples

For more examples see the examples directory.

Contributing

See CONTRIBUTING.md.


Open sourced with ❤️ by Noteable for the community.

Boost Data Collaboration with Notebooks