# 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": "",
"docs_url": null,
"requires_python": ">=3.8,<4.0",
"maintainer_email": "",
"keywords": "magicbell,sdk",
"author": "Alex Tulenko",
"author_email": "alex@belfrysoftware.com",
"download_url": "https://files.pythonhosted.org/packages/90/e1/858a39e6daf4fde47ad8dd16eded413e62472f5e566a6232c68fafa6f037/belfry_magicbell-2.2.0.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.2.0",
"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": "0277a2ece093985020f9a0c0fadfed396aabf4d16b74aec998a605fedef6d636",
"md5": "03435792de90dd8af0f3205c35f399e9",
"sha256": "25c394c900fb98d649f174c02f5c909b012ef15ac1b1f6f7da8a1ebbda5926e4"
},
"downloads": -1,
"filename": "belfry_magicbell-2.2.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "03435792de90dd8af0f3205c35f399e9",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8,<4.0",
"size": 18428,
"upload_time": "2024-03-12T22:12:54",
"upload_time_iso_8601": "2024-03-12T22:12:54.095148Z",
"url": "https://files.pythonhosted.org/packages/02/77/a2ece093985020f9a0c0fadfed396aabf4d16b74aec998a605fedef6d636/belfry_magicbell-2.2.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "90e1858a39e6daf4fde47ad8dd16eded413e62472f5e566a6232c68fafa6f037",
"md5": "cc1d1508959c7914027538d239b92015",
"sha256": "59e38edca4ae80a6d9d1ada3dfd67413d0d7a33a0bdcfd7fb38b0274bb6d8f63"
},
"downloads": -1,
"filename": "belfry_magicbell-2.2.0.tar.gz",
"has_sig": false,
"md5_digest": "cc1d1508959c7914027538d239b92015",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8,<4.0",
"size": 12655,
"upload_time": "2024-03-12T22:12:55",
"upload_time_iso_8601": "2024-03-12T22:12:55.687260Z",
"url": "https://files.pythonhosted.org/packages/90/e1/858a39e6daf4fde47ad8dd16eded413e62472f5e566a6232c68fafa6f037/belfry_magicbell-2.2.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-03-12 22:12:55",
"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"
}