Skip to main content

IPython/Jupyter cell magic to execute code after a cell succeeds or fails

Project description

on-done

An IPython/Jupyter cell magic to execute code after a cell succeeds or fails so you can receive an alert when your code terminates.

Installation

$ pip install on-done

Example

Start by launching an IPython session:

$ ipython

Then, load the extension:

In [1]: %load_ext on_done

Next, define a function to alert you that your code has terminated.

In [2]: def alert():
   ...:     from datetime import datetime
   ...:     print(f"Cell terminated at {str(datetime.now())}\n")

You can change this function to send yourself an email, Slack alert, etc.

Putting %%on_done alert() at the top of a cell will cause it to alert:

In [3]: %%on_done alert()
   ...: import numpy as np
   ...: x = np.random.randn(10**8)
   ...: print(f"mean={x.mean()}")
mean=0.00021783589122321365
Cell terminated at 2022-11-21 00:35:40.678180

In particular, the alert will also occur if the cell failed:

In [4]: %%on_done alert()
   ...: import numpy as np
   ...: x = np.random.randn(10**8)
   ...: print(f"mean={x.mean(axis=1)}")
Cell terminated at 2022-11-21 00:35:50.654766

---------------------------------------------------------------------------
AxisError                                 Traceback (most recent call last)
...

Credit

on-done is inspired by this Stack Overflow answer by Colin Carroll

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

on-done-0.1.1.tar.gz (3.0 kB view details)

Uploaded Source

Built Distribution

on_done-0.1.1-py3-none-any.whl (3.3 kB view details)

Uploaded Python 3

File details

Details for the file on-done-0.1.1.tar.gz.

File metadata

  • Download URL: on-done-0.1.1.tar.gz
  • Upload date:
  • Size: 3.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.15

File hashes

Hashes for on-done-0.1.1.tar.gz
Algorithm Hash digest
SHA256 a4ede12014668bdf94fe60f529c4ab1402d903c685e5a26d1c959e92d61b5d9b
MD5 b1a809a825c93922cbe7302a8f56ba49
BLAKE2b-256 7ef6e4e8ac511a7b74456a5f60f3bb9f8e3af90bc75e2f7815f5f29f6dc907a5

See more details on using hashes here.

File details

Details for the file on_done-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: on_done-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 3.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.15

File hashes

Hashes for on_done-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 82b6ae2a25ab87088e8cf0ac9b174393a0ba59889a4fc962bfb379bfc00bfa99
MD5 73fe35006ca843c86e88ec5e989a1fbe
BLAKE2b-256 9fa894767061595d38b011417530bced52de67367733a60a2da638c31ed502ad

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page