Skip to main content

pprose

Practical Prose tooling: deterministic metrics, rubric scoring, evaluation reports, and comparisons for practical documents.

pprose is the command-line companion to Practical Prose, a reference system and evaluation toolkit for writing that helps a reader understand, decide, do, verify, or maintain something.

Install

The distribution and command are both pprose. After publication, run with no install using uv:

uvx pprose <command> ...

Or install it:

uv tool install pprose

Commands

pprose metrics doc.md                              # deterministic metrics for a document
pprose report from-metrics doc.md --out doc.eval.md  # build an eval report stub
pprose score doc.eval.md --model opus              # LLM rubric scoring (Anthropic, OpenAI, or Google)
pprose compare a.eval.md b.eval.md                 # compare N eval reports
pprose render doc.eval.md                          # render an eval report as static HTML

pprose about                                       # the project narrative (bundled README)
pprose skill                                       # workflow skills overview + routing pointers
pprose list                                        # every bundled guideline, shortcut, runbook, skill
pprose guidelines <name>                           # print one style guide (no name lists them)
pprose install                                     # install skills into the current project
pprose install --global                            # install skills user-wide for every project

pprose install runs in one of two scopes:

  • Project (--project, the default when cwd is inside a git repo) writes into <repo>/.agents/skills/ (Codex, Gemini CLI, pi), <repo>/.claude/skills/ (Claude Code), and a marker-bounded block in <repo>/AGENTS.md.
  • User-global (--global) writes into ~/.agents/skills/pprose-*/ and ~/.claude/skills/pprose-*/, making the skills available across every project. Skips ~/.codex/AGENTS.md so the global instruction file stays user-authored.

Outside an unambiguous project context ($HOME, a non-git directory), --project or --global must be passed explicitly; there is no silent default. $HOME is always refused under --project; use --global for a user-wide install. Pass --surfaces=portable,claude,agents-md (or --surfaces=all, the default) to select install destinations within the chosen scope, or --pin <version> to override the version baked into the bootstrap line.

Every generated artifact carries a format=fNN stamp; re-running install is idempotent, and a newer-format artifact is never clobbered by an older pprose. Each generated skill bakes in a pinned, local-first invocation (pprose if on PATH, else uvx pprose@<version>). Cross-scope coexistence is the supported pattern: project-scope skills shadow user-scope skills of the same name in modern agents. Run pprose --help or pprose install --help for full options.

Upgrading: new releases can add guidelines, shortcuts, runbooks, and skills. Because installed skills pin the version that installed them, a repo picks up additions only after you upgrade pprose and re-run install (uvx pprose@latest install, or uv tool install --upgrade pprose && pprose install); re-running refreshes both the artifacts and the baked version pin.

score requires the API key for the chosen provider (ANTHROPIC_API_KEY, OPENAI_API_KEY, or GOOGLE_API_KEY); the package auto-loads .env and .env.local from the current directory hierarchy and $HOME.

Project Docs

License

The package code is MIT licensed (the license field in package metadata). The wheel also bundles practical-prose content (the guidelines, rubric, runbooks, and other prose under resources/), which is licensed under Creative Commons Attribution 4.0 (CC BY 4.0). See the repository LICENSE.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pprose-0.2.0.tar.gz (414.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pprose-0.2.0-py3-none-any.whl (268.2 kB view details)

Uploaded Python 3

File details

Details for the file pprose-0.2.0.tar.gz.

File metadata

  • Download URL: pprose-0.2.0.tar.gz
  • Upload date:
  • Size: 414.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for pprose-0.2.0.tar.gz
Algorithm Hash digest
SHA256 d628d08bd2bb789f96efa7d0ddf094863b3d3b90831ec15623b5ec28ae87ccc4
MD5 f19c459f50798621cbee47d8173d9c3e
BLAKE2b-256 cfafab3a02678b902f10cc740d7b99c5f5b13695b80ecbc1260eef12e3605a1b

See more details on using hashes here.

File details

Details for the file pprose-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: pprose-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 268.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for pprose-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9dc21f635ebb1583f31f764ccbc71a9fb4c21c996568056de514c11227ded50b
MD5 326a81af851c6b62ea2155beb7c198bf
BLAKE2b-256 cf5baa600e76ff63407e3cce4917d4b58f24addf091b7234035ad5b4a5d422e0

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page