{"library":"nbconvert","title":"Jupyter nbconvert","description":"nbconvert is a powerful tool in the Jupyter ecosystem that converts Jupyter Notebook files (.ipynb) into various other static formats like HTML, LaTeX, PDF, Markdown, reStructuredText, and executable scripts. It is actively maintained and currently supports Python 3.9-3.12. The library sees regular updates, often with several minor releases within major versions.","language":"python","status":"active","last_verified":"Tue May 12","install":{"commands":["pip install nbconvert"],"cli":{"name":"jupyter-nbconvert","version":"7.17.1"}},"imports":["from nbconvert import HTMLExporter","from nbconvert.preprocessors import ExecutePreprocessor","import nbformat","from traitlets.config import Config"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import nbformat\nfrom nbconvert.preprocessors import ExecutePreprocessor\nfrom nbconvert.exporters import HTMLExporter\nimport os\n\n# Create a dummy notebook file for demonstration\nnotebook_content = {\n    \"cells\": [\n        {\"cell_type\": \"code\", \"source\": \"a = 1\\nb = 2\\nprint(a + b)\", \"metadata\": {}} \n    ],\n    \"metadata\": {\"kernelspec\": {\"display_name\": \"Python 3\", \"language\": \"python\", \"name\": \"python3\"}, \"language_info\": {\"codemirror_mode\": {\"name\": \"ipython\", \"version\": 3}, \"file_extension\": \".py\", \"mimetype\": \"text/x-python\", \"name\": \"python\", \"nbconvert_exporter\": \"python\", \"pygments_lexer\": \"ipython3\", \"version\": \"3.9.0\"}},\n    \"nbformat\": 4,\n    \"nbformat_minor\": 5\n}\n\nnotebook_filename = \"my_notebook.ipynb\"\nwith open(notebook_filename, 'w', encoding='utf-8') as f:\n    nbformat.write(nbformat.from_dict(notebook_content), f)\n\n# 1. Load the notebook\nwith open(notebook_filename, 'r', encoding='utf-8') as f:\n    nb = nbformat.read(f, as_version=4)\n\n# 2. (Optional) Execute the notebook\nep = ExecutePreprocessor(timeout=600, kernel_name='python3')\ntried_nb, _ = ep.preprocess(nb, {'metadata': {'path': '.'}})\n\n# 3. Convert to HTML\nhtml_exporter = HTMLExporter()\nbody, resources = html_exporter.from_notebook_node(tried_nb)\n\n# 4. Save the converted file\noutput_filename = \"my_notebook.html\"\nwith open(output_filename, 'w', encoding='utf-8') as f:\n    f.write(body)\n\nprint(f\"Notebook '{notebook_filename}' executed and converted to '{output_filename}'\")\n\n# Clean up the dummy notebook file\nos.remove(notebook_filename)\nif os.path.exists('my_notebook.nbconvert.ipynb'): # Preprocessor might save an executed version\n    os.remove('my_notebook.nbconvert.ipynb')","lang":"python","description":"This quickstart demonstrates how to programmatically load, optionally execute, and then convert a Jupyter notebook to HTML using nbconvert's Python API. It creates a dummy notebook for a runnable example.","tag":"stale","tag_description":"widespread failures or data too old to trust","last_tested":"2026-04-23","results":[{"runtime":"python:3.10-alpine","exit_code":1},{"runtime":"python:3.10-slim","exit_code":1},{"runtime":"python:3.11-alpine","exit_code":1},{"runtime":"python:3.11-slim","exit_code":1},{"runtime":"python:3.12-alpine","exit_code":1},{"runtime":"python:3.12-slim","exit_code":1},{"runtime":"python:3.13-alpine","exit_code":1},{"runtime":"python:3.13-slim","exit_code":1},{"runtime":"python:3.9-alpine","exit_code":1},{"runtime":"python:3.9-slim","exit_code":1}]},"compatibility":{"tag":"verified","tag_description":"installs cleanly on critical runtimes, fast import, recently tested","last_tested":"2026-05-12","installed_version":null,"pypi_latest":null,"is_stale":null,"summary":{"python_range":"3.10–3.9","success_rate":100,"avg_install_s":null,"avg_import_s":2.58,"wheel_type":null},"results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"nbconvert","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":2.42,"mem_mb":24.7,"disk_size":"50.9M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"nbconvert","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":1.66,"mem_mb":24.7,"disk_size":"47M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"nbconvert","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":3.2,"mem_mb":27.3,"disk_size":"56.9M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"nbconvert","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":2.99,"mem_mb":27.3,"disk_size":"53M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"nbconvert","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":3.33,"mem_mb":26.8,"disk_size":"47.9M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"nbconvert","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":3.35,"mem_mb":26.8,"disk_size":"44M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"nbconvert","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":2.71,"mem_mb":27.4,"disk_size":"47.6M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"nbconvert","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":2.39,"mem_mb":27.4,"disk_size":"44M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"nbconvert","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":1.8,"mem_mb":26.9,"disk_size":"50.6M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"nbconvert","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":1.93,"mem_mb":26.9,"disk_size":"47M"}]}}