# PlixLab
[](https://badge.fury.io/py/plixlab)
[](https://plixlabdev.github.io/plixlab/)
[](https://www.gnu.org/licenses/agpl-3.0)
**PlixLab** is a Python tool for interactive presentations that combine code execution, data visualization, and multimedia content in web-based slides.
## ✨ Key Features
🖥️ Presentations are created programmatically
🌐 Runs in any modern browser
🔬 Built for researchers, educators, and data scientists
🚀 Supports live Python code execution within presentations
📊 Seamless integration with Plotly, Bokeh, and Matplotlib
🧬 Supports 3D protein visualization
📖 Automatically formats citations
⚡ Enables live editing with instant preview updates
## 📚 Documentation
- **[Documentation](https://plixlabdev.github.io/plixlab/)** - Complete guide, API reference, and examples
## 🎯 Use Cases
- **Research Presentations**: Interactive data exploration during talks
- **Educational Materials**: Live coding demonstrations and tutorials
- **Conference Talks**: Engaging presentations with real-time analysis
## 🚀 Quick Start
### Installation
```bash
pip install plixlab
```
### Getting started
```python
from plixlab import Slide
# Create a simple slide
slide = Slide()
slide.text("Welcome to PlixLab!", y=0.7, color="white")
slide.text("Interactive Scientific Presentations", y=0.3, color="lightblue")
slide.show()
```
## 💡 Examples
### Interactive Plot Example
```python
import plotly.express as px
from plixlab import Slide
# Create data visualization
df = px.data.iris()
fig = px.scatter(df, x="sepal_width", y="sepal_length", color="species")
# Add to slide
slide = Slide()
slide.plotly(fig, x=0.1, y=0.1, w=0.8, h=0.8)
slide.show()
```
### Multi-slide Presentations
```python
from plixlab import Presentation
s1 = Slide().text('Slide 1')
s2 = Slide().text('Slide 2')
pres = Presentation([s1, s2], title="My Presentation")
pres.show()
```
### Molecular Visualization
```python
from plixlab import Slide
Slide().molecule('9B31').show()
```
## 📄 License
This project is licensed under the AGPL-3.0 License - see the [LICENSE](LICENSE) file for details.
Raw data
{
"_id": null,
"home_page": null,
"name": "plixlab",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.11",
"maintainer_email": null,
"keywords": "presentations, scientific, interactive, visualization, jupyter",
"author": null,
"author_email": "Giuseppe Romano <romanog@mit.edu>",
"download_url": "https://files.pythonhosted.org/packages/49/bc/eeb85101299847f070977c0a03bf05783bb972c6515ebb09f164d1fc8d2b/plixlab-0.5.0.tar.gz",
"platform": null,
"description": "# PlixLab \n\n[](https://badge.fury.io/py/plixlab)\n[](https://plixlabdev.github.io/plixlab/)\n[](https://www.gnu.org/licenses/agpl-3.0)\n\n\n**PlixLab** is a Python tool for interactive presentations that combine code execution, data visualization, and multimedia content in web-based slides.\n\n## \u2728 Key Features\n\n\n\ud83d\udda5\ufe0f Presentations are created programmatically\n\n\ud83c\udf10 Runs in any modern browser \n\n\ud83d\udd2c Built for researchers, educators, and data scientists\n\n\ud83d\ude80 Supports live Python code execution within presentations\n\n\ud83d\udcca Seamless integration with Plotly, Bokeh, and Matplotlib\n\n\ud83e\uddec Supports 3D protein visualization\n\n\ud83d\udcd6 Automatically formats citations \n\n\n\u26a1 Enables live editing with instant preview updates\n\n## \ud83d\udcda Documentation\n\n- **[Documentation](https://plixlabdev.github.io/plixlab/)** - Complete guide, API reference, and examples\n\n## \ud83c\udfaf Use Cases\n\n- **Research Presentations**: Interactive data exploration during talks\n- **Educational Materials**: Live coding demonstrations and tutorials\n- **Conference Talks**: Engaging presentations with real-time analysis\n\n## \ud83d\ude80 Quick Start\n\n### Installation\n\n```bash\npip install plixlab\n```\n\n### Getting started\n\n```python\nfrom plixlab import Slide\n\n# Create a simple slide\nslide = Slide()\nslide.text(\"Welcome to PlixLab!\", y=0.7, color=\"white\")\nslide.text(\"Interactive Scientific Presentations\", y=0.3, color=\"lightblue\")\nslide.show()\n```\n\n\n## \ud83d\udca1 Examples\n### Interactive Plot Example\n\n```python\nimport plotly.express as px\nfrom plixlab import Slide\n\n# Create data visualization\ndf = px.data.iris()\nfig = px.scatter(df, x=\"sepal_width\", y=\"sepal_length\", color=\"species\")\n\n# Add to slide\nslide = Slide()\nslide.plotly(fig, x=0.1, y=0.1, w=0.8, h=0.8)\nslide.show()\n```\n\n\n### Multi-slide Presentations\n```python\n\nfrom plixlab import Presentation\n\ns1 = Slide().text('Slide 1')\ns2 = Slide().text('Slide 2')\n\npres = Presentation([s1, s2], title=\"My Presentation\")\npres.show()\n```\n\n### Molecular Visualization\n```python\nfrom plixlab import Slide\n\nSlide().molecule('9B31').show()\n```\n\n\n\n## \ud83d\udcc4 License\n\nThis project is licensed under the AGPL-3.0 License - see the [LICENSE](LICENSE) file for details.\n\n\n",
"bugtrack_url": null,
"license": null,
"summary": "Interactive scientific presentations in Python",
"version": "0.5.0",
"project_urls": {
"Documentation": "https://plixlabdev.github.io/plixlab/",
"Homepage": "https://github.com/plixlabdev/plixlab",
"Repository": "https://github.com/plixlabdev/plixlab"
},
"split_keywords": [
"presentations",
" scientific",
" interactive",
" visualization",
" jupyter"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "89fa8c9a08011d658eb8da31706efb3fd0f1161df52b05f25dd3075ff9f26fab",
"md5": "d4e9e46f499250661391272f4cc06031",
"sha256": "543966326b7f770b41be7c2268c4f5d1ceae5788ee07c4bb72668930081a4bb4"
},
"downloads": -1,
"filename": "plixlab-0.5.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "d4e9e46f499250661391272f4cc06031",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.11",
"size": 10433208,
"upload_time": "2025-08-12T17:48:51",
"upload_time_iso_8601": "2025-08-12T17:48:51.247187Z",
"url": "https://files.pythonhosted.org/packages/89/fa/8c9a08011d658eb8da31706efb3fd0f1161df52b05f25dd3075ff9f26fab/plixlab-0.5.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "49bceeb85101299847f070977c0a03bf05783bb972c6515ebb09f164d1fc8d2b",
"md5": "b8e1105cb2b9f000c1e1542f4c2ea5b4",
"sha256": "7e9e70dafd86851d69ac9622522393fbc9893f1d52027e8b649a7ca1eee51935"
},
"downloads": -1,
"filename": "plixlab-0.5.0.tar.gz",
"has_sig": false,
"md5_digest": "b8e1105cb2b9f000c1e1542f4c2ea5b4",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.11",
"size": 10406963,
"upload_time": "2025-08-12T17:48:53",
"upload_time_iso_8601": "2025-08-12T17:48:53.411611Z",
"url": "https://files.pythonhosted.org/packages/49/bc/eeb85101299847f070977c0a03bf05783bb972c6515ebb09f164d1fc8d2b/plixlab-0.5.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-12 17:48:53",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "plixlabdev",
"github_project": "plixlab",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "plixlab"
}