ipyslides


Nameipyslides JSON
Version 4.8.7 PyPI version JSON
download
home_pagehttps://github.com/massgh/ipyslides
SummaryLive rich content slides in jupyter notebook
upload_time2024-09-13 02:06:44
maintainerNone
docs_urlNone
authorAbdul Saboor
requires_python>=3.8
licenseMIT
keywords jupyter widgets ipython
VCS
bugtrack_url
requirements anywidget tldraw ipython jupyterlab markdown altair ipywidgets numpy pandas matplotlib voila markdown-customblocks pillow
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 [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/).


---
# 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` which also works to provide alternative export representation of any object.
- Any object including widget can be replaced for export using ` Slides.alt ` function which lets you paste a screenshot of that object or it's alternative html representation at runtime or export time.
- 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.

---
# Caveats!
- 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. To minimize this difficulty, use `-1` in place of a slide number to add numbering automatically in Jupyter Notebook and python file! Other cell code is preserved. You may need to rerun cell if creating slides in a for loop.

---

# 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/95/d9/3ec9323cbf1eab334170cef7f7bac0952174d604ab0819d52a47f2965296/ipyslides-4.8.7.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 [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# 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` which also works to provide alternative export representation of any object.\r\n- Any object including widget can be replaced for export using ` Slides.alt ` function which lets you paste a screenshot of that object or it's alternative html representation at runtime or export time.\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# Caveats!\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. To minimize this difficulty, use `-1` in place of a slide number to add numbering automatically in Jupyter Notebook and python file! Other cell code is preserved. You may need to rerun cell if creating slides in a for loop.\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": "4.8.7",
    "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": "55dbbc6b868bbe34d910af6f4533d624864d609826358409f5540f59fc7c2f86",
                "md5": "b9c2b9fd883ec1b56c71498ae0a6df9a",
                "sha256": "f7aceaeb31c5bc2d194f7b2c53576399b6adde29c13f4d267f1345ec3cc274e2"
            },
            "downloads": -1,
            "filename": "ipyslides-4.8.7-py2.py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "b9c2b9fd883ec1b56c71498ae0a6df9a",
            "packagetype": "bdist_wheel",
            "python_version": "py2.py3",
            "requires_python": ">=3.8",
            "size": 133526,
            "upload_time": "2024-09-13T02:06:41",
            "upload_time_iso_8601": "2024-09-13T02:06:41.964525Z",
            "url": "https://files.pythonhosted.org/packages/55/db/bc6b868bbe34d910af6f4533d624864d609826358409f5540f59fc7c2f86/ipyslides-4.8.7-py2.py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "95d93ec9323cbf1eab334170cef7f7bac0952174d604ab0819d52a47f2965296",
                "md5": "4fde1fd2510160d94fe95fe7f43932e5",
                "sha256": "ebb646896f0a6d03113e6dc9d2207c92933e5ea35b19096f6628ea16cd3913b4"
            },
            "downloads": -1,
            "filename": "ipyslides-4.8.7.tar.gz",
            "has_sig": false,
            "md5_digest": "4fde1fd2510160d94fe95fe7f43932e5",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 118889,
            "upload_time": "2024-09-13T02:06:44",
            "upload_time_iso_8601": "2024-09-13T02:06:44.368562Z",
            "url": "https://files.pythonhosted.org/packages/95/d9/3ec9323cbf1eab334170cef7f7bac0952174d604ab0819d52a47f2965296/ipyslides-4.8.7.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-09-13 02:06:44",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "massgh",
    "github_project": "ipyslides",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "requirements": [
        {
            "name": "anywidget",
            "specs": [
                [
                    "==",
                    "0.9.13"
                ]
            ]
        },
        {
            "name": "tldraw",
            "specs": [
                [
                    "==",
                    "2.2.4"
                ]
            ]
        },
        {
            "name": "ipython",
            "specs": [
                [
                    ">=",
                    "8.7"
                ]
            ]
        },
        {
            "name": "jupyterlab",
            "specs": [
                [
                    ">=",
                    "3.5.2"
                ]
            ]
        },
        {
            "name": "markdown",
            "specs": []
        },
        {
            "name": "altair",
            "specs": []
        },
        {
            "name": "ipywidgets",
            "specs": [
                [
                    ">=",
                    "8.0.4"
                ]
            ]
        },
        {
            "name": "numpy",
            "specs": []
        },
        {
            "name": "pandas",
            "specs": []
        },
        {
            "name": "matplotlib",
            "specs": []
        },
        {
            "name": "voila",
            "specs": [
                [
                    ">=",
                    "0.4.0"
                ]
            ]
        },
        {
            "name": "markdown-customblocks",
            "specs": []
        },
        {
            "name": "pillow",
            "specs": [
                [
                    ">=",
                    "9.3.0"
                ]
            ]
        }
    ],
    "lcname": "ipyslides"
}
        
Elapsed time: 0.36035s