# MagicBell-Python SDK
<p align="center"><img src="https://assets.noteable.io/github/2022-07-29/MB_logo_Purple_2800x660.png" width="50%" alt="belfry_magicbell logo purple"></p>
<p align="center">
This SDK provides convenient access to the <a href="https://magicbell.com/docs/rest-api/overview">MagicBell REST API</a> from applications written in Python.
It includes helpers for creating notifications, managing users, managing projects, and executing GraphQL.
</p>
<p align="center">
<a href="https://github.com/noteable-io/belfry_magicbell-python-sdk/actions/workflows/ci.yaml">
<img src="https://github.com/noteable-io/belfry_magicbell-python-sdk/actions/workflows/ci.yaml/badge.svg" alt="CI" />
</a>
<a href="https://codecov.io/gh/noteable-io/belfry_magicbell-python-sdk" >
<img src="https://codecov.io/gh/noteable-io/belfry_magicbell-python-sdk/branch/main/graph/badge.svg?token=RGNWOIPWC0" alt="codecov code coverage"/>
</a>
<img alt="PyPI - License" src="https://img.shields.io/pypi/l/belfry_magicbell" />
<img alt="PyPI - Python Version" src="https://img.shields.io/pypi/pyversions/belfry_magicbell" />
<img alt="PyPI" src="https://img.shields.io/pypi/v/belfry_magicbell">
<a href="https://github.com/psf/black"><img alt="Code style: black" src="https://img.shields.io/badge/code%20style-black-000000.svg"></a>
</p>
---------
This is an unofficial Python SDK for [MagicBell](https://magicbell.com) open sourced with ❤️ by <a href="https://noteable.io">Noteable</a>, a collaborative notebook platform that enables teams to use and visualize data, together.
[Install](#installation) | [Getting Started](#getting-started) | [Examples](./examples) | [License](./LICENSE) | [Code of Conduct](./CODE_OF_CONDUCT.md) | [Contributing](./CONTRIBUTING.md)
## Requirements
Python 3.8+
## Installation
### Poetry
```shell
poetry add belfry_magicbell
```
Then import the package:
```python
import belfry_magicbell
```
### Pip
```shell
pip install belfry_magicbell
```
Then import the package:
```python
import belfry_magicbell
```
## Getting Started
```python
import belfry_magicbell
from belfry_magicbell.configuration import Configuration
config = Configuration(
api_key="YOUR_API_KEY",
api_secret="YOUR_API_SECRET",
)
async with belfry_magicbell.MagicBell(config) as mb:
# Send a notification
await mb.realtime.create_notification(
belfry_magicbell.WrappedNotification(
notification=belfry_magicbell.Notification(
title="My first notification from python!",
recipients=[belfry_magicbell.Recipient(email="dan@example.com")],
)
)
)
```
### Authentication
Most API calls require your belfry_magicbell project API Key and API Secret.
Some API calls (i.e. projects) require your belfry_magicbell user JWT (enterprise only).
See the [MagicBell API documentation](https://www.magicbell.com/docs/rest-api/reference#authentication) for more information.
### Configuration
Configuration can be done explicitly using the `belfry_magicbell.Configuration` class,
or implicitly by setting environment variables with the `MAGICBELL_` prefix.
#### Explicit Configuration
```python
from belfry_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
```shell
export MAGICBELL_API_KEY="YOUR_API_KEY"
export MAGICBELL_API_SECRET="YOUR_API_SECRET"
```
```python
from belfry_magicbell.configuration import Configuration
config = Configuration()
```
### Examples
For more examples see the [`examples` directory](./docs/examples).
## Contributing
See [CONTRIBUTING.md](./CONTRIBUTING.md).
-------
<p align="center">Open sourced with ❤️ by <a href="https://noteable.io">Noteable</a> for the community.</p>
<img href="https://pages.noteable.io/private-beta-access" src="https://assets.noteable.io/github/2022-07-29/noteable.png" alt="Boost Data Collaboration with Notebooks">
Raw data
{
"_id": null,
"home_page": "https://github.com/BelfrySoftware/magicbell-python-sdk",
"name": "belfry_magicbell",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0,>=3.8",
"maintainer_email": null,
"keywords": "magicbell, sdk",
"author": "Alex Tulenko",
"author_email": "alex@belfrysoftware.com",
"download_url": "https://files.pythonhosted.org/packages/46/68/f1ca31b8b5206ffedd5c2bcb8059189ed646a841f60759fa7ddc94349ac1/belfry_magicbell-2.3.3.tar.gz",
"platform": null,
"description": "# MagicBell-Python SDK\n\n<p align=\"center\"><img src=\"https://assets.noteable.io/github/2022-07-29/MB_logo_Purple_2800x660.png\" width=\"50%\" alt=\"belfry_magicbell logo purple\"></p>\n<p align=\"center\">\nThis SDK provides convenient access to the <a href=\"https://magicbell.com/docs/rest-api/overview\">MagicBell REST API</a> from applications written in Python. \nIt includes helpers for creating notifications, managing users, managing projects, and executing GraphQL.\n</p>\n<p align=\"center\">\n<a href=\"https://github.com/noteable-io/belfry_magicbell-python-sdk/actions/workflows/ci.yaml\">\n <img src=\"https://github.com/noteable-io/belfry_magicbell-python-sdk/actions/workflows/ci.yaml/badge.svg\" alt=\"CI\" />\n</a>\n<a href=\"https://codecov.io/gh/noteable-io/belfry_magicbell-python-sdk\" > \n <img src=\"https://codecov.io/gh/noteable-io/belfry_magicbell-python-sdk/branch/main/graph/badge.svg?token=RGNWOIPWC0\" alt=\"codecov code coverage\"/> \n </a>\n<img alt=\"PyPI - License\" src=\"https://img.shields.io/pypi/l/belfry_magicbell\" />\n<img alt=\"PyPI - Python Version\" src=\"https://img.shields.io/pypi/pyversions/belfry_magicbell\" />\n<img alt=\"PyPI\" src=\"https://img.shields.io/pypi/v/belfry_magicbell\">\n<a href=\"https://github.com/psf/black\"><img alt=\"Code style: black\" src=\"https://img.shields.io/badge/code%20style-black-000000.svg\"></a>\n</p>\n\n---------\n\nThis is an unofficial Python SDK for [MagicBell](https://magicbell.com) open sourced with \u2764\ufe0f by <a href=\"https://noteable.io\">Noteable</a>, a collaborative notebook platform that enables teams to use and visualize data, together.\n\n[Install](#installation) | [Getting Started](#getting-started) | [Examples](./examples) | [License](./LICENSE) | [Code of Conduct](./CODE_OF_CONDUCT.md) | [Contributing](./CONTRIBUTING.md)\n\n\n## Requirements\n\nPython 3.8+\n\n## Installation\n\n### Poetry\n\n```shell\npoetry add belfry_magicbell\n```\n\nThen import the package:\n\n```python\nimport belfry_magicbell\n```\n\n### Pip\n```shell\npip install belfry_magicbell\n```\n\nThen import the package:\n\n```python\nimport belfry_magicbell\n```\n\n## Getting Started\n\n```python\nimport belfry_magicbell\nfrom belfry_magicbell.configuration import Configuration\n\nconfig = Configuration(\n api_key=\"YOUR_API_KEY\",\n api_secret=\"YOUR_API_SECRET\",\n)\nasync with belfry_magicbell.MagicBell(config) as mb:\n # Send a notification\n await mb.realtime.create_notification(\n belfry_magicbell.WrappedNotification(\n notification=belfry_magicbell.Notification(\n title=\"My first notification from python!\",\n recipients=[belfry_magicbell.Recipient(email=\"dan@example.com\")],\n )\n )\n )\n```\n\n### Authentication\n\nMost API calls require your belfry_magicbell project API Key and API Secret.\nSome API calls (i.e. projects) require your belfry_magicbell user JWT (enterprise only).\n\nSee the [MagicBell API documentation](https://www.magicbell.com/docs/rest-api/reference#authentication) for more information.\n\n### Configuration\n\nConfiguration can be done explicitly using the `belfry_magicbell.Configuration` class,\nor implicitly by setting environment variables with the `MAGICBELL_` prefix.\n\n#### Explicit Configuration\n\n```python\nfrom belfry_magicbell.configuration import Configuration\n\n\n# Create a configuration object with the required parameters\nconfig = Configuration(\n api_key=\"YOUR_API_KEY\",\n api_secret=\"YOUR_API_SECRET\",\n)\n```\n\n#### Implicit Configuration\n\n```shell\nexport MAGICBELL_API_KEY=\"YOUR_API_KEY\"\nexport MAGICBELL_API_SECRET=\"YOUR_API_SECRET\"\n```\n\n```python\nfrom belfry_magicbell.configuration import Configuration\n\n\nconfig = Configuration()\n```\n\n### Examples\n\nFor more examples see the [`examples` directory](./docs/examples).\n\n## Contributing\n\nSee [CONTRIBUTING.md](./CONTRIBUTING.md).\n\n-------\n\n<p align=\"center\">Open sourced with \u2764\ufe0f by <a href=\"https://noteable.io\">Noteable</a> for the community.</p>\n\n<img href=\"https://pages.noteable.io/private-beta-access\" src=\"https://assets.noteable.io/github/2022-07-29/noteable.png\" alt=\"Boost Data Collaboration with Notebooks\">\n\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Fork of the unofficial Python SDK for MagicBell",
"version": "2.3.3",
"project_urls": {
"Homepage": "https://github.com/BelfrySoftware/magicbell-python-sdk",
"Repository": "https://github.com/BelfrySoftware/magicbell-python-sdk"
},
"split_keywords": [
"magicbell",
" sdk"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "74b6a7dd8017376c7ced6f6430d5bc0efe820d9e6d4a1b79a8f49605d8553534",
"md5": "81c893f03b0f2d50d814333ca71f717a",
"sha256": "70946ac3cad3370596c6d548b082b32ee1c091e07a4274351d0c9073f9e8b3b8"
},
"downloads": -1,
"filename": "belfry_magicbell-2.3.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "81c893f03b0f2d50d814333ca71f717a",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.8",
"size": 18992,
"upload_time": "2024-08-01T23:09:48",
"upload_time_iso_8601": "2024-08-01T23:09:48.954825Z",
"url": "https://files.pythonhosted.org/packages/74/b6/a7dd8017376c7ced6f6430d5bc0efe820d9e6d4a1b79a8f49605d8553534/belfry_magicbell-2.3.3-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "4668f1ca31b8b5206ffedd5c2bcb8059189ed646a841f60759fa7ddc94349ac1",
"md5": "ced93ebe3b1350abbafbf0e56c5a5473",
"sha256": "c764f2658860a3dcb159c895bfe9d65daa7cefbc88814d67b1fafd21b94448f2"
},
"downloads": -1,
"filename": "belfry_magicbell-2.3.3.tar.gz",
"has_sig": false,
"md5_digest": "ced93ebe3b1350abbafbf0e56c5a5473",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.8",
"size": 13176,
"upload_time": "2024-08-01T23:09:50",
"upload_time_iso_8601": "2024-08-01T23:09:50.638180Z",
"url": "https://files.pythonhosted.org/packages/46/68/f1ca31b8b5206ffedd5c2bcb8059189ed646a841f60759fa7ddc94349ac1/belfry_magicbell-2.3.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-08-01 23:09:50",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "BelfrySoftware",
"github_project": "magicbell-python-sdk",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "belfry_magicbell"
}