ipyslides


Nameipyslides JSON
Version 3.8.2 PyPI version JSON
download
home_pagehttps://github.com/massgh/ipyslides
SummaryLive rich content slides in jupyter notebook
upload_time2024-05-08 19:16:11
maintainerNone
docs_urlNone
authorAbdul Saboor
requires_python>=3.8
licenseMIT
keywords jupyter widgets ipython
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            
<svg width="60px" viewBox="0 0 50 50" xmlns="http://www.w3.org/2000/svg" fill="none" stroke="currentColor" stroke-linecap="butt" stroke-linejoin="round" stroke-width="7.071067811865476">
   <path d="M22.5 7.5L10 20L20 30L30 20L40 30L27.5 42.5" stroke="teal"/>
   <path d="M7.5 27.5L22.5 42.5" stroke="crimson"/>
   <path d="M32.5 32.5L20 20L30 10L42.5 22.5" stroke="red"/>
</svg>

# IPySlides

Create interactive slides programatically in [Jupyter](https://jupyter.org/)/[Voila](https://voila.readthedocs.io/en/stable/) with all kind of rich content. 

- Launch Example Notebook [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/massgh/ipyslides/HEAD?labpath=demo.ipynb)
- See a [Demo Notebook](https://www.kaggle.com/massgh/ipyslides) at [Kaggle](https://www.kaggle.com/massgh)
- Watch a [Youtube Video](https://www.youtube.com/watch?v=thgLGl14-tg)
- See [PDF-Slides](Slides.pdf)
![Overview](slide.png)

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

---
# Install
```shell
> pip install ipyslides
> pip install ipyslides[extra]
```
For development install, clone this repository and then
```shell
> cd ipyslides
> pip install -e .
```

---
# How to Use
In Jupyter Notebook:
```python
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](https://facelessuser.github.io/pymdown-extensions/).


---
# PDF printing
To include all type of objects you need to make PDF manually.
Read instructions by clicking ℹ️ button in quick menu. See [PDF-Slides](IPySlides-Print.pdf)
If you just have HTML objects like `matplotolib plots`, `images`, `plotly`, `bokeh` charts etc. and not something like `ipywidgets`, see next section.

---
# HTML/PDF Slides
- Use `slides.export_html` 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 ratio of slides.
- 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. A better alternative is linking a markodwn file using `Slides.sync_with_file` and slides auto update when you save your edits. You can still write markdown in 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](https://github.com/jupyter-widgets/ipywidgets).
- Rich display mechanism, and collection of cell output to slides heavily rely on [IPython](https://github.com/ipython/ipython).
- [Python-Markdown](https://python-markdown.github.io/) is extensily used for content and extended where needed.

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/massgh/ipyslides",
    "name": "ipyslides",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": "Jupyter, Widgets, IPython",
    "author": "Abdul Saboor",
    "author_email": "mass_qau@outlook.com",
    "download_url": "https://files.pythonhosted.org/packages/a3/80/c401bf5787775ba2a4f4cebd1cf59965e320da5040b99367925dfda414bb/ipyslides-3.8.2.tar.gz",
    "platform": null,
    "description": "\r\n<svg width=\"60px\" viewBox=\"0 0 50 50\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"butt\" stroke-linejoin=\"round\" stroke-width=\"7.071067811865476\">\r\n   <path d=\"M22.5 7.5L10 20L20 30L30 20L40 30L27.5 42.5\" stroke=\"teal\"/>\r\n   <path d=\"M7.5 27.5L22.5 42.5\" stroke=\"crimson\"/>\r\n   <path d=\"M32.5 32.5L20 20L30 10L42.5 22.5\" stroke=\"red\"/>\r\n</svg>\r\n\r\n# IPySlides\r\n\r\nCreate interactive slides programatically in [Jupyter](https://jupyter.org/)/[Voila](https://voila.readthedocs.io/en/stable/) with all kind of rich content. \r\n\r\n- Launch Example Notebook [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/massgh/ipyslides/HEAD?labpath=demo.ipynb)\r\n- See a [Demo Notebook](https://www.kaggle.com/massgh/ipyslides) at [Kaggle](https://www.kaggle.com/massgh)\r\n- Watch a [Youtube Video](https://www.youtube.com/watch?v=thgLGl14-tg)\r\n- See [PDF-Slides](Slides.pdf)\r\n![Overview](slide.png)\r\n\r\n---\r\n# Changelog\r\nYou can see upto date documentation via `ipyslides.Slides().docs()`, so no additional changelog is created.\r\n\r\n---\r\n# Install\r\n```shell\r\n> pip install ipyslides\r\n> pip install ipyslides[extra]\r\n```\r\nFor development install, clone this repository and then\r\n```shell\r\n> cd ipyslides\r\n> pip install -e .\r\n```\r\n\r\n---\r\n# How to Use\r\nIn Jupyter Notebook:\r\n```python\r\nimport ipyslides as isd\r\nslides = isd.Slides()\r\n```\r\n---\r\n\r\n# Creating Slides\r\nPlease 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.\r\n\r\n\r\n---\r\n# Content Types to Embed\r\nYou can embed anything that you can include in Jupyter notebook like ipywidgets, HTML, PDF, Videos etc.,including jupyter notebook itself! \r\n\r\n- IPython Display Objects, see `IPython` module.\r\n- Plots and Other Data Types (matplotlib, plotly etc.)\r\n- Jupyter Interactive Widgets (ipywidgets, bqplot ect.)\r\n- Custom and Third Party Objects( which are not implemented in this library)\r\n    - You can display with `display` command or library's specific display method.\r\n    - You can serialize custom objects to HTML using `Slides.serializer` API.\r\n- You can extend markdown syntax using `Slides.extender` API. See some good extensions to add from [PyMdown](https://facelessuser.github.io/pymdown-extensions/).\r\n\r\n\r\n---\r\n# PDF printing\r\nTo include all type of objects you need to make PDF manually.\r\nRead instructions by clicking \u2139\ufe0f button in quick menu. See [PDF-Slides](IPySlides-Print.pdf)\r\nIf you just have HTML objects like `matplotolib plots`, `images`, `plotly`, `bokeh` charts etc. and not something like `ipywidgets`, see next section.\r\n\r\n---\r\n# HTML/PDF Slides\r\n- Use `slides.export_html` to build static slides that you can print as well.\r\n- Content variety for export is limited. Widgets can not be exported unless an alternative representation is given by `Slides.alt(widget, func(widget))`.\r\n- Paper width for printing is 10 inch (254mm) and height is determined by aspect ratio of slides.\r\n- Use `Save as PDF` in browser to make links work in ouput PDF.\r\n\r\n---\r\n# Speaker Notes\r\n- 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()`. \r\n\r\n> Notes is an experimantal feature, so use at your own risk. Avoid if you can.\r\n\r\n---\r\n# Known Limitations\r\n- Since Markdown is parsed using python (and we do not run notebook from outside e.g. with nbconvert), markdown cells are of no use. A better alternative is linking a markodwn file using `Slides.sync_with_file` and slides auto update when you save your edits. You can still write markdown in code cell with slide magic `%%slide number -m` to add to slides. \r\n- 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]`.\r\n- Bounding box of slides for screenshots should be set by user (if not in fullscreen).\r\n\r\n---\r\n\r\n# Acknowledgements\r\n- Slides application is based on [ipywidgets](https://github.com/jupyter-widgets/ipywidgets).\r\n- Rich display mechanism, and collection of cell output to slides heavily rely on [IPython](https://github.com/ipython/ipython).\r\n- [Python-Markdown](https://python-markdown.github.io/) is extensily used for content and extended where needed.\r\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Live rich content slides in jupyter notebook",
    "version": "3.8.2",
    "project_urls": {
        "Bug Tracker": "https://github.com/massgh/ipyslides/issues",
        "Homepage": "https://github.com/massgh/ipyslides"
    },
    "split_keywords": [
        "jupyter",
        " widgets",
        " ipython"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "6cc41f9b1f29e5cbb76f340724614744e9733baf71287c9d81af0692d2c67545",
                "md5": "a9a5946b01fd42932008af7fab10036f",
                "sha256": "537aff0099a4f4157a3503666a46f10645ebfe69587569dff91db8bfcc6f636c"
            },
            "downloads": -1,
            "filename": "ipyslides-3.8.2-py2.py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "a9a5946b01fd42932008af7fab10036f",
            "packagetype": "bdist_wheel",
            "python_version": "py2.py3",
            "requires_python": ">=3.8",
            "size": 130708,
            "upload_time": "2024-05-08T19:16:08",
            "upload_time_iso_8601": "2024-05-08T19:16:08.582662Z",
            "url": "https://files.pythonhosted.org/packages/6c/c4/1f9b1f29e5cbb76f340724614744e9733baf71287c9d81af0692d2c67545/ipyslides-3.8.2-py2.py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a380c401bf5787775ba2a4f4cebd1cf59965e320da5040b99367925dfda414bb",
                "md5": "34ad3c965a8717453d5fd29a2a796df3",
                "sha256": "4aa48d74c22695043e5c80c3efc80bfca5e2e9cec82cb071e9e1182c2b435e6f"
            },
            "downloads": -1,
            "filename": "ipyslides-3.8.2.tar.gz",
            "has_sig": false,
            "md5_digest": "34ad3c965a8717453d5fd29a2a796df3",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 119569,
            "upload_time": "2024-05-08T19:16:11",
            "upload_time_iso_8601": "2024-05-08T19:16:11.323411Z",
            "url": "https://files.pythonhosted.org/packages/a3/80/c401bf5787775ba2a4f4cebd1cf59965e320da5040b99367925dfda414bb/ipyslides-3.8.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-05-08 19:16:11",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "massgh",
    "github_project": "ipyslides",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "requirements": [],
    "lcname": "ipyslides"
}
        
Elapsed time: 0.26729s