Skip to main content

A small python package

Project description

StreamLab

StreamLab banner

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:

  1. fork the repository
  2. create a feature branch
  3. make your changes
  4. 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


Download files

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

Source Distribution

streamlab-0.0.1.tar.gz (9.0 kB view details)

Uploaded Source

Built Distribution

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

streamlab-0.0.1-py3-none-any.whl (9.1 kB view details)

Uploaded Python 3

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

Hashes for streamlab-0.0.1.tar.gz
Algorithm Hash digest
SHA256 e9d3518eb0880cbb1b4a0f6d6396df37e973028c8002564a398ca03628bf03f3
MD5 bedc4fde40450963e6f9b7e0932769c0
BLAKE2b-256 9772dac6a1def7032fa841929872fb6f87e0da96dfc8edbcaca4d805b5a9256d

See more details on using hashes here.

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

Hashes for streamlab-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 9b9b2f9f4a0ad04b6d39b333bbed29a82580f9f75c29b14de8ab66efd2de5909
MD5 bf09d5eef807cd3184079e6285ae6442
BLAKE2b-256 45c8d856b9491249262573190a7287128bb636984a25967715312de58fb8b53d

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