# A Python Library For ntfy



An easy-to-use python library for the [ntfy notification service](https://ntfy.sh/). Aiming for full feature support and a super easy to use interface.
## Quickstart
1. Install using pip with `pip3 install python-ntfy`
2. Use the `NtfyClient` to send messages:
```python
# Import the ntfy client
from python_ntfy import NtfyClient
# Create an `NtfyClient` instance with a topic
client = NtfyClient(topic="Your topic")
# Send a message
client.send("Your message here")
```
For information on setting up authentication, see the [quickstart guide](https://matthewcane.github.io/python-ntfy/quickstart/).
## Documentation
See the full documentation at [https://matthewcane.github.io/python-ntfy/](https://matthewcane.github.io/python-ntfy/).
## Supported Features
- Username + password auth
- Access token auth
- Custom servers
- Sending plaintext messages
- Sending Markdown formatted text messages
- Scheduling messages
- Retrieving cached messages
- Scheduled delivery
- Tags
- Action buttons
- Email notifications
## Contributing
This project uses:
- [uv](https://github.com/astral-sh/uv) as its dependency manager
- [Just](https://github.com/casey/just) as a task runner
- [Pre-commit](https://pre-commit.com/) for running checks before each commit
- [Docker](https://www.docker.com/) and [Docker Compose](https://docs.docker.com/compose/) for running tests
These need to be installed separately to run the tasks.
To see all available tasks, run `just`.
Some useful tasks are:
- `just install` - Install dependencies (including dev dependencies)
- `just test` - Run all tests and checks
- `just check` - Run code quality checks (ruff + mypy)
- `just format` - Format code with ruff
- `just serve-docs` - Build and serve the docs locally
### Tests
This project is aiming for 95% code coverage. Any added features must include comprehensive tests.
Raw data
{
"_id": null,
"home_page": null,
"name": "python-ntfy",
"maintainer": null,
"docs_url": null,
"requires_python": "<3.14,>=3.12",
"maintainer_email": null,
"keywords": "ntfy, notifications, push, http, api",
"author": "Matthew Cane",
"author_email": "Matthew Cane <matthew.cane0@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/c4/f4/e20437081057b2a3689e591fb6c21560ac7bbe4152b701bba819c7b93842/python_ntfy-0.7.1.tar.gz",
"platform": null,
"description": "# A Python Library For ntfy\n\n\n\n\n\nAn easy-to-use python library for the [ntfy notification service](https://ntfy.sh/). Aiming for full feature support and a super easy to use interface.\n\n## Quickstart\n\n1. Install using pip with `pip3 install python-ntfy`\n2. Use the `NtfyClient` to send messages:\n\n```python\n# Import the ntfy client\nfrom python_ntfy import NtfyClient\n\n# Create an `NtfyClient` instance with a topic\nclient = NtfyClient(topic=\"Your topic\")\n\n# Send a message\nclient.send(\"Your message here\")\n```\n\nFor information on setting up authentication, see the [quickstart guide](https://matthewcane.github.io/python-ntfy/quickstart/).\n\n## Documentation\n\nSee the full documentation at [https://matthewcane.github.io/python-ntfy/](https://matthewcane.github.io/python-ntfy/).\n\n## Supported Features\n\n- Username + password auth\n- Access token auth\n- Custom servers\n- Sending plaintext messages\n- Sending Markdown formatted text messages\n- Scheduling messages\n- Retrieving cached messages\n- Scheduled delivery\n- Tags\n- Action buttons\n- Email notifications\n\n## Contributing\n\nThis project uses:\n\n- [uv](https://github.com/astral-sh/uv) as its dependency manager\n- [Just](https://github.com/casey/just) as a task runner\n- [Pre-commit](https://pre-commit.com/) for running checks before each commit\n- [Docker](https://www.docker.com/) and [Docker Compose](https://docs.docker.com/compose/) for running tests\n\nThese need to be installed separately to run the tasks.\n\nTo see all available tasks, run `just`.\n\nSome useful tasks are:\n\n- `just install` - Install dependencies (including dev dependencies)\n- `just test` - Run all tests and checks\n- `just check` - Run code quality checks (ruff + mypy)\n- `just format` - Format code with ruff\n- `just serve-docs` - Build and serve the docs locally\n\n### Tests\n\nThis project is aiming for 95% code coverage. Any added features must include comprehensive tests.\n",
"bugtrack_url": null,
"license": null,
"summary": "An ntfy library aiming for feature completeness",
"version": "0.7.1",
"project_urls": {
"Changelog": "https://github.com/matthewcane/python-ntfy/releases",
"Documentation": "https://python-ntfy.readthedocs.io/",
"Homepage": "https://github.com/matthewcane/python-ntfy",
"Issues": "https://github.com/matthewcane/python-ntfy/issues",
"Repository": "https://github.com/matthewcane/python-ntfy"
},
"split_keywords": [
"ntfy",
" notifications",
" push",
" http",
" api"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "778a00a07d00fe30daf71aa59a10f6ff0359b5af37e4e3df6a25352ab1589e04",
"md5": "c099edacbf59d44fda1fc07cda480251",
"sha256": "8262866df9051606385b006db19eb5fbca179a7a9c34c967c4f59056cdc30e59"
},
"downloads": -1,
"filename": "python_ntfy-0.7.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "c099edacbf59d44fda1fc07cda480251",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<3.14,>=3.12",
"size": 7457,
"upload_time": "2025-07-29T21:42:02",
"upload_time_iso_8601": "2025-07-29T21:42:02.532661Z",
"url": "https://files.pythonhosted.org/packages/77/8a/00a07d00fe30daf71aa59a10f6ff0359b5af37e4e3df6a25352ab1589e04/python_ntfy-0.7.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "c4f4e20437081057b2a3689e591fb6c21560ac7bbe4152b701bba819c7b93842",
"md5": "bb9042549b4b9d01211aeca1e7b8c63c",
"sha256": "57870c81b652cc9aad15bcb6f8375dab3bb398c7c3e2cd7a4c2e5c6fea2f4d26"
},
"downloads": -1,
"filename": "python_ntfy-0.7.1.tar.gz",
"has_sig": false,
"md5_digest": "bb9042549b4b9d01211aeca1e7b8c63c",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<3.14,>=3.12",
"size": 6690,
"upload_time": "2025-07-29T21:42:03",
"upload_time_iso_8601": "2025-07-29T21:42:03.298531Z",
"url": "https://files.pythonhosted.org/packages/c4/f4/e20437081057b2a3689e591fb6c21560ac7bbe4152b701bba819c7b93842/python_ntfy-0.7.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-29 21:42:03",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "matthewcane",
"github_project": "python-ntfy",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "python-ntfy"
}