Skip to main content

Schedule parameterized notebooks programmatically using cli or a REST API

Project description

NB Workflows

nb-workflows readthedocs PyPI - Format PyPI - Status

codecov

Description

If SQL is a lingua franca for querying data, Jupyter should be a lingua franca for data explorations, model training, and complex and unique tasks related to data.

NB Workflows is a library and a platform that allows you to run parameterized notebooks in a distributed way. A Notebook could be launched remotly on demand, or could be schedule by intervals or using cron syntax.

Internally it uses Sanic as web server, papermill as notebook executor, an RQ for task distributions and coordination.

Goal

Empowering different data roles in a project to put code into production, simplifying the time required to do so. It enables people to go from a data exploration instance to an entirely pipeline deployed in production, using the same notebook file made by a data scientist, analyst or whatever role working with data in an iterative way.

Features

  • Define a notebook like a function, and execute it on demand
  • Automatic Dockerfile generation. A project should share a unique environment
  • Docker building and versioning: it build and track each release.
  • Execution History, Notifications to Slack or Discord.

Roadmap

See Roadmap draft

Architecture

nb_workflows architecture

References & inspirations

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

nb_workflows-0.6.0.tar.gz (62.2 kB view hashes)

Uploaded Source

Built Distribution

nb_workflows-0.6.0-py3-none-any.whl (92.6 kB view hashes)

Uploaded Python 3

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