New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

notebooker

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

notebooker

Tool for parametrizing, executing, and displaying Jupyter Notebooks as reports.

  • 0.7.2
  • PyPI
  • Socket score

Maintainers
1

Notebooker

Productionise and schedule your Jupyter Notebooks, just as interactively as you wrote them. Notebooker is a webapp which can execute and parametrise Jupyter Notebooks as soon as they have been committed to git. The results are stored in MongoDB and searchable via the web interface, essentially turning your Jupyter Notebook into a production-style web-based report in a few clicks.

CircleCI Documentation Status

Run a Jupyter notebook as a report with parameters

Screenshot of "Run A Report" dialog

Execute Jupyter notebooks either on the webservice or command line

Screenshot of Executing a notebook

View the output of notebooks as static HTML

Screenshot of some notebook results

All results are accessible from the home page

Screenshot of the Notebooker homepage

Drill down into each template's results

Screenshot of result listings

Getting started

See the documentation at https://notebooker.readthedocs.io/ for installation instructions.

Notebooker has been tested on Linux, Windows 10, and OSX; the webapp has been tested on Google Chrome.

If you want to explore an example right away, you can use docker-compose:

cd docker
docker-compose up

That will expose Notebooker at http://localhost:8080/ with the example templates.

Contributors

Notebooker has been actively maintained at Man Group since late 2018, with the original concept built by Jon Bannister. It would not have been possible without contributions from:

And these fantastic projects:

0.7.2 (2025-01-17)

  • feature: added a cleanup script to delete reports older than a given number of days, optionally filterable by report name.

0.7.1 (2025-01-02)

  • packaging: refresh package description and metadata for pypi

0.7.0 (2025-01-02)

  • compat: compatibility with python 3.11 and later
  • deps: do not pin werkzeug/flask 2.
  • docs: do not pin old versions of docutils/sphinx, optional extra dependencies to build docs
  • bugfix: fix an issue where deleting a report was not deleting the associated GridFS objects as expected.

0.6.3 (2024-07-11)

  • Feature: Flag to preserve original working directory when running notebooks to make local imports and relative paths work.

0.6.2 (2024-05-02)

  • Bugfix: Folders with spaces in their names are now correctly handled in the webapp.
  • Chore: Fix readthedocs build and broken CircleCI link.
  • Chore: Applying & enforcing Black and Prettier to Python and JS code, respectively. Setting Black version to 22.8.0 for CircleCI.
  • Bugfix: Preserve the "mailfrom" parameter on notebook rerun.

0.6.1 (2024-02-26)

  • Feature: GridFS document storage in Mongo-backed instances is now sharded if the mongo server supports it.
  • Bugfix: None will stop appearing at the top of reports with nbconvert>7.0.0

0.6.0 (2023-09-01)

  • Feature: Reports are now grouped by their containing folder on the main UI.
  • Feature: Allow configuring error email addresses and email subject via UI.
  • Bugfix: . and .. should now be allowed to be used when specifying the templates directory.
  • Bugfix: corrected cron schedule incorrectly shifting back one day upon save.

0.5.1 (2023-02-22)

  • Feature: A new --readonly-mode is available for the webapp. This allows users to have an instance of Notebooker which only displays the results of externally-run or scheduler-run reports. See the docs for more details.
  • Bugfix: Scheduler-executed reports will now correctly record stdout.
  • Bugfix: Pull from current upstream instead of hard-coded origin/master in git backend of webapp.
  • Bugfix: Ensure that the hide_code option is consistent when a rerun is executed via the webapp.

0.5.0 (2023-01-19)

  • Feature: Added support for Reveal.js notebook outputs
  • Bugfix: Small bugfix for synchronous report execution
  • Improvement: Delete functionality in mongo now also deletes files from GridFS

0.4.5 (2022-09-29)

  • Bugfix: The frontend should now show the correct "time since" for non-UTC timezones
  • Bugfix: The scheduler now follows UNIX conventions for day-of-week specifications. (#72)
  • Bugfix: Use Collection.count_documents() for mongo compat
  • Improvement: The raw_results will now also display in full screen
  • Improvement: Improve setup.cfg for better wheel building
  • Improvement: Pin Werkzeug<2.2 since it causes RuntimeErrors
  • Improvement: Fix docs regarding setup + yarn bundling

0.4.4 (2022-07-18)

  • Improvement: The results screen has been widened to show as much content as possible (#79).
  • Bugfix: The delete button will now work on non-first pages for the scheduler and result listings (#90).
  • Feature: "View fullscreen" button added to all result pages

0.4.3 (2022-06-24)

  • Feature: The results page now includes a "View Stdout" button to view and copy stdout from the notebook run
  • Improvement: Prometheus improvement to allow increase() metric to be used in alerting

0.4.2 (2022-04-27)

  • Improvement: Prometheus metrics now record number of successes/failures which have been captured by the webapp.
  • Improvement: Unpinned nbconvert and added ipython_genutils dependency

0.4.1 (2022-03-09)

  • Improvement: The email "from" address is now fully configurable.
  • Bugfix: The default "from" email address domain is no longer non-existent.
  • Improvement: --running-timeout parameter allows customization of max allowed notebook runtime

0.4.0 (2021-12-17)

  • Improvement: The index page has been overhauled to be a lot more user-friendly, divided up by notebook template name.

0.3.2 (2021-11-10)

  • Feature: .ipynb files are now natively supported and can be used as Notebook Templates (#57)

0.3.1 (2021-10-29)

  • Improvement: index page should be a lot quicker due to storage improvements.
  • Bugfix: hide_code and generate_pdf options now work as intended with the scheduler.
  • Bugfix: Large notebooks were causing serialisation errors; now safely stored in gridfs.
  • Incompatibility: Reports run with this version onwards will not be readable by older versions of Notebooker.

0.3.0 (2021-10-05)

  • Major feature: scheduling natively within Notebooker
  • Bugfix: Newer versions of uuid now work properly with Notebooker
  • Improvement: See the version number in the Notebooker GUI and with a /core/version GET call.

0.2.1 (2021-02-11)

  • Bugfix: notebooker_execute entrypoint should now work as intended
  • Bugfix: Sanity and template regression tests should now work as intended
  • Improvement: Specifying a git repo should be a little simpler

0.2.0 (2020-12-17)

  • Code output can now be hidden from PDF and email output! Either check the box in the "Run Report" dialog or, using the cli, use the new --hide-code option.
  • Performance improvement for queries

0.1.0 (2020-11-30)

Support for database plugins and tidying up configuration to be consistent across the board.

Breaking changes

  • 3 primary entrypoints have been consolidated under one - notebooker-cli, e.g. notebooker-cli start-webapp and notebooker-cli execute-notebook. Run notebooker-cli --help for more info.
  • In config, PY_TEMPLATE_DIR has been renamed to PY_TEMPLATE_BASE_DIR
  • In config, GIT_REPO_TEMPLATE_DIR has been renamed to PY_TEMPLATE_SUBDIR

0.0.2 (2020-10-25)

Bugfixes & cleanup Docker support (#14)

0.0.1 (2020-09-04)

Initial release of Notebooker

FAQs


Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc