Skip to main content

Live rich content slides in jupyter notebook

Project description

IPySlides

Create interactive slides programatically in Jupyter/Voila with all kind of rich content.


Changelog

You can see upto date documentation via ipyslides.Slides().docs(), so no additional changelog is created.


Install

> pip install ipyslides
> pip install ipyslides[extra]

For development install, clone this repository and then

> cd ipyslides
> pip install -e .

How to Use

  • In Jupyter Notebook, do the follwoing:
%load_ext ipyslides # It will display info to move further
slides = get_slides_instance()
  • Above is equivalent to:
import ipyslides as isd
slides = isd.Slides()

Creating Slides

Please look at two presentations provided with Slides.docs(), Slides.demo() to see how slides are created. Moreover instruction in settings panel are at your finger tips.


Content Types to Embed

You can embed anything that you can include in Jupyter notebook like ipywidgets, HTML, PDF, Videos etc.,including jupyter notebook itself!

  • IPython Display Objects, see IPython module.
  • Plots and Other Data Types (matplotlib, plotly etc.)
  • Jupyter Interactive Widgets (ipywidgets, bqplot ect.)
  • Custom and Third Party Objects( which are not implemented in this library)
    • You can display with display command or library's specific display method.
    • You can serialize custom objects to HTML using Slides.serializer API.
  • You can extend markdown syntax using Slides.extender API. See some good extensions to add from PyMdown.

PDF printing

To include all type of objects you need to make PDF manually. Read instructions in side panel about PDF printing. See PDF-Slides If you just have HTML objects like matplotolib plots, images, plotly, bokeh charts etc. and not something like ipywidgets, see next section.


HTML/PDF Report/Slides

  • You can create beautiful HTML/PDF report from slides using slides.export.report. See PDF-Report
  • Use slides.export.slides to build static slides that you can print as well.
  • Content variety for export is limited. Widgets can not be exported unless an alternative representation is given by Slides.alt(widget, func(widget)).
  • Paper width for printing is 10 inch (254mm) and height is determined by aspect ration dropdown in settings panel.
  • Use Save as PDF in browser to make links work in ouput PDF.

Speaker Notes

  • You can turn on speaker notes with a Show Notes check in setting panel. See module Slides.notes for details or see examples in Slides.demo().

Notes is an experimantal feature, so use at your own risk. Avoid if you can.


Known Limitations

  • Since Markdown is parsed using python (and we do not run notebook from outside e.g. with nbconvert), markdown cells are of no use. You can still write markdown there and then convert to code cell with slide magic %%slide number -m to add to slides.
  • Slide number is necessary to be tracked by user in notebook, because cells are not linked to each other and multiple runs of a cell can lead to adding many slides with same content. Inside python scripts that run in linear fashion, you can use Slides.AutoSlide().[title,slide,frames,from_markdown].
  • Bounding box of slides for screenshots should be set by user (if not in fullscreen).

Acknowledgements

  • Slides application is based on ipywidgets.
  • Rich display mechanism, and collection of cell output to slides heavily rely on IPython.
  • Python-Markdown is extensily used for content and extended where needed.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ipyslides-3.5.0.tar.gz (112.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ipyslides-3.5.0-py2.py3-none-any.whl (123.2 kB view details)

Uploaded Python 2Python 3

File details

Details for the file ipyslides-3.5.0.tar.gz.

File metadata

  • Download URL: ipyslides-3.5.0.tar.gz
  • Upload date:
  • Size: 112.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.8.10

File hashes

Hashes for ipyslides-3.5.0.tar.gz
Algorithm Hash digest
SHA256 d34ab4143e94cf4eaed9a8596f97f74b4c2a4faca625c4e1c959b2e67bf2f8e6
MD5 37c36fd8abd51ba11475d8a461713479
BLAKE2b-256 d592bee6cb9b6beccfa59643e7c451d6eb950b10a6a92e652a2881395a7fc190

See more details on using hashes here.

File details

Details for the file ipyslides-3.5.0-py2.py3-none-any.whl.

File metadata

  • Download URL: ipyslides-3.5.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 123.2 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.8.10

File hashes

Hashes for ipyslides-3.5.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 84af988436a6743b464c2864fbce1ce5b336a8e29ea63049465464f2f8024868
MD5 0a2f10b161dd9d6a890d95c7ae731644
BLAKE2b-256 b5fc6d3abe85846272aace0b7c92eadb31ea0a6c99e8d0591346e2a86ebec735

See more details on using hashes here.

Supported by

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