Skip to main content
Archived

This project has been archived by its maintainers, and is no longer receiving any updates.

📘 JupDeck

Convert Jupyter notebooks to Presentation-Ready Slide Decks.

Ideal for:

  • Technical consultants
  • Data scientists
  • Instructors
  • Teams presenting notebook work to non-technical stakeholders

What It Does

This tool transforms .ipynb notebooks into structured .pptx presentations.

  • Markdown Headers become slide titles
  • Markdown Bullets become slide bullets.
  • Plots and Tables become slide graphics.
  • Markdown Text becomes speaker notes.

Quick Start

Pip install the package: pip install jupdeck

Convert a notebook to slides:

jupdeck convert examples/data/jupdeck_overview.ipyng outputs/output.pptx


JupDeck Roadmap

This roadmap outlines the phased development plan for the JupDeck tool. The goal is to build a system that transforms Jupyter Notebooks into professional PowerPoint presentations, supporting data science reporting, executive summaries, and technical documentation.

1: Baseline Slide Generator

Goal: Prove core functionality: parse notebooks and render working PowerPoint output with embedded graphics.

Features:

  • Parse notebook markdown structure and code cell outputs
  • Generate PowerPoint slide decks (.pptx)
  • Embed output graphics (e.g., plots, images, tables) into slides with generic/simple formatting
  • PyPI and GitHub releases with versioning

Notes: "User in the loop" for clean up of formated slides necessary


2: Notebook Slide Directives

Goal: Interpret slide layout directives from Jupyter notebooks

Features:

  • [] Rudimentary directives can be embedded as html-comments in markdown cells
  • [] Directives control simple formatting, e.g. "New Slide", "Hide Tables"

3: Improved Layouts

Goal: Automatically Adapt Slide Layouts

Features:

  • [] 3 different content slide layouts offered plus intro / ending layouts
  • [] Layout rules encoded in reusable config file
  • [] During slide rendering, best layout for slide chosen based on contents
  • [] Format validation during rendering (e.g. image resolution, text overflow)

4: Custom Theming and Templates

Goal: Use Custom Styling Templates and Themes

Features:

  • [] Choose between 3 custom styling templates (e.g. dark mode, corporate, academic)
  • [] Add user-defined templates

5: Custom Content Filtering

Goal: Generate different decks depending on audience

Features:

  • [] Directives mark content for different rendering scenarios (e.g. technical vs. non-technical, internal vs. external)
  • [] Command-line flag controls rendering scenario and generates appropriate deck (e.g. jupdeck input.ipynb --theme internal --no-code)
  • [] Reusable configuration profiles (YAML)

6: VS Code Plugin

Goal: Notebook rendering from VS Code

  • [] Plugin allows notebook rendering from VS Code interface
  • [] Plugin provides suggestions during notebook editing

7: Basic LLM Editing Support

Goal: Use LLMs for editing support Features:

  • [] Summarize markdown into concise, audience-appropriate bullets
  • [] Align slide tone with target audience (e.g. "executive-friendly", "technical peer review")

8: LLM Slide Enhancement

  • [] Integrate conversational interface to notebook
  • [] Auto-suggest slide titles and bullets from raw code/markdown
  • [] Validate presentation claims against content: "This model seems to be overfit", "This chart does not support the title claim"

9: Team Collaboration & Workflow Integration

Goal: Support real-world enterprise workflows

  • [] GitHub Actions to auto-render slides from notebooks on PR merge
  • [] Enable shared template libraries across teams
  • [] Add comments/annotations for reviewer workflows

💡 Why?

Jupyter notebooks are fantastic for exploratory work — but hard to present clearly. This tool turns notebook narratives into shareable reports for clients, collaborators, and classrooms.


🧪 Development & Testing

poetry run pytest         # Run test suite
poetry run pre-commit run --all-files  # Run linters and formatters

📄 License

Apache License 2.0 — permissive for personal, educational, and commercial use. (See LICENSE file)

Metadata

Release files for jupdeck 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for jupdeck 0.1.1
File Size Uploaded
jupdeck-0.1.1.tar.gz 10.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for jupdeck 0.1.1
File Interpreter ABI Platform
jupdeck-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 21.8 kB

Release files / jupdeck-0.1.1.tar.gz

Download URL jupdeck-0.1.1.tar.gz
Size 10.6 kB
Tags Source
SHA-256 checksum
How to use checksums
e6e3c45e47e9783998c21100813033c735b0481a0d1d45784b27323ef2084970
BLAKE2b-256 checksum
How to use checksums
72d068c72de5f4cf6651aa699c9891ae007a8a1ae79714ded4d425e1ca5650df
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.1.3 CPython/3.13.5 Darwin/23.6.0

Release files / jupdeck-0.1.1-py3-none-any.whl

Download URL jupdeck-0.1.1-py3-none-any.whl
Size 11.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
fc54900485253e7b496852b884b0e738e87d556a85005051fe736988b94650d3
BLAKE2b-256 checksum
How to use checksums
67b462134201d39367a04ecffa3467ce51f58293a4821d437e400c3a748f8182
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.1.3 CPython/3.13.5 Darwin/23.6.0

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page