Metadata-Version: 2.4
Name: pretty-notebook
Version: 0.10.0rc2
Summary: Python tools for parsing and querying wiki-linked, tagged Markdown notebooks.
Author: prettynb
Maintainer: Outside Labs
License-Expression: MIT
Project-URL: Homepage, https://outside-labs.com
Project-URL: Repository, https://github.com/outside-labs/pretty-notebook
Project-URL: Documentation, https://github.com/outside-labs/pretty-notebook/tree/v0.10.0rc2/docs
Project-URL: Issues, https://github.com/outside-labs/pretty-notebook/issues
Keywords: markdown,notes,wikilinks,knowledge-management
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: click>=8.0
Requires-Dist: markdown>=3.3.4
Requires-Dist: requests>=2.26
Requires-Dist: rich>=10.6
Dynamic: license-file

# Pretty Notebook package

Pretty Notebook is a Python library and command-line interface for interconnected
Markdown notebooks. A notebook is an existing directory of Markdown files;
a note is one source file. Wiki links, tags, code blocks and URLs have explicit
models, while ordinary Markdown remains the authoritative content.

## Choose a version

The 0.10 candidate is `pretty-notebook==0.10.0rc2` on Python 3.11 or newer.
It supplies canonical `pretty_notebook` imports, compatible `pnbp` imports,
and the `pnbp` executable.

```sh
python -m pip uninstall pnbp
python -m pip install pretty-notebook==0.10.0rc2
pnbp --help
```

Uninstall the old distribution before installing the candidate to preserve the
compatibility modules. See [package migration](https://github.com/outside-labs/Pretty-Notebook/blob/v0.10.0rc2/docs/package-migration.md) and
[0.10 release notes](https://github.com/outside-labs/Pretty-Notebook/blob/v0.10.0rc2/docs/release-0.10.0.md). The historical stable package is
`pnbp==0.9.0`; its versioned [release notes](https://github.com/outside-labs/Pretty-Notebook/blob/v0.10.0rc2/docs/release-0.9.0.md) retain that contract.

For source development, install the checkout with
`python -m pip install --editable .`.

## First notebook and existing notebooks

Follow the [notebook workflow tutorial](https://github.com/outside-labs/Pretty-Notebook/blob/v0.10.0rc2/docs/tutorials.md) for a temporary notebook,
initialization, pending edits, checked renames, search and navigation. Its local
examples are executed by the documentation build.

```python
from pretty_notebook import Notebook

nb = Notebook.open("~/notes", settings={"NOTE_NESTED": "recurs"})
note = nb.get("guides/overview", fuzzy=False)
```

The path must already exist. Opening reads files without prompting or creating
configuration. Initialize deliberately with `pnbp init PATH`; see the canonical
[settings and profile guide](https://github.com/outside-labs/Pretty-Notebook/blob/v0.10.0rc2/docs/settings.md) for precedence, migration and credentials.
`Notebook()` continues to use `NOTE_PATH` for existing environment-based setups.

## Continue by topic

- [Note commands and pending edits](https://github.com/outside-labs/Pretty-Notebook/blob/v0.10.0rc2/docs/editing.md): add/edit, empty bodies, saves and recovery drafts.
- [Models and methods](https://github.com/outside-labs/Pretty-Notebook/blob/v0.10.0rc2/docs/pnbp_models.md) and [generated API reference](https://github.com/outside-labs/Pretty-Notebook/blob/v0.10.0rc2/docs/reference.md): public imports and signatures.
- [Local search](https://github.com/outside-labs/Pretty-Notebook/blob/v0.10.0rc2/docs/local-search.md), [navigation](https://github.com/outside-labs/Pretty-Notebook/blob/v0.10.0rc2/docs/navigation.md) and [links](https://github.com/outside-labs/Pretty-Notebook/blob/v0.10.0rc2/docs/links.md): read-only projections and explicit traversal.
- [Stable identities](https://github.com/outside-labs/Pretty-Notebook/blob/v0.10.0rc2/docs/identities.md) and [publication routes](https://github.com/outside-labs/Pretty-Notebook/blob/v0.10.0rc2/docs/routes.md): identity, source paths and URLs remain separate.
- [Checked publishing](https://github.com/outside-labs/Pretty-Notebook/blob/v0.10.0rc2/docs/checked-publishing.md): dry-run plans, ETags, retries and explicit pruning.
- [Web deployment](https://github.com/outside-labs/Pretty-Notebook/blob/v0.10.0rc2/docs/web.md): separate application, bootstrap, durable state and the supported local-host worker profile.

The macOS URL handlers are [unsupported](https://github.com/outside-labs/Pretty-Notebook/blob/v0.10.0rc2/docs/pnano.md). The FastAPI app and its
optional dependencies are absent from the `pnbp` wheel.
