<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 a child cell runs, it uses cached outputs from parent cells. And when the output of a parent cell updates, the change propagates to all child cells automatically.
## Installation
```bash
pip install cado
```
## Features
If you have ideas for new features feel free to create an issue or submit a pull request!
- [x] Reactive cells
- [x] Auto-save to disk
- [x] Keyboard shortcuts
- [x] Drag cells to reorder
- [x] Markdown mode
- [x] Notebook files viewer
## Usage
```bash
# Start up a cado server
cado up
# Open http://0.0.0.0:8000 in a browser
```
You should now see a screen that lists out all of your notebooks. Click on the example notebook to get started.
<p align="center">
<img style="inline-block; margin-right: 10px;" src="assets/notebooks-screen.png" height=400>
<img style="inline-block" src="assets/notebook-screen.png" height=400>
</p>
## Keyboard Shortcuts
| Action | Command |
| -------------------------------------------- | -------------- |
| Make the cell above the active cell | `UpArrow` |
| Make the cell below the active cell | `DownArrow` |
| Run the active cell | `Shift+Enter` |
| Clear the active cell | `Shift+Delete` |
| Turn on edit mode | `Enter` |
| Turn off edit mode | `Escape` |
| Create a new cell before the active cell | `Control+a` |
| Create a new cell after the active cell | `Control+b` |
| Create a new cell at the end of the notebook | `Control+n` |
| Delete the active cell | `Control+d` |
Raw data
{
"_id": null,
"home_page": "https://github.com/gregorybchris/cado",
"name": "cado",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.8.1,<4",
"maintainer_email": "",
"keywords": "python,notebook,development,environment",
"author": "Chris Gregory",
"author_email": "christopher.b.gregory@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/7f/47/d0b1063b316204281b09916686b185119af3d30f3368527b1b8b70d09bc5/cado-0.1.8.tar.gz",
"platform": null,
"description": "<div align=\"center\">\n <img src=\"assets/cado-banner.png\">\n <h1>cado</h1>\n\n <p>\n <strong>Python notebook IDE with a focus on reactivity</strong>\n </p>\n\n <br>\n <div>\n <a href=\"https://badge.fury.io/py/cado\"><img src=\"https://badge.fury.io/py/cado.svg\" alt=\"PyPI\"></a>\n <a href=\"https://pepy.tech/project/cado\"><img src=\"https://pepy.tech/badge/cado\" alt=\"Downloads\"></a>\n <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>\n </div>\n <br>\n</div>\n\n## About\n\n`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 a child cell runs, it uses cached outputs from parent cells. And when the output of a parent cell updates, the change propagates to all child cells automatically.\n\n## Installation\n\n```bash\npip install cado\n```\n\n## Features\n\nIf you have ideas for new features feel free to create an issue or submit a pull request!\n\n- [x] Reactive cells\n- [x] Auto-save to disk\n- [x] Keyboard shortcuts\n- [x] Drag cells to reorder\n- [x] Markdown mode\n- [x] Notebook files viewer\n\n## Usage\n\n```bash\n# Start up a cado server\ncado up\n\n# Open http://0.0.0.0:8000 in a browser\n```\n\nYou should now see a screen that lists out all of your notebooks. Click on the example notebook to get started.\n\n<p align=\"center\">\n <img style=\"inline-block; margin-right: 10px;\" src=\"assets/notebooks-screen.png\" height=400>\n <img style=\"inline-block\" src=\"assets/notebook-screen.png\" height=400>\n</p>\n\n## Keyboard Shortcuts\n\n| Action | Command |\n| -------------------------------------------- | -------------- |\n| Make the cell above the active cell | `UpArrow` |\n| Make the cell below the active cell | `DownArrow` |\n| Run the active cell | `Shift+Enter` |\n| Clear the active cell | `Shift+Delete` |\n| Turn on edit mode | `Enter` |\n| Turn off edit mode | `Escape` |\n| Create a new cell before the active cell | `Control+a` |\n| Create a new cell after the active cell | `Control+b` |\n| Create a new cell at the end of the notebook | `Control+n` |\n| Delete the active cell | `Control+d` |\n",
"bugtrack_url": null,
"license": "Apache Software License",
"summary": "Python notebook development environment.",
"version": "0.1.8",
"split_keywords": [
"python",
"notebook",
"development",
"environment"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "fead442b77aca6172937f8c0df9e24cf6e5d7d1a771eab076db710ed5f063870",
"md5": "454d22bc2a0b00fb6915aa8eaaeca786",
"sha256": "076a4cbd8e154a2331fd02e5fd41178ff1167e34c56d0f8249400403af3e0b44"
},
"downloads": -1,
"filename": "cado-0.1.8-py3-none-any.whl",
"has_sig": false,
"md5_digest": "454d22bc2a0b00fb6915aa8eaaeca786",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8.1,<4",
"size": 2461528,
"upload_time": "2023-03-25T21:25:44",
"upload_time_iso_8601": "2023-03-25T21:25:44.940210Z",
"url": "https://files.pythonhosted.org/packages/fe/ad/442b77aca6172937f8c0df9e24cf6e5d7d1a771eab076db710ed5f063870/cado-0.1.8-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "7f47d0b1063b316204281b09916686b185119af3d30f3368527b1b8b70d09bc5",
"md5": "ac4f94554dd87cac1476857982b66644",
"sha256": "672750715ce1942f41c8e6bf841e9834dd15a4783a6d822d0cb0ce48e432039b"
},
"downloads": -1,
"filename": "cado-0.1.8.tar.gz",
"has_sig": false,
"md5_digest": "ac4f94554dd87cac1476857982b66644",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8.1,<4",
"size": 2448436,
"upload_time": "2023-03-25T21:25:49",
"upload_time_iso_8601": "2023-03-25T21:25:49.220728Z",
"url": "https://files.pythonhosted.org/packages/7f/47/d0b1063b316204281b09916686b185119af3d30f3368527b1b8b70d09bc5/cado-0.1.8.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-03-25 21:25:49",
"github": true,
"gitlab": false,
"bitbucket": false,
"github_user": "gregorybchris",
"github_project": "cado",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "cado"
}