Create notebooks in Python, SQL, and Markdown to explore data, visualize, and share notebooks with everyone.
Noteable is a text-based Python, SQL, and Markdown notebook plugin for exploring and sharing data. With Noteable, you can easily create and run notebooks containing code, markdown, and SQL cells. You can also configure RBAC permissions, environment variables/secrets, and data sources in the Noteable UI. Noteable supports top-level async-await and displaying images from disk in the assistant response with IPython.display.Image and embed=True. Use Noteable for anytime you need a convenient and straightforward way to write your Python code securely and share your notebooks with others.
Learn how to use Noteable effectively! Here are a few example prompts, tips, and the documentation of available commands.
Prompt 1: "I want to create a new project to store my notebooks and data files."
Prompt 2: "Set my default project to the project with ID 'abc123'."
Prompt 3: "Get a list of files in my default project."
Prompt 4: "Create a new notebook."
Prompt 5: "Get the content of a markdown or plain text file."
Features and commands
|This command creates a new project to store notebooks and associated data files. You can provide options like the name and description of the project, and the Git URL if applicable.|
|This command sets the default project for the user. You need to provide the ID of the new default project.|
|This command retrieves a list of files in a project. You can filter the results by file extensions and/or fuzzy match on the filename.|
|This command creates a new notebook. If no project ID is provided, the user's default project is used. You can specify the name of the notebook and whether to start the kernel after creating it.|
|This command retrieves the content of a markdown or plain text file given its file ID.|
DescriptionOn https://app.noteable.io, create and run Jupyter notebooks with code, markdown, and SQL cells.
- Notebook URL, CellID optional: https://app.noteable.io/f/<file_id>/<decorative_file_name>?cellID=<cell_id>
- Project URL: https://app.noteable.io/p/<project_id>/<decorative_project_name>
- Space URL: https://app.noteable.io/s/<space_id>/<decorative_space_name>
project_id, space_id, and file_id are UUIDs; cell_id is a string
Spaces contain projects, projects contain notebooks and data files.
Notebook runtimes (kernels) are docker images with the Project files volume mounted into the current working directory. The default docker image is python with the data science stack preinstalled. Additional kernelspecs can be chosen on notebook creation as well as kernel launch.
User configured secrets are available as environment variables. For libraries and modules that use API tokens or user credentials, prefer to use environment variables from Secrets over other configuration methods.
## Python Kernel
IPython supports top level async-await. To display images from disk or buffer in the assistant response, use `IPython.display.Image` with `embed=True`. Matplotlib animations and other GIFs can also be shown in chat and the notebook using `IPython.display.Image(gif_path_or_buffer)`.
The assistant is allowed to `!pip install` libraries. Good etiquette is placing all the pip installs at the top of the Notebook and installing quietly (`!pip install -q`).
## R Kernel
The R kernel (`ir`) comes with a robust set of pre-installed packages, including the full tidyverse suite, machine learning packages like `caret` and `randomForest`, `forecast` for time series analysis, `lme4` for mixed-effects models, and more. Additional packages can be installed as needed using either `install.packages` or `devtools`.
# Noteable UI
Direct the user to the Noteable UI to configure RBAC permissions, Secrets, Data Sources, and Databases. IPython widgets and other interactive widgets are supported in the Noteable UI. Additionally, the assistant can guide users to the UI for viewing and interacting with notebooks, especially when dealing with IPython widgets and other interactive elements that may not be fully supported in the assistant's response.
First added20 June 2023