Application builder for ipython notebooks
Project description
App bundler for ipython notebooks. This command line utility builds a standalone executable installer for a single ipython notebook. It is intended for applications build with ipywidgets. At the moment, it only works on Windows, but there are plans to address cross-platform support.
Builds and packages a minimal electron interface to navigate to localhost:8866 and boot up the voila server
Copies a notebook (specified by -f) into a template python package
Copies the entire contents of the built electron application into the template python package.
Optionally copies a source code directory (specified by -src), if provided, into the template python package.
The package specifies ** for package_data so be sure to clean out any __pycache__ folders and other garbage.
Must be a valid python package (i.e. the folder must contain __init__.py)
Makes a conda-package out of the python package template to hold the notebook, electron app, and source code if provided.
Builds an installer
Conda dependencies are specified with the -deps parameter (see example).
Usage
mamba install boa constructor nsis nodejs -c conda-forge
pip install widgetron
cd examples
widgetron -h
widgetron -f=my_notebook.ipynb -src=my_package --icon=icon.ico
Help
widgetron -h
usage: widgetron [-h] [-deps DEPENDENCIES [DEPENDENCIES ...]] [-c CHANNELS [CHANNELS ...]] [-p PORT] [-n NAME] [-o OUTDIR] [-v VERSION] [-src PYTHON_SOURCE_DIR] [-icon ICON] file Creates an electron app for displaying the output cells of an interactive notebook. positional arguments: file Path to notebook to convert. (must be .ipynb) options: -h, --help show this help message and exit -deps DEPENDENCIES [DEPENDENCIES ...], --dependencies DEPENDENCIES [DEPENDENCIES ...] List of conda-forge packages required to run the widget (pip packages are not supported). -c CHANNELS [CHANNELS ...], --channels CHANNELS [CHANNELS ...] List of conda channels required to find specified packages. Order is obeyed, 'local' is always checked first. Default= ['conda-forge',] -p PORT, --port PORT 4-digit port number on which the notebook will be hosted. -n NAME, --name NAME Name of the application (defaults to the notebook name). -o OUTDIR, --outdir OUTDIR App version number. -v VERSION, --version VERSION -src PYTHON_SOURCE_DIR, --python_source_dir PYTHON_SOURCE_DIR This is a shortcut to avoid needing to build a conda package for your source code. Widgetron is basically a big jinja template, if your notebook has `from my_package import my_widget` then you would pass C:/path/to/my_package, and the directory will by copied recursively into a package shell immediately next to the notebook. -icon ICON, --icon ICON Icon for app. Must be a .ico file
Results
After the widgetron command the installer is placed in the current working directory
Running the installer
Startmenu Shortcut
Window
Project details
Release history Release notifications | RSS feed
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
Hashes for widgetron-0.0.6-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 883b9233ee0d34356a0d0d94d0bbd0e7c9f25ccbd96692cfe0b33e2795e7000a |
|
MD5 | b0fc0c280a31ea4477b1ecb6b3293ef2 |
|
BLAKE2b-256 | d5a5a7bc5bd338c64d99eba404702cdd96f124ee84460a2ab07ba4485bf53ec1 |