Skip to main content

NeNo (Network Notebooks) is a tool that allows you manage and trigger your Jupyter notebooks remotely over the network using HTTP.

Project description

NeNo

NeNo (Network Notebooks) is a server and CLI utility that allows you to deploy your jupyter notebooks and trigger their execution by calling an API endpoint. You can then use the CLI to view the execution history and inspect the outputs. Great for scheduled tasks and prototyping APIs.

Installation

If you want just the CLI utility, you can install it with pip:

pip install neno

Then you can start the utility with python -m neno. For convenience, you can create an alias in your shell configuration:

alias neno="python -m neno"

If you want to run the neno server locally, you need to install some optional dependencies:

pip install "neno[server]"

Launching the server

To start the server, first create a config.yaml file:

host: "localhost"
port: 5000
backends:
  # For this simple example, we will use the filesystem to store the data and configuration
  dataBackend:
    filesystem:
      path: "backend/data"
  configBackend:
    filesystem:
      path: "backend/config"

Then you can start the server with:

neno serve --config-file config.yaml

Usage

If your server runs somewhere other than localhost:5000, point the NENO_SERVER_URL environment variable to the correct URL:

export NENO_SERVER_URL=http://localhost:5001

You can then use the CLI to interact with the server:

# Upload a notebook as a new endpoint. The endpoint will be available at $NENO_SERVER_URL/api/gen-report. We can also use the `--file` option as many times as we want to upload additional files that the notebook needs.
neno add endpoint gen-report --notebook create-report.ipynb --file credentials.json --keep-runs=always

# List all the endpoints
neno get endpoints

# List all endpoints and print a curl command for triggering each one of them
neno get endpoints --show-curl

# List recent executions of the `gen-report` endpoint. By default, it will show the last 10 executions.
neno get runs gen-report

# List last 50 executions of the `gen-report` endpoint
neno get runs gen-report --limit 50

# Download the output (output notebook, any additional files) of the execution of `gen-report` with ID 12345
neno fetch run gen-report 12345

# Download the output of run 12345 and open it in a local jupyterlab instance (jupyterlab must be installed: `pip install jupyterlab`)
neno fetch run gen-report 12345 --inspect

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

neno-0.1.2.tar.gz (17.7 kB view details)

Uploaded Source

Built Distribution

neno-0.1.2-py3-none-any.whl (20.8 kB view details)

Uploaded Python 3

File details

Details for the file neno-0.1.2.tar.gz.

File metadata

  • Download URL: neno-0.1.2.tar.gz
  • Upload date:
  • Size: 17.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.20

File hashes

Hashes for neno-0.1.2.tar.gz
Algorithm Hash digest
SHA256 8df6d5ea3142ec30ad7d477cdd9cc8be99375a4ff6759d939af438b0683c0355
MD5 1cf9972b455f525b47af67be33cf595f
BLAKE2b-256 3ae0e85d7f93b8aacc7b5a3295b9287a8ba9f7aabd19772ebea2156c6b2aad56

See more details on using hashes here.

File details

Details for the file neno-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: neno-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 20.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.20

File hashes

Hashes for neno-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 b31bcb6eb9961b264652410b9272042494f15f17360a57289f6e4974bbe90267
MD5 8eb40cf451185bbc1f3b705d6e375a77
BLAKE2b-256 24c801238be47bf9db65b7d5c9c3d63fd81c68da4e524ddd2f2f4730f67a54ae

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page