A Natural Language-Based Python Program Interpreter
Project description
Chapyter is a jupyterlab extension for NL"P": Natural Language-based Programming
Demo
Quick Start
-
Installation
pip install chapyter # Automatically installs the extension to jupyterlab pip uninstall chapyter # Uninstalls the extension from jupyterlab
Note: It will upgrade the jupyterlab to ≥ 4.0. It might break your environments.
-
Usage: see examples/starter.ipynb for a starter notebook.
- Set the proper
OPENAI_API_KEY
andOPENAI_ORGANIZATION
in the environment variable - Use the magic command
%%chat
in a code cell:
It will call gpt-4-0613 to generate the python code for listing all the files in the folder, and execute the generated code automatically. In this case, this plugin serves as the interpreter that translates the natural language to python code and execute it.%%chat -m gpt-4-0613 List all the files in the folder
- Set the proper
-
Examples:
- examples/starter.ipynb A starter notebook illustrating the basic functions of
chapyter
.
- examples/starter.ipynb A starter notebook illustrating the basic functions of
Development Notes
-
NodeJS is needed to build the extension package.
-
The
jlpm
command is JupyterLab's pinned version of yarn that is installed with JupyterLab. You may useyarn
ornpm
in lieu ofjlpm
below.# Clone the repo to your local environment # Change directory to the chapyter directory # Install package in development mode pip install -e "." # Link your development version of the extension with JupyterLab jupyter labextension develop . --overwrite # Rebuild extension Typescript source after making changes jlpm build
-
You can watch the source directory and run JupyterLab at the same time in different terminals to watch for changes in the extension's source and automatically rebuild the extension.
# Watch the source directory in one terminal, automatically rebuilding when needed jlpm watch # Run JupyterLab in another terminal jupyter lab
With the watch command running, every saved change will immediately be built locally and available in your running JupyterLab. Refresh JupyterLab to load the change in your browser (you may need to wait several seconds for the extension to be rebuilt).
-
By default, the
jlpm build
command generates the source maps for this extension to make it easier to debug using the browser dev tools. To also generate source maps for the JupyterLab core extensions, you can run the following command:jupyter lab build --minimize=False
-
Packaging and release: please refer to RELEASE.
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
File details
Details for the file chapyter-0.2.0.tar.gz
.
File metadata
- Download URL: chapyter-0.2.0.tar.gz
- Upload date:
- Size: 916.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 612336c5ae439508a155b60e1b3d0287c27a4b479176a7ab71ae2d8fbddb6276 |
|
MD5 | 1b21603dcd014283b0129ec2657ddb99 |
|
BLAKE2b-256 | 22ef783ff45417a0d0cc2f8e4e104f7abef5825663377cc91af770b8906d5ef6 |
File details
Details for the file chapyter-0.2.0-py3-none-any.whl
.
File metadata
- Download URL: chapyter-0.2.0-py3-none-any.whl
- Upload date:
- Size: 23.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6c318ca4ff93ab93c69b0e6b042aec689fb4841d5dad2aa98528f9573ad1f11f |
|
MD5 | d97b88dae036461da108a1f13e8610e0 |
|
BLAKE2b-256 | fbbdf9b021c237d96035d4e8b254836b4c81cc6f948649c6043d7585699dc613 |