A small python package
Project description
StreamLab
Render websites and YouTube videos directly inside IPython notebooks.
StreamLab is a lightweight Python package designed for notebook-first workflows. It makes it easy to display live websites and YouTube videos inside Jupyter, Google Colab, and other IPython-based environments without leaving your notebook.
Why StreamLab?
When working in notebooks, it is often useful to keep external content close to your code, notes, demos, or experiments. StreamLab helps by embedding web pages and video content directly into notebook cells.
Use it for:
- interactive demos
- educational notebooks
- research presentations
- rapid prototyping
- media-rich documentation
- dashboards and reference views inside notebooks
Features
- Render any website inside an IPython notebook
- Embed YouTube videos directly in notebook output cells
- Simple API for notebook-based workflows
- Useful for both Jupyter Notebook and Google Colab
- Minimal setup and quick integration into existing projects
Installation
You can install StreamLab via pip:
pip install streamlab
Or install the latest development version from GitHub:
pip install git+https://github.com/Sabbir-Azim/StreamLab.git
How to install this package in your system
conda create -n streamlab_env python=3.8 -y
conda activate streamlab_env
pip install -r requirements_dev.txt
Quick Start
Note: Replace the example function names below with your actual public API if your implementation uses different names.
Render a website
from streamlab import render_website
render_website("https://example.com")
Render a YouTube video
from streamlab import render_youtube
render_youtube("https://www.youtube.com/watch?v=dQw4w9WgXcQ")
Use inside Jupyter / Colab
from streamlab import render_website, render_youtube
render_website("https://pypi.org")
render_youtube("https://www.youtube.com/watch?v=VIDEO_ID")
Example Use Cases
1. Notebook-based teaching
Show lecture resources, reference sites, or YouTube tutorials directly inside a notebook.
2. Data storytelling
Embed external dashboards, reports, or explainer videos alongside analysis.
3. Research workflows
Keep documentation pages, papers, or relevant web tools visible during experiments.
4. Product demos
Build richer notebooks by combining code, websites, and videos in a single place.
Supported Environments
StreamLab is intended for environments that support IPython display capabilities, including:
- Jupyter Notebook
- JupyterLab
- Google Colab
- Other IPython-based notebook environments
Behavior may vary depending on browser security settings, iframe restrictions, or third-party site policies.
Notes and Limitations
- Some websites may block embedding through iframe or browser security headers.
- YouTube embedding behavior may depend on regional, browser, or policy restrictions.
- Notebook environments may render external content differently depending on frontend support.
If a site does not render, the issue may be caused by the target website rather than StreamLab itself.
API Design Idea
If you want a simple public API, you may expose functions such as:
render_website(url: str, width: int = 900, height: int = 500)
render_youtube(url: str, width: int = 900, height: int = 500)
If your package already uses different function names or parameters, update this section accordingly.
Roadmap
Possible future improvements:
- custom width and height controls
- support for more video platforms
- URL validation helpers
- better fallback messages for blocked sites
- richer notebook widget integration
- theme-aware rendering options
Contributing
Contributions are welcome.
If you would like to improve StreamLab, feel free to:
- fork the repository
- create a feature branch
- make your changes
- submit a pull request
Bug reports, feature requests, and feedback are always appreciated.
License
Add your preferred license here.
Example:
Apache License
If you plan to publish on PyPI, make sure the license in this README matches your repository and package metadata.
Author
Sabbir Azim
GitHub: Sabbir-Azim
Project Status
StreamLab is under active development. The API may evolve as the project grows.
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file streamlab-0.0.1.tar.gz.
File metadata
- Download URL: streamlab-0.0.1.tar.gz
- Upload date:
- Size: 9.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.25
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e9d3518eb0880cbb1b4a0f6d6396df37e973028c8002564a398ca03628bf03f3
|
|
| MD5 |
bedc4fde40450963e6f9b7e0932769c0
|
|
| BLAKE2b-256 |
9772dac6a1def7032fa841929872fb6f87e0da96dfc8edbcaca4d805b5a9256d
|
File details
Details for the file streamlab-0.0.1-py3-none-any.whl.
File metadata
- Download URL: streamlab-0.0.1-py3-none-any.whl
- Upload date:
- Size: 9.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.25
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9b9b2f9f4a0ad04b6d39b333bbed29a82580f9f75c29b14de8ab66efd2de5909
|
|
| MD5 |
bf09d5eef807cd3184079e6285ae6442
|
|
| BLAKE2b-256 |
45c8d856b9491249262573190a7287128bb636984a25967715312de58fb8b53d
|