Metadata-Version: 2.1
Name: cado
Version: 0.1.0
Summary: Python notebook development environment.
Home-page: https://github.com/gregorybchris/cado
License: Apache Software License
Keywords: python,notebook,development,environment
Author: Chris Gregory
Author-email: christopher.b.gregory@gmail.com
Requires-Python: >=3.8.1,<4
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: License :: Other/Proprietary License
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Topic :: Software Development
Requires-Dist: click (>=8.1.3,<9.0.0)
Requires-Dist: fastapi (>=0.70.0,<0.71.0)
Requires-Dist: pydantic (>=1.9.0,<2.0.0)
Requires-Dist: uvicorn[standard] (>=0.15.0,<0.16.0)
Project-URL: Repository, https://github.com/gregorybchris/cado
Description-Content-Type: text/markdown

<div align="center">
  <img src="assets/cado-banner.png">
  <h1>cado</h1>

  <p>
    <strong>Python notebook IDE with a focus on reactivity</strong>
  </p>

  <br>
  <div>
    <a href="https://badge.fury.io/py/cado"><img src="https://badge.fury.io/py/cado.svg" alt="PyPI"></a>
    <a href="https://pepy.tech/project/cado"><img src="https://pepy.tech/badge/cado" alt="Downloads"></a>
    <a href="https://github.com/gregorybchris/cado/actions/workflows/ci.yaml"><img src="https://github.com/gregorybchris/cado/actions/workflows/ci.yaml/badge.svg" alt="CI"></a>
  </div>
  <br>
</div>

## About

`cado` is a notebook IDE for Python, like [Jupyter](https://jupyter.org/), but with a reactive cell model, taking inspiration from [Observable](https://observablehq.com/). Each cell defines its own outputs that other cells can listen to. When the output of a parent cell updates, the change propagates to all child cells. When a child runs, it uses cached outputs from parent cells, reducing the amount of computation per cell.

## Installation

```bash
pip install cado
```

## Usage

```bash
# Start up a cado server
cado up
```

