some random stuff. caelestia incoming
This commit is contained in:
@@ -0,0 +1 @@
|
||||
pip
|
||||
@@ -0,0 +1,139 @@
|
||||
Metadata-Version: 2.4
|
||||
Name: aiontfy
|
||||
Version: 0.5.4
|
||||
Summary: Async ntfy client library
|
||||
Project-URL: Documentation, https://tr4nt0r.github.io/aiontfy/
|
||||
Project-URL: Source, https://github.com/tr4nt0r/aiontfy
|
||||
Author-email: Manfred Dennerlein Rodelo <manfred@dennerlein.name>
|
||||
License-Expression: MIT
|
||||
License-File: LICENSE
|
||||
Classifier: Operating System :: OS Independent
|
||||
Classifier: Programming Language :: Python :: 3.12
|
||||
Requires-Python: >=3.12
|
||||
Requires-Dist: aiohttp~=3.11
|
||||
Requires-Dist: mashumaro~=3.13
|
||||
Requires-Dist: orjson~=3.10
|
||||
Description-Content-Type: text/markdown
|
||||
|
||||
# aiontfy
|
||||
|
||||
Asynchronous client library for the [ntfy](https://ntfy.sh/) pub-sub notification service
|
||||
|
||||
[](https://github.com/tr4nt0r/aiontfy/actions)
|
||||
[](https://codecov.io/gh/tr4nt0r/aiontfy)
|
||||
[](https://badge.fury.io/py/aiontfy)
|
||||

|
||||
[](https://www.buymeacoffee.com/tr4nt0r)
|
||||
[](https://github.com/sponsors/tr4nt0r)
|
||||
|
||||
---
|
||||
|
||||
## 📖 Documentation
|
||||
|
||||
- **Full Documentation**: [https://tr4nt0r.github.io/aiontfy](https://tr4nt0r.github.io/aiontfy)
|
||||
|
||||
- **Source Code**: [https://github.com/tr4nt0r/aiontfy](https://github.com/tr4nt0r/aiontfy)
|
||||
|
||||
---
|
||||
|
||||
## 📦 Installation
|
||||
|
||||
You can install aiontfy via pip:
|
||||
|
||||
```sh
|
||||
pip install aiontfy
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🚀 Usage
|
||||
|
||||
### Basic Examples
|
||||
|
||||
```python
|
||||
"""Publish to a ntfy topic."""
|
||||
|
||||
import asyncio
|
||||
|
||||
from aiohttp import ClientSession
|
||||
|
||||
from aiontfy import Message, Ntfy
|
||||
|
||||
|
||||
async def main() -> None:
|
||||
async with ClientSession() as session:
|
||||
|
||||
ntfy = Ntfy("https://ntfy.sh", session)
|
||||
|
||||
message = Message(
|
||||
topic="aiontfy",
|
||||
title="Hello",
|
||||
message="World",
|
||||
click="https://example.com/",
|
||||
delay="10s",
|
||||
priority=3,
|
||||
tags=["octopus"],
|
||||
)
|
||||
print(await ntfy.publish(message))
|
||||
|
||||
asyncio.run(main())
|
||||
|
||||
```
|
||||
|
||||
```python
|
||||
"""Subscribe to ntfy topics."""
|
||||
|
||||
import asyncio
|
||||
|
||||
from aiohttp import ClientSession
|
||||
|
||||
from aiontfy import Event, Notification, Ntfy
|
||||
|
||||
|
||||
def callback(message: Notification) -> None:
|
||||
"""Process notifications callback function."""
|
||||
if message.event is Event.MESSAGE:
|
||||
print(message.to_dict())
|
||||
|
||||
|
||||
async def main() -> None:
|
||||
async with ClientSession() as session:
|
||||
ntfy = Ntfy("https://ntfy.sh", session)
|
||||
|
||||
await ntfy.subscribe(
|
||||
["aiontfy", "test"], # Subscribe to multiple topics
|
||||
callback,
|
||||
priority=[3, 4, 5], # Only subscribe to priority >= 3
|
||||
)
|
||||
|
||||
|
||||
asyncio.run(main())
|
||||
|
||||
```
|
||||
|
||||
For more advanced usage, refer to the [documentation](https://tr4nt0r.github.io/pynecil).
|
||||
|
||||
---
|
||||
|
||||
## 🛠 Contributing
|
||||
|
||||
Contributions are welcome! To contribute:
|
||||
|
||||
1. Fork the repository.
|
||||
2. Create a new branch.
|
||||
3. Make your changes and commit them.
|
||||
4. Submit a pull request.
|
||||
|
||||
Make sure to follow the [contributing guidelines](CONTRIBUTING.md).
|
||||
|
||||
---
|
||||
|
||||
## 📜 License
|
||||
|
||||
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
|
||||
|
||||
---
|
||||
|
||||
## ❤️ Support
|
||||
|
||||
If you find this project useful, consider [buying me a coffee ☕](https://www.buymeacoffee.com/tr4nt0r) or [sponsoring me on GitHub](https://github.com/sponsors/tr4nt0r)!
|
||||
@@ -0,0 +1,19 @@
|
||||
aiontfy-0.5.4.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
|
||||
aiontfy-0.5.4.dist-info/METADATA,sha256=QOfg4a9MSSwMdKHis1N6JYqvtP4d0bg9ozvpfpsn38Y,3574
|
||||
aiontfy-0.5.4.dist-info/RECORD,,
|
||||
aiontfy-0.5.4.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
||||
aiontfy-0.5.4.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
||||
aiontfy-0.5.4.dist-info/licenses/LICENSE,sha256=9FSL2D89kniIeTwuptPxy7sH5MXvxWHVZsd4-xVlwAg,1083
|
||||
aiontfy/__init__.py,sha256=8q5f3VznsOKQP869XRnORVreFrxwQCHEjbLVzFGofrU,814
|
||||
aiontfy/__pycache__/__init__.cpython-312.pyc,,
|
||||
aiontfy/__pycache__/const.cpython-312.pyc,,
|
||||
aiontfy/__pycache__/exceptions.cpython-312.pyc,,
|
||||
aiontfy/__pycache__/helpers.cpython-312.pyc,,
|
||||
aiontfy/__pycache__/ntfy.cpython-312.pyc,,
|
||||
aiontfy/__pycache__/types.cpython-312.pyc,,
|
||||
aiontfy/const.py,sha256=c2MBTbxyAl8Swpj-MfpZBM_q3h2hwwlDeErQpMlA6YY,87
|
||||
aiontfy/exceptions.py,sha256=A984myIhK4I9DtdRegq9ASaWG1uR-9k2gl6OIZvyfj0,16426
|
||||
aiontfy/helpers.py,sha256=fpRsw-oD3snQjwPpoxzQv1_RRKiaKw7WoudKFaH2YM0,1072
|
||||
aiontfy/ntfy.py,sha256=8Lg_JvradUIeYIEcIGXJ2R9won7TezAISJGJi8cQs0U,10995
|
||||
aiontfy/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
||||
aiontfy/types.py,sha256=Hjx3ADBRCLpVXm0C81z6AbMW4rb_6lvEvboc-H5eEbg,10750
|
||||
@@ -0,0 +1,4 @@
|
||||
Wheel-Version: 1.0
|
||||
Generator: hatchling 1.27.0
|
||||
Root-Is-Purelib: true
|
||||
Tag: py3-none-any
|
||||
@@ -0,0 +1,21 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2025, Manfred Dennerlein Rodelo
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
Reference in New Issue
Block a user