Easy bug reporter for small projects. Zero dependencies - download and run. Asyncio support.
Project description
Easy Notifyer
Easy bug reporter for small projects. Zero dependencies - download and run. Asyncio support.
Install
pip install easy-notifyer
Example usage:
Telegram reporter
from easy_notifyer import telegram_reporter
exception_telegram_reporter = telegram_reporter(
token="123456789:QweRtyuWErtyZxcdsG",
chat_id=123456789, # can be list from chat_id: [123456789, 876522345], or @username
service_name='qwe'
)
@exception_telegram_reporter(exceptions=OSError)
def foo():
...
raise OSError
from easy_notifyer import telegram_reporter
exception_telegram_reporter = telegram_reporter(
token="123456789:QweRtyuWErtyZxcdsG",
chat_id="@my_super_nickname",
api_url='https://your_super_url_api.com/'
)
@exception_telegram_reporter(
exceptions=OSError, # can be tuple from exceptions
as_attached=True, # to send traceback as a file
filename='bar_report.log', # custom filename for attach
header='Testing for bar', # first line in message-report. default: "Your program has crashed ☠️"
datetime_format="%d - %H:%M:%S", # format datetime for report
)
async def bar():
...
raise OSError
Can be using params disable_web_page_preview and disable_notification:
from easy_notifyer import telegram_reporter
exception_telegram_reporter = telegram_reporter(
token="123456789:QweRtyuWErtyZxcdsG",
chat_id=["@superadmin1", "@superadmin2"],
)
@exception_telegram_reporter(
header='Test request to http://example.com',
disable_web_page_preview=True, # not worked if as_attach=True
disable_notification=True,
)
def foo():
...
raise ValueError
Can be using basic client:
from easy_notifyer import Telegram
def main():
...
telegram = Telegram()
telegram.send_message('hello from easy notifyer')
img = open('my_image.jpg', 'rb')
telegram.send_attach(img, filename='my_image.jpg')
async def main_async():
...
telegram = Telegram()
await telegram.async_send_message('async hello from easy notifyer')
img = open('my_image.jpg', 'rb')
await telegram.async_send_attach(img, filename='my_image.jpg')
Mail reporter
from easy_notifyer import mailer_reporter
exception_telegram_reporter = mailer_reporter(
host='smtp.example.org',
port=587,
login='login@example.com',
password='qwerty12345',
from_addr='login@example.com',
to_addrs='myemail@gmail.com, mysecondmail@mail.com',
ssl=False,
service_name='super app'
)
@exception_telegram_reporter(exceptions=ValueError)
def bar():
...
raise ValueError
from easy_notifyer import mailer_reporter
exception_telegram_reporter = mailer_reporter(
host='smtp.example.org',
port=587,
login='login@example.com',
password='qwerty12345',
from_addr='login@example.com',
to_addrs='myemail@gmail.com, mysecondmail@mail.com',
ssl=False,
)
@exception_telegram_reporter(
exceptions=OSError, # can be tuple from exceptions
as_attached=True, # to send traceback as a file
filename='bar_report.log', # custom filename for attach
header='Testing for bar', # first line in message-report. default: "Your program has crashed ☠️"
subject='hello from foobar', # set custom subject for message
datetime_format="%d - %H:%M:%S", # format datetime for report
)
async def foobar():
...
raise OSError
Can be using basic client:
from easy_notifyer import Mailer
def main():
...
mailer = Mailer()
img = open('my_image.jpg', 'rb')
mailer.send_message(
message='hello from main',
subject='custom subject for message',
attach=img,
filename='my_image.jpg',
)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file easy_notifyer-0.2.1.tar.gz.
File metadata
- Download URL: easy_notifyer-0.2.1.tar.gz
- Upload date:
- Size: 10.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.7.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2cb63f15cde4572d7a38c8b87eab38e9b542a6bca27c50ec68eadd108586f192
|
|
| MD5 |
ebe5a9a7840108af14d8c9f9014b6c88
|
|
| BLAKE2b-256 |
a715eaad82ef28cc03edd7592198fff960489cc3b7e20ebde02ba9f64782a2b3
|
File details
Details for the file easy_notifyer-0.2.1-py3-none-any.whl.
File metadata
- Download URL: easy_notifyer-0.2.1-py3-none-any.whl
- Upload date:
- Size: 13.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.7.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
076087364330401c6d476eecbb6a9fa60b78820c642eafbee0d1f200e3a1a0cd
|
|
| MD5 |
b1fa83474dbee5349ef99d3153ca44a0
|
|
| BLAKE2b-256 |
3ba31e78a97fdfbbff8f89384a4cad32a08433073f56b0cc8a7ab59ef5e43ae0
|