Skip to main content

Assemble ordered Markdown collections into publishable Markdown, HTML, or MkDocs output.

Project description

Scribpy

Scribpy assembles a directory of small Markdown notes into publishable output. It is for writers who want source files that stay easy to edit while scribpy.yml manifests control their order. Scribpy validates the collection, rewrites cross-file links, renders PlantUML and Mermaid diagrams, collects images, and produces one Markdown file, one standalone HTML page, or a MkDocs input tree — all from the same source.

Scribpy is not a Markdown editor, web CMS, PDF renderer, or hosting service. It does not deploy a site.

Full documentation: https://antoinebarre.github.io/scribpy/

Installation

Scribpy requires Python 3.12 or newer.

pip install scribpy

For contributors and local evaluation, clone the repository and use uv:

uv sync
uv run scribpy --version

Quick example

handbook/
├── scribpy.yml
├── intro.md
└── install.md
# handbook/scribpy.yml
project:
  title: Team Handbook
order: [intro.md, install.md]
# handbook/intro.md
# Welcome

Continue with [installation](install.md).
scribpy validate handbook
scribpy build handbook build/handbook.md

The result is one document headed Team Handbook, followed by the shifted source headings, with the link to install.md rewritten to the matching assembled heading anchor.

What Scribpy can produce

Command Output
scribpy build One assembled Markdown file
scribpy html A standalone, self-contained HTML page
scribpy mkdocs-export A page-per-file MkDocs input tree

Documentation

Development

uv sync
make check

make check runs the full quality gate: formatting, linting, type checking, security scanning, and tests with coverage. See CLAUDE.md for the complete contributor guide.

License

No license file is currently published for this repository. All rights reserved unless a license is added.

Project details


Download files

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

Source Distribution

scribpy-0.1.0.tar.gz (1.9 MB view details)

Uploaded Source

Built Distribution

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

scribpy-0.1.0-py3-none-any.whl (81.7 kB view details)

Uploaded Python 3

File details

Details for the file scribpy-0.1.0.tar.gz.

File metadata

  • Download URL: scribpy-0.1.0.tar.gz
  • Upload date:
  • Size: 1.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for scribpy-0.1.0.tar.gz
Algorithm Hash digest
SHA256 00880b23d18e1c9a4877c8be9f78d40b0abc83ed02eaecf7012ef2cb90ff12d6
MD5 51d6fe97e5664332c6b81b9224442566
BLAKE2b-256 f367febc91332ba956753eb554938ccf766b68159cbe4b2225b0b3b059722472

See more details on using hashes here.

Provenance

The following attestation bundles were made for scribpy-0.1.0.tar.gz:

Publisher: publish.yml on antoinebarre/scribpy

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file scribpy-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: scribpy-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 81.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for scribpy-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6a0280884ce18018148cdae93dbcc3bbe66f60d39fc5ee00d43148aa03c38e87
MD5 655d44a74302dbd98955c03da4d97422
BLAKE2b-256 be40f218392b4ab7481b5a117545dd9c340ce499e34dd7a40d3dc1fe3ad2b9e7

See more details on using hashes here.

Provenance

The following attestation bundles were made for scribpy-0.1.0-py3-none-any.whl:

Publisher: publish.yml on antoinebarre/scribpy

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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