This release is a pre-release and may not be stable for production use.
pnbp = "pretty notebook parser"
pnbp provides programmatic access to a notebook via :
- > pnbp/models : models and methods.
- access notes and their individual (regex established) components in the python repl, scripts, and your own shell commands.
- > pnbp/commands : shell commands.
- run pre-defined function against a notebook in the terminal directly, or, scheduled.
---
a pretty notebook is the collection of markdown files in a specific directory. a pretty note is a single .md file within the notebook directory.
links ( [[link]] , ![[link.jpg]] ), tags ( #tag ), codeblocks ( ```py print("Hello World")``` ), and urls ( [goog](https://google.com) ) are the main components outside of additional render syntax of a .md note using an extended linking and tagging markdown.
https://obsidian.md/ is the best example of this in action.
quickstart guide :
(0) -> pip install pnbp
(1) -> access via the Notebook model
(2) -> cli commands
(3) -> web application / api (experimental; not supported for public deployment in 0.9.0rc1)
(4) -> “pnano” (experimental/unsupported in 0.9.0rc1)
(-1) -> git clone the repo.
pip uninstall pnbp
git clone https://github.com/outside-labs/Pretty-Notebook/ pnbp
cd pnbp/
pip install . # pyproject.toml defined requirements
pip install --editable . # pnbp/cli.py defined “pnbp command”s
(2) -> set environment variables.
| var | desc | e.g. |
|---|---|---|
| NOTE_PATH | the full directory path of your notebook | echo 'export NOTE_PATH="/users/alice/notebook"' >> ~/.zshrc |
| IMG_PATH | (optional entirely; set here or in pnbp_settings.json) | echo 'export IMG_PATH="$NOTE_PATH/imgs"' >> ~/.zshrc |
| HTML_PATH | (optional entirely; useful debug w/ Pretty-Notebook/apps/web api; set here, in pnbp_settings.json, or not at all.) | echo 'export HTML_PATH="$NOTE_PATH/html"' >> ~/.zshrc |
| NOTE_NESTED | (optional; default="flat") => "single", "recurs", "all", | ... |
| PNBP_SETTINGS | (optional) => "off" to ignore using a NOTE_PATH/pnbp_settings.json | echo 'export PNBP_SETTINGS="off"' >> ~/.zshrc |
NOTE_NESTED
- "flat" - by default, pnbp assumes that every .md note exist within the base directory level of NOTE_PATH/.
- "single" - if you want pnbp to search for .md notes within additional (non-hidden) directory level up.
- "recurs" - if you want .md notes to be found through all (non-hidden) directory levels up.
- "all" - if you want even hidden (non- .git, .obsidian) directories traversed recursively up.
PNBP_SETTINGS
- without
PNBP_SETTINGS="off", "NOTE_PATH/pnbp_settings.json" will be nagged for. - Notebook can generate one at the python prompt that you can edit later ->
( ... on Windows? Environment Variable(s) can be set here. Also, recall that in most places you'll also need to escape the "\" within any path strings (e.g. "IMG_PATH": "\\Users\\alice\\notebook\\imgs") used; the drive letter (e.g. "D:\\Media\imgs") is optional if it's your %HOMEDRIVE%. )
(3) -> access your notes in python3.11+ !
>>> import pnbp
>>> nb = pnbp.Notebook()
...
Metadata
Release files for pnbp 0.9.0rc1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pnbp-0.9.0rc1.tar.gz | 50.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pnbp-0.9.0rc1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 94.3 kB
Release files / pnbp-0.9.0rc1.tar.gz
| Download URL | pnbp-0.9.0rc1.tar.gz |
|---|---|
| Size | 50.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9df24c3151db49be45071133e0fa37aa2a116d4d1d351ff2c3b026b01aeda6d4
|
|
BLAKE2b-256 checksum How to use checksums |
b538d49b8b29bcf919311dd9a8de0eda81424cfb32707ee010dcd7ef9ce3295b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 26, 2026.
Transparency logRelease files / pnbp-0.9.0rc1-py3-none-any.whl
| Download URL | pnbp-0.9.0rc1-py3-none-any.whl |
|---|---|
| Size | 43.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
67cbceb81865e34be89f5f798e557b9aa318dbb9ae716725c2aeb0b838d6efcf
|
|
BLAKE2b-256 checksum How to use checksums |
be62d91ee124b31d681b8ff8e11c142b9c4a3272816ca8c1a4a2dcaad490df75
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 26, 2026.
Transparency log