发送通知的简单方法

notifiers的Python项目详细描述


通知程序

Full logo

Travis CICodecovimagePyPi versionSupported Python versionsLicenseStatusDocker buildRTDPaypalDownloadsTwitter FollowCode style: blackDependabot Status

有关最近的更改,请参见changelog

有应用程序或服务,您想让您的用户与他们选择的提供商一起使用通知吗?处理脚本时,是否要根据其输出接收通知您不需要自己实现解决方案,也不需要使用单独的提供者库。为所有通知提供程序提供一站式服务,具有统一而简单的界面。

支持的提供程序

PushoverSimplePushSlackGmail,电子邮件(SMTP),TelegramGitterPushbulletJoinHipchatZulipTwilioPagerdutyMailgunPopcornNotifyStatusPage.io

优点

  • 把宝贵的时间花在自己的代码库上,而不是追查第三方提供商的api。这就是我们来这里的目的!
  • 有了一组已知且稳定的最小依赖项(requestsjsonschemaclick),您就比安装第三方sdk更好了。
  • 一个统一的接口意味着你已经支持任何新的提供者,将被添加,不需要更多的工作!
  • 彻底的测试意味着防止任何破坏性的api更改。我们确保您的代码您的通知将始终得到传递!

安装

通过PIP:

$ pip install notifiers

或Dockerhub:

$ docker pull liiight/notifiers

基本用法

>>>fromnotifiersimportget_notifier>>>p=get_notifier('pushover')>>>p.required{'required':['user','message','token']}>>>p.notify(user='foo',token='bar',message='test')<NotificationResponse,provider=Pushover,status=Success>

或:

>>>fromnotifiersimportnotify>>>notify('pushover',user='foo',token='bar',message='test')<NotificationResponse,provider=Pushover,status=Success>

从CLI

$ notifiers pushover notify --user foo --token baz "This is so easy!"

作为记录器

直接添加到现有的STDLIB日志:

>>>importlogging>>>fromnotifiers.loggingimportNotificationHandler>>>log=logging.getLogger(__name__)>>>defaults={'token':'foo','user':'bar'}>>>hdlr=NotificationHandler('pushover',defaults=defaults)>>>hdlr.setLevel(logging.ERROR)>>>log.addHandler(hdlr)>>>log.error('And just like that, you get notified about all your errors!')

提及

在不久的将来

  • 更多的供应商
  • 低级提供商(Amazon SNS、Google FCM、OS Toast消息)通过extra依赖关系

有关详细信息,请参见Docs

捐款

如果你喜欢这个并且想给我买杯咖啡,请点击上面的捐赠按钮或者点击这个link

行为准则

在通知程序项目的代码库、问题跟踪程序和聊天室中进行交互的每个人都应该遵循PyPA Code of Conduct.

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java我试图使用@OneToOne作为双向映射来映射实体,但却遇到了奇怪的异常   性能Java异步如何工作?异步方法似乎不是异步运行的   java这个代码可以更短吗   线程“main”Java中的csv Java ArrayList异常。lang.NegativeArraySizeException:28   java确定LayoutManager预布局中的显示视图   java如何在FirestorePagingAdapter中通过方法onLoadingStateChanged隐藏/显示进度条?   在Java中,如何打印一个类似于中间有“过道”的座位表的2d数组?   http Java实现字节范围服务,而不使用仅使用Java api的servlet   java无法使用命名根元素生成json   java如何在注销侦听器中获取http会话id?   数组内部输入(java)?   java如何为特殊情况提供更简单的构造函数   java在swing应用程序中显示JavaFX后台   java如何启用系统。出来在eclipse中运行Junit测试时使用println()?   如何在Java中实现Oracle用户定义的聚合函数