All Projects → jupytercalpoly → reactivepy

jupytercalpoly / reactivepy

Licence: BSD-3-Clause license
A reactive Python kernel

Programming Languages

python
139335 projects - #7 most used programming language

reactivepy

Stability Experimental

Binder

A reactive Python kernel. Whenever a variable value is changed, the kernel automatically executes its dependencies (any cells which use that variable) with the updated value. As of now, reactivepy can also support asynchronous functions.

Each notebook cell for a reactive kernel contains a single definition of a variable, function, or class.

When a cell is run, the kernel conducts static analysis to automatically extract and run dependencies -- saving users the trouble of remembering dependencies and re-running individual cells.

Dependencies

  • ipython>=4.0.0
  • jupyter_client
  • tornado>=5.0
  • ipykernel>=4.8

Install

git clone https://github.com/jupytercalpoly/reactivepy.git
pip install .

Develop

git clone https://github.com/jupytercalpoly/reactivepy.git
pip install -e .

TODO

  • Move execution out of a queue, this will allow executions to interleave
  • Support deleting unnamed nodes (nodes which do not export any variables). This will reduce space usage and reduce unnecessary computation
  • Fix error with being unable to define a node after initially erroring out while creating it

Test

Requirements

Install pytest and pytest-asyncio using conda or pip:

conda install pytest pytest-asyncio

Then run

pytest .
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].