Hoopoe - Get notified of important stuff, right away.

Overview

Logo

Hoopoe - Get notified of important stuff, right away.

Report a Bug · Request a Feature . Ask a Question

license

PRs welcome made with hearth by thevahidal

Table of Contents

About

There are some important stuff that we must be aware of, like when they exceed some sort of limits or when they start setting fire to your house. In the company that I work, we had this burning desire for a system that send us alert when some stuff happens, right away. As you already know the only thing that we always carry around is our phones, so we thought what is better than getting a notification in those cases! That's why I started this project, it's supposed to help us and anyone else dealing with these kind of issues.

Hoopoe is meant to be real straight forward, when you want get notified of a certain thing, just call Hoopoe and Hoopoe make sure to send you a notification.

    # In your code...
    if that_thing_happened:
        hoopoe.call("The thing that we don't like happened!", extra={
            "where": "Alex's House",
            "type": "Cops",
            "how_bad": "4/5"
        })

    
    # And right away in your inbox...
    # Hoopoe Upupa | New Notification: The thing that we don't like happened!
    
    # When
    # Thu, Dec 23, 2021, 09:17 PM UTC
    # Info
    # {
    #   "where": "Alex's House",
    #   "type": "Cops",
    #   "how_bad": "4/5"
    # }

NOTICE: This snippet is imaginary.

Key features of Hoopoe:

  • Instant notifications

  • Support for email

  • Support for popular messengers (Coming Soon!)

    • Whatsapp
    • Telegram
    • Slack
    • ...
  • Lots of SDKs (Coming Soon!)

    • Python
    • Javascript
    • ...
  • Cloud (Coming Soon!) and on-premise

Why Hoopoe? The story behind the name.

Looking for a name that's both beautiful and meaningful, I started to google for ancient gods and heroes that are somehow related to delivering messages. There were some candidates but Hermes was the leading one, but since it's used so many times decided to go with another one, which ended up with Hoopoe. Hoopoe served King Solomon as a delivery man (animal?), so I thought why not! It's a cute animal and the name sticks!

Getting Started

Prerequisites

The recommended way to use Hoopoe is by using Hoopoe.app which take away the pain of deploying and maintaining Hoopoe on your own (Coming Soon!). For manual usage please refer to manual setup section.

Cloud vs. On-premise

Hoopoe core is a RESTful API. Either you're using the Hoopoe.app or your own deployment, you can refer to API docs (Coming Soon!) to read more about APIs.

Manual setup

There are two ways to deploy Hoopoe:

  1. Using docker image (Recommended) (Coming Soon!)
  2. Manual deployment, you can use this awesome article by Digitalocean on how to deploy a django project to production environment
    • Please make sure to serve your deployment over HTTPS (Important)

    • This project is actively updating, make sure to update your deployment often

    • Duplicate .env_, rename it to .env and fill the required environment variables See here

          cp .env_ .env
          nano .env

Environment Variables reference

Please note that entered values are case-sensitive. Default values are provided as an example to help you figure out what should be entered. As mentioned in manual setup section, you need to duplicate .env_, rename it to .env and fill the required environment variables.

Name Default (Example) Description
SECRET_KEY None Django Secret Key
DEBUG True Make sure to use DEBUG: False in production
EMAIL_HOST None (mail.example.com) Mail server host (Required for email driver)
EMAIL_HOST_USER None ([email protected]) Email address for sending emails
EMAIL_HOST_PASSWORD None Password for previous email
EMAIL_PORT 587 Mail server port
EMAIL_USE_TLS TRUE Email TLS
EMAIL_UPUPA_USER None ([email protected]) We use this email to send notifications
EMAIL_UPUPA_PASSWORD None Password for previous email
DJANGO_ALLOWED_HOSTS localhost 127.0.0.1 [::1] Django allowed hosts (Space separated)
SQL_ENGINE django.db.backends.postgresql DB Engine
SQL_DATABASE hoopoe_dev DB Name
SQL_USER hoopoe DB User
SQL_PASSWORD hoopoe DB User Password
SQL_HOST localhost DB Host
SQL_PORT 5432 DB Port
REDIS_HOST localhost Redis Host
REDIS_PORT 6379 Redis Port

Roadmap

