# Novu Client (Python)
[![PyPI](https://img.shields.io/pypi/v/novu-python?color=blue)](https://pypi.org/project/novu-python/)
![Tests Status](https://github.com/SpikeeLabs/novu-python/actions/workflows/.github/workflows/tests.yml/badge.svg)
[![codecov](https://codecov.io/gh/SpikeeLabs/novu-python/branch/main/graph/badge.svg?token=RON7F8QTZX)](https://codecov.io/gh/SpikeeLabs/novu-python)
[![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit&logoColor=white)](https://github.com/pre-commit/pre-commit)
[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
[![Checked with mypy](http://www.mypy-lang.org/static/mypy_badge.svg)](http://mypy-lang.org/)
![PyPI - Python Version](https://img.shields.io/pypi/pyversions/novu-python)
![PyPI - License](https://img.shields.io/pypi/l/novu-python)
[![semantic-release: angular](https://img.shields.io/badge/semantic--release-angular-e10079?logo=semantic-release)](https://github.com/semantic-release/semantic-release)
---
This project aims to provide a python wrapper for the Novu API.
> :warning: **This deposit is not officially maintained by [novuhq](https://github.com/novuhq).** The Novu software development team is currently (March 2023) thinking of using the [ferns](https://www.buildwithfern.com/) solution to create an SDK for all languages for easier maintenance. For more details on the subject or to follow the progress on the official SDK support, you can check the issue https://github.com/novuhq/novu/issues/2835.
## Install
To install this package
```shell
# Via pip
pip install novu-python
# Via poetry
poetry add novu-python
```
## Quick start
This package is a wrapper of all the resources offered by Novu, we will just start by triggering an event on Novu.
To do this, you will need to:
1. Follow Novu's procedure on how to set up your first template and keep in mind the identifier to trigger the template: https://docs.novu.co/overview/quick-start#create-a-notification-template
2. Retrieve your API key from the platform directly in the settings section: https://web.novu.co/settings
3. Play the following script:
```python
from novu.api import EventApi
event_api = EventApi("https://api.novu.co/api/", "<NOVU_API_TOKEN>")
event_api.trigger(
name="<YOUR_TEMPLATE_NAME>",
recipients="<YOUR_SUBSCRIBER_ID>",
payload={}, # Your Novu payload goes here
)
```
If all is ok, this should have triggered a notification in Novu.
## Development
```bash
# install deps
poetry install
# pre-commit
poetry run pre-commit install --install-hook
poetry run pre-commit install --install-hooks --hook-type commit-msg
```
Raw data
{
"_id": null,
"home_page": "https://novu-python.readthedocs.io/en/latest",
"name": "novu-python",
"maintainer": "oscar.marie-taillefer",
"docs_url": null,
"requires_python": ">=3.8,<4.0",
"maintainer_email": "oscar.marie-taillefer@spikeelabs.fr",
"keywords": "novu,python,sdk,api,wrapper",
"author": "oscar.marie-taillefer",
"author_email": "oscar.marie-taillefer@spikeelabs.fr",
"download_url": "https://files.pythonhosted.org/packages/c9/e5/37a50e52b46377b58692d9c827c09ba758497c305c1be923de4cf15930e1/novu_python-1.1.0.tar.gz",
"platform": null,
"description": "# Novu Client (Python)\n\n[![PyPI](https://img.shields.io/pypi/v/novu-python?color=blue)](https://pypi.org/project/novu-python/)\n![Tests Status](https://github.com/SpikeeLabs/novu-python/actions/workflows/.github/workflows/tests.yml/badge.svg)\n[![codecov](https://codecov.io/gh/SpikeeLabs/novu-python/branch/main/graph/badge.svg?token=RON7F8QTZX)](https://codecov.io/gh/SpikeeLabs/novu-python)\n[![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit&logoColor=white)](https://github.com/pre-commit/pre-commit)\n[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)\n[![Checked with mypy](http://www.mypy-lang.org/static/mypy_badge.svg)](http://mypy-lang.org/)\n![PyPI - Python Version](https://img.shields.io/pypi/pyversions/novu-python)\n![PyPI - License](https://img.shields.io/pypi/l/novu-python)\n[![semantic-release: angular](https://img.shields.io/badge/semantic--release-angular-e10079?logo=semantic-release)](https://github.com/semantic-release/semantic-release)\n\n---\n\nThis project aims to provide a python wrapper for the Novu API.\n\n> :warning: **This deposit is not officially maintained by [novuhq](https://github.com/novuhq).** The Novu software development team is currently (March 2023) thinking of using the [ferns](https://www.buildwithfern.com/) solution to create an SDK for all languages for easier maintenance. For more details on the subject or to follow the progress on the official SDK support, you can check the issue https://github.com/novuhq/novu/issues/2835.\n\n## Install\n\nTo install this package\n\n```shell\n# Via pip\npip install novu-python\n\n# Via poetry\npoetry add novu-python\n```\n\n## Quick start\n\nThis package is a wrapper of all the resources offered by Novu, we will just start by triggering an event on Novu.\n\nTo do this, you will need to:\n\n1. Follow Novu's procedure on how to set up your first template and keep in mind the identifier to trigger the template: https://docs.novu.co/overview/quick-start#create-a-notification-template\n2. Retrieve your API key from the platform directly in the settings section: https://web.novu.co/settings\n3. Play the following script:\n\n```python\nfrom novu.api import EventApi\n\nevent_api = EventApi(\"https://api.novu.co/api/\", \"<NOVU_API_TOKEN>\")\nevent_api.trigger(\n name=\"<YOUR_TEMPLATE_NAME>\",\n recipients=\"<YOUR_SUBSCRIBER_ID>\",\n payload={}, # Your Novu payload goes here\n)\n```\n\nIf all is ok, this should have triggered a notification in Novu.\n\n## Development\n\n```bash\n# install deps\npoetry install\n\n# pre-commit\npoetry run pre-commit install --install-hook\npoetry run pre-commit install --install-hooks --hook-type commit-msg\n```\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "This project aims to provide a wrapper for the Novu API.",
"version": "1.1.0",
"split_keywords": [
"novu",
"python",
"sdk",
"api",
"wrapper"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "acf397f1de328e86b0b89de0e18716f77bf8f5c99d85c9a2d0bbeda7981ed3fa",
"md5": "cfc3749e8853602f89c0de7d3ee6f1e7",
"sha256": "449e5196e01e6513b3a383ef466eaaa73e8980e1cde8d3743c7403ca28c0b3f9"
},
"downloads": -1,
"filename": "novu_python-1.1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "cfc3749e8853602f89c0de7d3ee6f1e7",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8,<4.0",
"size": 40982,
"upload_time": "2023-03-15T21:42:54",
"upload_time_iso_8601": "2023-03-15T21:42:54.986958Z",
"url": "https://files.pythonhosted.org/packages/ac/f3/97f1de328e86b0b89de0e18716f77bf8f5c99d85c9a2d0bbeda7981ed3fa/novu_python-1.1.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "c9e537a50e52b46377b58692d9c827c09ba758497c305c1be923de4cf15930e1",
"md5": "db9e64c6007f945f0b9bcd699a6ef814",
"sha256": "b72c1aafd550b60e784f2f6873f9f29066031e285e474388a5a86761c4a5db86"
},
"downloads": -1,
"filename": "novu_python-1.1.0.tar.gz",
"has_sig": false,
"md5_digest": "db9e64c6007f945f0b9bcd699a6ef814",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8,<4.0",
"size": 25307,
"upload_time": "2023-03-15T21:42:56",
"upload_time_iso_8601": "2023-03-15T21:42:56.841063Z",
"url": "https://files.pythonhosted.org/packages/c9/e5/37a50e52b46377b58692d9c827c09ba758497c305c1be923de4cf15930e1/novu_python-1.1.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-03-15 21:42:56",
"github": false,
"gitlab": false,
"bitbucket": false,
"lcname": "novu-python"
}