py3Dmol
An IPython interface for embedding 3Dmol.js views in Jupyter notebooks
Decision gist · record as of 2026-08-14
Yes, if you work with molecular structures in Jupyter notebooks. Installation is frictionless, maintenance is active, the MIT license is permissive, and there are no known vulnerabilities. The static rendering model makes it reliable for sharing notebooks and exporting to web. Not needed if you don't use Jupyter or don't work with 3D molecular data.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Jupyter notebook environment to display the interactive viewer; static output works in web pages and presentations generated from notebooks.
- Low friction installation with no runtime dependencies.
- Last release 83 days ago with active maintenance status.
License · maintenance · safety
MIT (permissive) — MIT license permits unrestricted use, modification, and distribution with minimal restrictions—suitable for both open-source and commercial projects.
last release 2026-05-23 (83 days)
0 known vulnerabilities (OSV.dev, 2026-08-14) · 427,302 downloads/mo, #6,751 on PyPI
Alternatives
Verify before relying
pip install py3Dmol
import py3Dmol
view = py3Dmol.view(query='pdb:1ubq')
view.setStyle({'cartoon':{'color':'spectrum'}})
view- Whether the package supports Python 2 in practice given its 2016 origin and the Python 2 classifier—Python 2 reached end-of-life in 2020.
- Current state of the upstream 3Dmol.js library and whether breaking changes have occurred since the last py3Dmol release.
What it is and what it does
py3Dmol is a Jupyter widget that wraps 3Dmol.js to display interactive 3D molecular structures in notebooks. It lets you query structures by PDB ID or load custom molecular data, then style and manipulate them using the 3Dmol.js API—all without needing a running kernel after the cell executes. The viewer renders as static HTML, so notebooks exported to web pages or presentations retain full interactivity.
The package has no runtime dependencies beyond Python itself, making it lightweight to install. It's designed for researchers and developers working with protein structures, chemical compounds, and other molecular data in computational notebooks. One-way communication means the notebook cannot programmatically read back viewer state, only send commands to it.
Use it for
- Display protein structures from the Protein Data Bank by PDB ID in research notebooks.
- Visualize molecular docking results or simulation frames with custom styling and coloring.
- Create interactive molecular structure figures for presentations and publications exported from notebooks.
- Teach structural biology or chemistry by embedding explorable 3D models directly in course materials.
- Inspect and annotate chemical compound structures during drug discovery workflows.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you work with molecular structures in Jupyter notebooks.
Installation is frictionless, maintenance is active, the MIT license is permissive, and there are no known vulnerabilities. The static rendering model makes it reliable for sharing notebooks and exporting to web. Not needed if you don't use Jupyter or don't work with 3D molecular data.
Install
py3dmol on PyPI
Before you install
Low friction installation with no runtime dependencies. Last release 83 days ago with active maintenance status.
Requires Jupyter notebook environment to display the interactive viewer; static output works in web pages and presentations generated from notebooks.
License in practice
MIT license permits unrestricted use, modification, and distribution with minimal restrictions—suitable for both open-source and commercial projects.
Quickstart
pip install py3Dmol
import py3Dmol
view = py3Dmol.view(query='pdb:1ubq')
view.setStyle({'cartoon':{'color':'spectrum'}})
view
Verify before relying
- Whether the package supports Python 2 in practice given its 2016 origin and the Python 2 classifier—Python 2 reached end-of-life in 2020.
- Current state of the upstream 3Dmol.js library and whether breaking changes have occurred since the last py3Dmol release.
Package facts
| License | MIT permissive |
| Python support | Not specified |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | None |
| Maintenance | Actively maintained 83 days since the last release |
| First released | |
| Downloads | 427,302 / month, #6,751 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableIntended Audience :: DevelopersIntended Audience :: Science/ResearchLicense :: OSI Approved :: MIT LicenseProgramming Language :: Python :: 2Programming Language :: Python :: 3Topic :: Scientific/Engineering :: Bio-InformaticsTopic :: Scientific/Engineering :: ChemistryTopic :: Scientific/Engineering :: Visualization |
Evidence: py3dmol-2.5.5-py2.py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “jupyter 3d molecule viewer”
- py3DmolEmbeds an interactive 3D molecular viewer in Jupyter notebooks using…
- naparinapari is an interactive, multi-dimensional image viewer for Python…
- meshcatmeshcat is a Python interface to a browser-based 3D WebGL viewer that…
Give your agent the search over MCP, or paste the wish link into any chat.
More Visualization packages
matplotlib creates static, animated, and interactive visualizations in Python, producing publication-quality figures in multiple formats for scripts, shells, web servers, and graphical interfaces.
Install it if you need to visualize data, generate publication-quality figures, or embed plots in applications.
ContourPy calculates contours of 2D quadrilateral grids using C++11 algorithms wrapped in Python, offering serial and multithreaded implementations without requiring Matplotlib as a dependency.
Plotly is an interactive, browser-based graphing library that creates charts and visualizations from Python, rendering them as HTML that can be viewed in Jupyter notebooks, standalone files, or web applications.
Generates DOT language source code for graph structures and renders them using the Graphviz graph drawing software installed on your system.
Install it if you need to generate or render graphs from Python.
Streamlit transforms Python scripts into interactive web applications with minimal code, enabling rapid development of data dashboards, reports, and chat interfaces without requiring web development expertise.
Leather is a lightweight Python charting library for quick, no-frills data visualization. It generates charts without requiring perfect styling or extensive configuration.
See also ipywidgets · ipyleaflet · rerun-notebook · mpld3 · ipytree · pythreejs · mediapy · jupyter-leaflet · ipysigma · prolif