An extensible environment for interactive and reproducible computing, based on the Jupyter Notebook and Ecosystem.
ElixirNote is the next-generation user interface for Project Jupyter offering all the familiar building blocks of the classic Jupyter Notebook (notebook, terminal, text editor, file browser, rich outputs, etc.) in a flexible and powerful user interface. However, JupyterLab is also a good choice. ElixirNote will eventually replace the classic Jupyter Notebook.
ElixirNote can be extended using npm packages that use our public APIs. The prebuilt extensions can be distributed via PyPI, conda, and other package managers. The source extensions can be installed directly from npm (search for jupyterlab-extension) but require additional build step. You can also find ElixirNote extensions exploring topic jupyterlab-extension. To learn more about extensions, see the user documentation.
The current ElixirNote releases are suitable for general usage, and the extension APIs will continue to evolve for ElixirNote extension developers.
Read the current ElixirNote documentation on ElixirNote Docs.
- A new way to notebook
- Use SQL, Python, and Julia together, or alone
- No-code visualization
- A magic, reactive execution model
- Advanced version control
- Publish work as interactive data apps
- A full library of UI components
- Drag-and-drop layouts
- Instant publishing
- Live commenting
- Build organizational knowledge
- Discovery work in the knowledge library
- Organize with categories and statuses
- Security first
- Single tenant / private VPC deploys
- HIPAA compliant, and BAA friendly
- SSO support through Google, Okta, Keycloak, and more
Project installation instructions from the git sources are available in the contributor documentation.
If you use pip
, you can install it with:
# Clone ElixirServer
git git@github.com:ElixirNote/elixirserver.git
cd elixirserver
pip install -e .
# Clone ElixirNBC
git clone git@github.com:ElixirNote/elixirnbc.git
cd elixirnbc
pip install -e .
# Clone ElixirNote
git clone git@github.com:ElixirNote/elixirnote.git
cd elixirnote
pip install -e ".[dev,test]"
jlpm install
jlpm run build # Build the dev mode assets (optional)
jlpm run build:core # Build the core mode assets (optional)
jupyter lab build # Build the app dir assets (optional)
Start up ElixirNote using:
jupyter lab --dev-mode --watch --allow-root --no-browser --ip=0.0.0.0
If you want load extensions in dev mode:
jupyter lab --dev-mode --watch --allow-root --no-browser --extensions-in-dev-mode --ip=0.0.0.0
ElixirNote will open automatically in the browser. See the documentation for additional details.
If you encounter an error like "Command 'jupyter' not found", please make sure PATH
environment variable is set correctly. Alternatively, you can start up ElixirNote using ~/.local/bin/jupyter lab
without changing the PATH
environment variable.
The latest versions of the following browsers are currently known to work:
- Firefox
- Chrome
- Safari
See our documentation for additional details.
We encourage you to ask questions on the Discourse forum. A question answered there can become a useful resource for others.
To report a bug please read the guidelines and then open a Github issue. To keep resolved issues self-contained, the lock bot will lock closed issues as resolved after a period of inactivity. If related discussion is still needed after an issue is locked, please open a new issue and reference the old issue.
To start developing an extension for ElixirNote, see the developer documentation and the API docs.
To contribute code or documentation to ElixirNote itself, please read the contributor documentation.
ElixirNote follows the Jupyter Community Guides π.
ElixirNote uses a shared copyright model that enables all contributors to maintain the copyright on their contributions. All code is licensed under the terms of the revised BSD license.