podpack-notes
A small notes app for podpack sites, and the worked example of what an app is.
It is deliberately not a stub: it has a model, a template, shipped data, per-app configuration and a nav entry, which between them exercise every part of the registry a real app would use.
Installing it into a site
Add the distribution as a dependency, then the import name to the site's app list:
# the site's pyproject.toml -- both, because an app does not pull in its framework
dependencies = ["podpack", "podpack-notes"]
[tool.uv.sources]
podpack = { git = "https://github.com/holdenweb/podpack.git" }
podpack-notes = { git = "https://github.com/holdenweb/podpack-notes.git" }
# the site's config/app.toml
[site]
apps = ["podpack_notes"]
[apps.notes] # keyed by the app's name, not its import name
page_size = 20
Three spellings of one thing, and they are not interchangeable:
podpack-notes |
the distribution — what you depend on |
podpack_notes |
the import name — what goes in apps |
notes |
the app's own name, from its blueprint — what keys [apps.notes], [site.mounts], and its directories on disk |
A site that wants it somewhere other than /notes says so in [site.mounts];
the app is not consulted and its nav entry follows anyway, because a Section
names an endpoint rather than a path.
What it gives the site
GET /notes/ |
the notes, in the site's own chrome |
GET /notes/list |
the same as JSON |
POST /notes/ |
{"text": "..."} → stores a row |
POST /notes/uploads/<name> |
writes a file to the app's own data directory |
It ships a welcome.md, which podpack seeds into the app's host data directory
the first time it is installed and never again. The app then reads the host
copy, so editing it takes effect with no rebuild — which is the point of the
convention rather than a detail of this app.
Developing it
uv sync --all-groups
uv run pytest
uv run mypy
The tests build a real podpack site with this app installed, so what they prove is that the app conforms to the contract, not merely that its own functions work.
pyproject.toml points podpack at a sibling checkout, which is right for
local work and cannot survive a container build — a path source fails there with
Distribution not found. A site deploying this needs both packages from git.
Metadata
Release files for podpack-notes 0.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| podpack_notes-0.1.2.tar.gz | 5.4 kB | Without provenance | Details for podpack_notes-0.1.2.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| podpack_notes-0.1.2-py3-none-any.whl | Python 3 | none | any | Details for podpack_notes-0.1.2-py3-none-any.whl |
Total release size: 12.9 kB
Release files / podpack_notes-0.1.2.tar.gz
| Download URL | podpack_notes-0.1.2.tar.gz |
|---|---|
| Size | 5.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
24dd493a3de9ad07ae986ef4bf67863f71d25a8e163c622893dea39041094907
|
|
BLAKE2b-256 checksum How to use checksums |
8904a499bcd929fe15d36e222009ccf37cc4138eae852ad9cbf9df9830e8e9da
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.2 {"installer":{"name":"uv","version":"0.12.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / podpack_notes-0.1.2-py3-none-any.whl
| Download URL | podpack_notes-0.1.2-py3-none-any.whl |
|---|---|
| Size | 7.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
cfaf8387def01c08604e6e38048bf644241179d9be67133240e4fd0d5f05f791
|
|
BLAKE2b-256 checksum How to use checksums |
2cbc20d9b0c6581de34d625690141e82b9a06539397d5b6dec7167157ecf3ce4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.2 {"installer":{"name":"uv","version":"0.12.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Security for podpack-notes 0.1.2
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.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.