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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
00880b23d18e1c9a4877c8be9f78d40b0abc83ed02eaecf7012ef2cb90ff12d6
|
|
| MD5 |
51d6fe97e5664332c6b81b9224442566
|
|
| BLAKE2b-256 |
f367febc91332ba956753eb554938ccf766b68159cbe4b2225b0b3b059722472
|
Provenance
The following attestation bundles were made for scribpy-0.1.0.tar.gz:
Publisher:
publish.yml on antoinebarre/scribpy
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
scribpy-0.1.0.tar.gz -
Subject digest:
00880b23d18e1c9a4877c8be9f78d40b0abc83ed02eaecf7012ef2cb90ff12d6 - Sigstore transparency entry: 2200825832
- Sigstore integration time:
-
Permalink:
antoinebarre/scribpy@fbb0c8d5e950ec03b99af094939d0d9751b062ca -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/antoinebarre
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@fbb0c8d5e950ec03b99af094939d0d9751b062ca -
Trigger Event:
push
-
Statement type:
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6a0280884ce18018148cdae93dbcc3bbe66f60d39fc5ee00d43148aa03c38e87
|
|
| MD5 |
655d44a74302dbd98955c03da4d97422
|
|
| BLAKE2b-256 |
be40f218392b4ab7481b5a117545dd9c340ce499e34dd7a40d3dc1fe3ad2b9e7
|
Provenance
The following attestation bundles were made for scribpy-0.1.0-py3-none-any.whl:
Publisher:
publish.yml on antoinebarre/scribpy
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
scribpy-0.1.0-py3-none-any.whl -
Subject digest:
6a0280884ce18018148cdae93dbcc3bbe66f60d39fc5ee00d43148aa03c38e87 - Sigstore transparency entry: 2200825912
- Sigstore integration time:
-
Permalink:
antoinebarre/scribpy@fbb0c8d5e950ec03b99af094939d0d9751b062ca -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/antoinebarre
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@fbb0c8d5e950ec03b99af094939d0d9751b062ca -
Trigger Event:
push
-
Statement type: