ipynbname
Simply returns either notebook filename or the full path to the notebook when run from Jupyter notebook in browser.
Decision gist · record as of 2026-08-14
Yes, if you need to programmatically access the current notebook's filename or path within a browser-based Jupyter environment. The low install friction and permissive MIT license make it a lightweight addition. However, be aware that maintenance is aging (last release 362 days ago) and the package has known limitations outside browser notebooks, so verify it works with your specific Jupyter setup before relying on it in production workflows.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Only works reliably when running in a browser-based Jupyter notebook; does not work with nbconvert or papermill.
- Low install friction with a single runtime dependency on ipykernel.
- Maintenance status is aging—last release was 362 days ago and the repository shows minimal recent activity, though it remains unarchived.
License · maintenance · safety
MIT (permissive) — MIT license permits free use, modification, and distribution with minimal restrictions, making it suitable for both open-source and commercial projects.
last release 2025-08-17 (362 days) · last repo commit 2025-08-17 · 65 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 251,605 downloads/mo, #8,574 on PyPI
Alternatives
Verify before relying
pip install ipynbname
import ipynbname
nb_fname = ipynbname.name()
nb_path = ipynbname.path()- Whether the package works reliably with current Jupyter versions and modern notebook interfaces.
- Performance characteristics when called repeatedly or in long-running notebooks.
- Compatibility with VS Code workaround mentioned in documentation.
What it is and what it does
ipynbname solves a surprisingly difficult problem: getting the filename or full path of the notebook you're currently running in Jupyter. When executed in a browser-based notebook, it queries the Jupyter kernel to retrieve this metadata, which is not otherwise easily accessible from within the notebook itself. The package exposes two main functions—name() to get just the filename and path() to get the full file path—making it straightforward to automate workflows that depend on knowing which notebook is running.
The package was originally created to automate publishing blog posts written in Jupyter notebooks directly to GitHub Pages. It has a single runtime dependency on ipykernel and requires Python >=3.4. The main limitation is that it only works reliably in browser-based Jupyter notebooks; it does not currently work with nbconvert or papermill.
Use it for
- Automating blog post publishing workflows by detecting which notebook is being converted and routing it to the correct destination.
- Logging or tracking which notebook generated a particular output or result in a data analysis pipeline.
- Dynamically naming output files or directories based on the source notebook filename without manual configuration.
- Building notebook-aware automation that needs to know its own filename for reproducibility or audit purposes.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you need to programmatically access the current notebook's filename or path within a browser-based Jupyter environment.
The low install friction and permissive MIT license make it a lightweight addition. However, be aware that maintenance is aging (last release 362 days ago) and the package has known limitations outside browser notebooks, so verify it works with your specific Jupyter setup before relying on it in production workflows.
Install
ipynbname on PyPI
Before you install
Low install friction with a single runtime dependency on ipykernel. Maintenance status is aging—last release was 362 days ago and the repository shows minimal recent activity, though it remains unarchived.
Only works reliably when running in a browser-based Jupyter notebook; does not work with nbconvert or papermill.
License in practice
MIT license permits free use, modification, and distribution with minimal restrictions, making it suitable for both open-source and commercial projects.
Quickstart
pip install ipynbname
import ipynbname
nb_fname = ipynbname.name()
nb_path = ipynbname.path()
Verify before relying
- Whether the package works reliably with current Jupyter versions and modern notebook interfaces.
- Performance characteristics when called repeatedly or in long-running notebooks.
- Compatibility with VS Code workaround mentioned in documentation.
Package facts
| License | MIT permissive |
| Python support | Supports the current Python release >=3.4 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 1 packageipykernel |
| Maintenance | Aging 362 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 251,605 / month, #8,574 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 4 - BetaFramework :: JupyterLicense :: OSI Approved :: MIT LicenseOperating System :: OS IndependentTopic :: Utilities |
Evidence: ipynbname-2025.8.0.0-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 › “get jupyter notebook filename”
- ipynbnameReturns the filename or full path of the currently running Jupyter…
- ipyfilechooserA Jupyter/IPython widget that lets users browse and select files or…
- bigquery-magicsProvides IPython magic commands to query Google BigQuery directly…
Give your agent the search over MCP, or paste the wish link into any chat.
More Utilities packages
Converts domain names between Unicode and ASCII-compatible encoding (Punycode) according to IDNA 2008 and Unicode Technical Standard 46, with security validation and broader script coverage than the standard library.
Install it if you work with internationalized domain names, need to validate domains, or use HTTP clients that depend on it transitively.
Detects and normalizes text encoding from unknown or ambiguous sources, supporting all IANA character sets that Python's core library provides codecs for, with the ability to register custom codecs.
Setuptools is a Python build backend and package management tool that handles building, distributing, and installing Python packages, including support for C/C++ extension modules.
Pluggy provides a plugin system that lets you define hook specifications and register implementations to be called in sequence, enabling extensible Python applications without tight coupling.
Install it if you're building an extensible application or framework.
Pygments is a syntax highlighter that colorizes source code and text in over 500 languages and formats, outputting to HTML, LaTeX, RTF, SVG, images, or ANSI terminal sequences.
Install it if you need to display or transform source code.
Six provides utility functions to write Python code that runs on both Python 2.7 and Python 3.3+, smoothing over language differences between the two versions.
See also nbconvert · notebook · ipynb · mkdocs-jupyter · nbclient · nbsphinx · testbook · importnb · pyprojroot · session-info2