Skip to content

prefect-jupyter

[!WARNING] prefect-jupyter is no longer actively maintained. For more details, please see the Maintenance Status section below.

PyPI

Maintenance Status

prefect-jupyter has been a valuable part of the Prefect ecosystem. Due to shifts in our strategic priorities, we have decided to discontinue the active maintenance of this library. While we will not be updating the code or addressing issues, the existing codebase will remain accessible for archival purposes. We appreciate the support and contributions from our community.

Welcome!

Prefect integrations interacting with Jupyter.

Getting Started

Python setup

Requires an installation of Python 3.7+.

We recommend using a Python virtual environment manager such as pipenv, conda or virtualenv.

These tasks are designed to work with Prefect 2.0. For more information about how to use Prefect, please refer to the Prefect documentation.

Installation

Install prefect-jupyter with pip:

pip install prefect-jupyter

Run a parameterized notebook

prefect-jupyter uses papermill under the hood. Check out papermill's documentation to learn how to parametrize the notebook.

The following code shows how to run a parameterized notebook:

from prefect import flow
from prefect_jupyter import notebook

@flow
def example_execute_notebook():
    nb = notebook.execute_notebook(
        "test_notebook.ipynb",
        parameters={"num": 5}
    )
    body = notebook.export_notebook(nb)
    output_path = "executed_notebook.ipynb"
    with open(output_path, "w") as f:
        f.write(body)
    return output_path

example_execute_notebook()

Resources

Feedback

If you encounter any bugs while using prefect-jupyter, feel free to open an issue in the prefect-jupyter repository.

If you have any questions or issues while using prefect-jupyter, you can find help in either the Prefect Discourse forum or the Prefect Slack community.

Feel free to star or watch prefect-jupyter for updates too!

Contributing

If you'd like to help contribute to fix an issue or add a feature to prefect-jupyter, please propose changes through a pull request from a fork of the repository.

Here are the steps:

  1. Fork the repository
  2. Clone the forked repository
  3. Install the repository and its dependencies:
     pip install -e ".[dev]"
    
  4. Make desired changes
  5. Add tests
  6. Insert an entry to CHANGELOG.md
  7. Install pre-commit to perform quality checks prior to commit: bash pre-commit install
  8. git commit, git push, and create a pull request