See the open issues for a list of proposed features (and known issues).

  • Lots of SDKs
    • Python
    • Javascript
    • Cli
    • ...
  • Support for popular messengers
    • Telegram
    • Whatsapp
    • Slack ...

Contributing

First off, thanks for taking the time to contribute! Contributions are what makes the open-source community such an amazing place to learn, inspire, and create. Any contributions you make will benefit everybody else and are greatly appreciated.

Please try to create bug reports that are:

  • Reproducible. Include steps to reproduce the problem.
  • Specific. Include as much detail as possible: which version, what environment, etc.
  • Unique. Do not duplicate existing opened issues.
  • Scoped to a Single Bug. One bug per report.

Please adhere to this project's code of conduct.

Support

Reach out to the maintainer at one of the following places:

License

This project is licensed under the MIT license.

See LICENSE for more information.

Acknowledgements

Thanks for Amazing GitHub template for the awesome README and code of conduct that saved me a lot of hours:

You might also like...
Encode stuff with ducks!

Duckify Encoder Usage Download main.py and run it. main.py has an encoded version in encoded_main.py.txt. As A Module Download the duckify folder (or

addons to the turtle package that help you drew stuff more quickly

TurtlePlus addons to the turtle package that help you drew stuff more quickly --------------

A discord group chat creator just made it because i saw people selling this stuff for like up to 40 bucks

gccreator some discord group chat tools just made it because i saw people selling this stuff for like up to 40 bucks (im currently working on a faster

A working roblox account generator it doesnt bypass the capcha stuff cuz these didnt showed up in my test runs
A working roblox account generator it doesnt bypass the capcha stuff cuz these didnt showed up in my test runs

A working roblox account generator (state 11.5.2021) it doesnt bypass the capcha stuff cuz these didnt showed up in my test runs

Mines all the moneys and stuff and things.

NFT Miner NFT Miner - Version 1.1.0 - Quick Fix Since the whole NFT thing started booming on Twitter it's been hard not to see one of those ugly ass m

Python script to commit to your github for a perfect commit streak. This is purely for education purposes, please don't use this script to do bad stuff.

Daily-Git-Commit Commit to repo every day for the perfect commit streak Requirments pip install -r requirements.txt Setup Download this repository. Cr

Ikaros is a free financial library built in pure python that can be used to get information for single stocks, generate signals and build prortfolios

Ikaros is a free financial library built in pure python that can be used to get information for single stocks, generate signals and build prortfolios

Chicks get hostloc points regularly

hostloc_getPoints 小鸡定时获取hostloc积分 github action大规模失效,mjj平均一人10鸡,以下可以部署到自己的小鸡上

Daily knowledge pills to get better in Python.

Python daily pills Daily knowledge pills to get better Python code. Why Does your Python code suffers of any of this symptoms? Incorrect Indentation I

Comments
  • idea use apprise instead of telegram

    idea use apprise instead of telegram

    This would also allow other targets to be supported with almost no additional code.

    • https://github.com/caronc/apprise-api
    • https://github.com/caronc/apprise
    enhancement 
    opened by clach04 1
Releases(v0.2.7)
Owner
Vahid Al
Software Developer
Vahid Al
Esercizi di Python svolti per il biennio di Tecnologie Informatiche.

Esercizi di Python Un piccolo aiuto per Sofia che nel 2° quadrimestre inizierà Python :) Questo repository (termine tecnico di Git) puoi trovare tutti

Leonardo Essam Dei Rossi 2 Nov 07, 2022
NUM Alert - A work focus aid created for the Hack the Job hackathon

Contributors: Uladzislau Kaparykha, Amanda Hahn, Nicholas Waller Hackathon Team Name: N.U.M General Purpose: The general purpose of this program is to

Amanda Hahn 1 Jan 10, 2022
You'll learn about Iterators, Generators, Closure, Decorators, Property, and RegEx in detail with examples.

07_Python_Advanced_Topics Introduction 👋 In this tutorial, you will learn about: Python Iterators: They are objects that can be iterated upon. In thi

Milaan Parmar / Милан пармар / _米兰 帕尔马 252 Dec 23, 2022
Winxp_python3.6.15 - Python 3.6.15 For Windows XP SP3

This is Python version 3.6.15 Copyright (c) 2001-2021 Python Software Foundation. All rights reserved. See the end of this file for further copyright

Alex Free 13 Sep 11, 2022
Display your data in an attractive way in your notebook!

Bloxs Bloxs is a simple python package that helps you display information in an attractive way (formed in blocks). Perfect for building dashboards, re

MLJAR 192 Dec 28, 2022
Arabic to Roman Converter in Python

Arabic-to-Roman-Converter Made together with https://github.com/goltaraya . Arabic to Roman Converter in Python. -Instructions: 1 - Make sure you have

Pedro Lucas Tomazeti Fernandes 6 Oct 28, 2021
The ROS publisher/subscriber example packaged as a snap

publisher-subscriber The ROS publisher/subscriber example packaged as a snap, based on ROS Noetic and Ubuntu Core 20. Strictly confined. This example

3 Dec 03, 2021
The purpose of this tool is to check RDP capabilities of a user on specific targets.

RDPChecker The purpose of this tool is to check RDP capabilities of a user on specific targets. Programming concept was taken from RDPassSpray and thu

Hypnoze57 57 Aug 04, 2022
Cylinder volume calculator features the calculations of the volume of a Right /oblique full cylinder

Cylinder-Volume-Calculator Cylinder volume calculator features the calculations of the volume of a Right /oblique full cylinder. Size : 10.5 mb compat

Abhijeet 4 Nov 07, 2022
A pomodoro app written in Python

Pomodoro It's a pomodoro app written in Python. You can minimize it while you're working if you want to, it'll pop up on your screen when the timer is

Yiğit 1 Dec 20, 2021
Get you an ultimate lexer generator using Fable; port OCaml sedlex to FSharp, Python and more!

NOTE: currently we support interpreted mode and Python source code generation. It's EASY to compile compiled_unit into source code for C#, F# and othe

Taine Zhao 15 Aug 06, 2022
Create standalone, installable R Shiny apps using Electron

Create standalone, installable R Shiny apps using Electron

Chase Clark 5 Dec 24, 2021
LibreMind is a free meditation app made in under 24 hours. It has various meditation, breathwork, and visualization exercises.

libreMind Meditation exercises What is it? LibreMind is a free meditation app made in under 24 hours. It has various meditation, breathwork, and visua

1 May 24, 2022
Hello, Welcome to this repo. don't forget to read guidelines in readme.md

Hacktoberfest_2021 If you looking for your first contribution, we are here to help. Just create a simple program using any language you like in our fo

Wafa Rifqi Anafin 117 Dec 14, 2022
Spyware baseado em Python para Windows que registra como atividades da janela em primeiro plano, entradas do teclado.

Spyware baseado em Python para Windows que registra como atividades da janela em primeiro plano, entradas do teclado. Além disso, é capaz de fazer capturas de tela e executar comandos do shell em seg

Tavares 1 Oct 29, 2021
HiSim - House Infrastructure Simulator

HiSim is a Python package for simulation and analysis of household scenarios using modern components as alternative to fossil fuel based ones.

FZJ-IEK3 17 Dec 17, 2022
p5 is a Python package based on the core ideas of Processing.

p5 p5 is a Python library that provides high level drawing functionality to help you quickly create simulations and interactive art using Python. It c

p5py 645 Jan 04, 2023
Advanced Developing of Python Apps Final Exercise

Advanced-Developing-of-Python-Apps-Final-Exercise This is an exercise that I did for a python advanced learning course. The exercise is divided into t

Alejandro Méndez Fernández 1 Dec 04, 2021
本仓库整理了腾讯视频、爱奇艺、优酷、哔哩哔哩等视频网站中,能够观看的「豆瓣电影 Top250 榜单」影片。

Where is top 250 movie ? 本仓库整理了腾讯视频、爱奇艺、优酷、哔哩哔哩等视频网站中,能够观看的「豆瓣电影 Top250 榜单」影片,点击 Badge 可跳转至相应的电影首页。

MayanDev 123 Dec 22, 2022
原神抽卡记录导出

原神抽卡记录导出 抽卡记录分析工具 from @笑沐泽 抽卡记录导出工具js版,含油猴脚本可在浏览器导出 注意:我的是python版,带饼图的是隔壁electron版,功能类似 Wik

834 Jan 04, 2023