Natural Language Notebooks
This project has been archived.
The maintainers of this project have marked this project as archived. No new releases are expected.
Project description
NLBook: Natural Language Notebooks.
Authors:
Luca de Alfaro, dealfaro@acm.org
Overview
Natural Language Notebooks (NLBook) allow you to create notebooks where the cells are written in natural language. The natural language is automatically converted to code via AI, and executed. The results of the execution are then displayed below the natural language cell.
In NLBooks, natural language is the programming language. The goal of NLBooks is to allow users to create and share notebooks in natural language, without having to write code, or understand the code that is shared with them. Actions to be performed are described in natural language, and the natural languate is retained, so users can edit it, improve it, and share it. We are building methods for verifying that the code implementation is faithful to the natural language description, so that users can trust the notebooks they receive from others.
Natural Language Notebooks have two type of cells:
-
Action cells, where the user describes in natural language the action to be performed (e.g., "Load the dataset from file data.csv and display the first 10 rows"). The system converts the description to code, executes it, and displays the results below the cell.
-
Comment cells, where the user can add comments, section headers, and so forth, using markdown syntax.
Differently from other notebook systems, NLBooks are executed from start to end: random cell execution order, as in Jupyter notebooks, is not allowed. This ensures that the results are obtained in the same order in which a human reader would read the notebook.
This project is in an early stage of development.
Running NLBook
nlbook path/to/notebook.nlb
(where .nlb is a Natural Language Notebook file; you can use other extensions if you wish).
For a list of command-lien options, do:
nlbook --help
If you want to be able to generate or check code from explanations, you need to add a Gemini API key in the settings (click on the gear icon in the top-right corner of the web interface).
Development
Run with:
python -m nlbook.main --debug
Running with the VSCode launch.json does not work, due to a VScode bug/quirk. See DEVELOP.md for development instructions, and see TODO.md for planned features.
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file nlbook-0.0.5.tar.gz.
File metadata
- Download URL: nlbook-0.0.5.tar.gz
- Upload date:
- Size: 894.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
581ca0f2584a27027e891aacb14b431b748b0d5f1a0aeabc445a680bf4ac977a
|
|
| MD5 |
65a4b1810561f32a6dadcfb3bae90c61
|
|
| BLAKE2b-256 |
2d394d8c4abaffd66eb17a5a84892836b0d642f37b3ff356136a928a6c9fe3d0
|
File details
Details for the file nlbook-0.0.5-py3-none-any.whl.
File metadata
- Download URL: nlbook-0.0.5-py3-none-any.whl
- Upload date:
- Size: 900.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9def528f8cb33a5787891a9027724831a04e134b3f952d3bc4ff6e90028da374
|
|
| MD5 |
fb0b10a087cdb037235d6b64f26e317b
|
|
| BLAKE2b-256 |
39cc8a2e37bf714035dc753adf8a5f01b544723573e0760511189228cdc34d11
|