Skip to main content

FuncNotify

Build Deploy LCommit release License

Premise:

Sometimes, functions take a long time. I wanted to create something that automatically notifies you when they're completed or of any errors, training ML. The advantage over other decorator nontifiers is that there's an added option to hide your api tokens and emails so they aren't accidentally pushed to a public repo.

This is a super lean ReadMe, check out the github linked here

Installation

$ pip install FuncNotify

Use case

# Add more as projects grow!
from FuncNotify import time_func, time_text, time_slack


@time_func(NotifyMethod="Text", use_env=True, env_path".env", update_env=True, cellphone="8001234567")
def wait_func():
    """This function will use the text method and pull env varaibles from
    `.env`, it will update the already determined env variables too!"""
    do_something()


@time_Text()
def wait_func2():
    """All parameters are optional and each method has a personal decorator, even the 
    function call is optional see below"""
    do_something()

@time_Text
def wait_func3():
    """Auto pull from `.env` is enabled by default with Method specific time decorators"""
    do_something()

@time_func(multi_target=[{...}, {...}], multi_env=["1.env", "2.env"])
def wait_func4():
    """Send to multiple sources either through specifiying multiple dictionaries of kwargs
    or multiple .env paths, or both in pairs!"""
    do_something()

if __name__ == "__main__":
    """You don't even need to use the timer as a decorator, use it as a normal function
    This is how we do testing 😊 """
    time_func(function=wait_func5)(*func5_args, **func5_kwargs)

Both accomplish the same objective of notifying the user after wait_func() completes, one does so with the phone number saved as a env variable in .env so it never accidentally gets exposed.

Supported Notify Methods

Platform
Console Print
Email Twilio
Email Yagmail
Text
Slack
Microsoft Teams
Create .env in current working directory and fill out information that you wanna use

template.env

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

FuncNotify-1.2.0.tar.gz (14.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

FuncNotify-1.2.0-py3-none-any.whl (19.3 kB view details)

Uploaded Python 3

File details

Details for the file FuncNotify-1.2.0.tar.gz.

File metadata

  • Download URL: FuncNotify-1.2.0.tar.gz
  • Upload date:
  • Size: 14.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.0

File hashes

Hashes for FuncNotify-1.2.0.tar.gz
Algorithm Hash digest
SHA256 0df68ed46ae13f96d6748275d4d781a03b413ec1ac06de547f752f693d4f7414
MD5 f53460b6474df6a706c0fb83e3f725ab
BLAKE2b-256 7c7a5dfc4e88a7333ea1102677606581b545129da0735dccf716e1b12b682849

See more details on using hashes here.

File details

Details for the file FuncNotify-1.2.0-py3-none-any.whl.

File metadata

  • Download URL: FuncNotify-1.2.0-py3-none-any.whl
  • Upload date:
  • Size: 19.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.0

File hashes

Hashes for FuncNotify-1.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 18535e1b9854ec9894fd106cf027db87febbe0ab0e0bec15a71085b244f68d32
MD5 746197b8ccb9c8e382d099f86b292478
BLAKE2b-256 6897c984a2b8db742960d0ccb07ca6a50fe95d28496394d9bdf277bd5fd62f22

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page