Skip to main content

Reminder tool for developers who are engaged in fields having long execution time.

Project description

DevReminder

Project Description

DevReminder is a pure python project that works as a reminder for developers who are engaged in fields having long execution time such as machine learning and deep learning.

It has own REST API and uses Telegram bot API as interface. Telegram is a mobile and desktop messaging app. Thereby, this project offers developers to be aware of running code’s status using their mobile phone.

Source code available at https://github.com/cagataygulten/devreminder

Installation

Install package by pip:

pip install devreminder

Or you can install from source with:

$ git clone https://github.com/cagataygulten/devreminder
$ cd devreminder
$ python setup.py install

And install telegram application on your mobile phone.

How to Use

STEP 1: Open Telegram application, type DevReminder in search field.


https://github.com/cagataygulten/devreminder/blob/master/pic/picture1.JPG?raw=true

STEP 2: Start a chat with DevReminder bot.


https://github.com/cagataygulten/devreminder/blob/master/pic/picture2.JPG?raw=true

STEP 3: Then copy your chat id.

Turn back to IDE and import devreminder package, call class with three arguments and use “me” function to trigger bot:

from devreminder import DevReminder

remind = DevReminder(chat_id = 1932126911, auto_remind = False , time_threshold = 0)
remind.me("Test")

Output:

https://github.com/cagataygulten/devreminder/blob/master/pic/picture3.JPG?raw=true

Class Arguments:

Auto remind: If auto remind mode is activated, bot reminds after every executed cell in Ipython. Not suitable for python interpreter.

Time threshold: DevReminder Bot only reminds if the execution time is greater than given threshold value as seconds. It is useful when combined with auto remind mode. Default value is 0, it means reminds every cell without considering execution time.

Functions:

DevReminder.me(str) : Triggers bot with given process description after execution. If process info is not given, bot reminds without process info.:

remind = DevReminder(chat_id = 1932126911)
remind.me("Process info")

DevReminder.set_time_threshold(int): Sets time threshold as seconds.:

remind.set_time_threshold(3)

DevReminder.auto_remind(bool): Sets auto remind mode. If no input is given, acts as a switch.:

remind.auto_remind(True)

NOTE: DevReminder class is a singleton class that lets you to call it many times with different inputs. So you can change auto remind mode or time threshold value by calling it again in Ipython except using functions.

Examples

Without Auto Reminder::

In [1]>>
    from devreminder import DevReminder
    import time

In [2]>>
    remind = DevReminder(1932126911,False,5)

In [3]>>
    remind.me("Example")
    time.sleep(6) # Less than 5 does not warn

Output:

https://github.com/cagataygulten/devreminder/blob/master/pic/picture4.JPG?raw=true

With Auto Reminder::

In [1]>>
    from devreminder import DevReminder
    import time

In [2]>>
    remind = DevReminder(1932126911,True,3)

...

In [9]>>
    time.sleep(8) # Less than 3 does not warn

Output:

https://github.com/cagataygulten/devreminder/blob/master/pic/picture5.JPG?raw=true

General Info

DevReminder uses own API as a transition API to keep Telegram Bot token private.

DevReminder API does not record any information (including telegram chat id) that sent as an input by users. Source code of the API is also available in github repository.

DevReminder also works on python interpreter (.py scripts), shows execution count as 0.

Contribution

Questions and contributions of all kinds are welcome. You can get in contact with me via mail or create an issue.

Contact: cagataygulten@gmail.com

License

DevReminder is under the MIT license. See LICENSE.txt for more information.

Project details


Download files

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

Source Distribution

devreminder-0.0.1.tar.gz (5.1 kB view details)

Uploaded Source

Built Distribution

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

devreminder-0.0.1-py3-none-any.whl (5.4 kB view details)

Uploaded Python 3

File details

Details for the file devreminder-0.0.1.tar.gz.

File metadata

  • Download URL: devreminder-0.0.1.tar.gz
  • Upload date:
  • Size: 5.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.4 pkginfo/1.7.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.62.1 CPython/3.9.1

File hashes

Hashes for devreminder-0.0.1.tar.gz
Algorithm Hash digest
SHA256 de2aee4a21ea01fae20c71c04f3e241e09d9dc3c31f6a6aa2ff21e24b53549fd
MD5 01cc8f66a1eb3a09082cfcf9c938c13e
BLAKE2b-256 517f21054f4dce6ba4e7f416f54bb2c7ece2e34c3e06bc7b20f3f93f1d841dd0

See more details on using hashes here.

File details

Details for the file devreminder-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: devreminder-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 5.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.4 pkginfo/1.7.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.62.1 CPython/3.9.1

File hashes

Hashes for devreminder-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 689deb135eb123821836284f33234e02a3cf9fba83f4715ec098a9432440e8d2
MD5 8eee54c358d95a1538c9cd0486f7942d
BLAKE2b-256 37c499bc940597bff7b8f32b027e5aff7d101d9f3362b698aeb1e777ca27330e

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 Pingdom Monitoring Sentry Error logging StatusPage Status page