Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

pycobello

PyPI version Python 3.12+ License CI

A blazing fast, dependency-light static site generator (SSG) for Python 3.12+.

  • Markdown + YAML front matter → HTML
  • Jinja2 themes (.html templates)
  • CLI-first (Typer): init, new, build, preview, check, deploy
  • Incremental builds with a JSON cache and write-avoidance by content hash
  • Preview server via stdlib http.server; optional --watch with [watch] extra
  • Diagnostics (check): duplicate URLs, required front matter, internal links
  • Plugin system via Python entry points (pycobello.plugins)

Install

uv add pycobello
# or
pip install pycobello

Optional watch support (live rebuild on file changes):

uv add "pycobello[watch]"

Quick start

# Create a new site
pycobello init

# Build
pycobello build

# Serve the built site
pycobello preview

Commands

Command Description
pycobello init [DIR] Create scaffold: pycobello.yml, content, theme, static
pycobello new post "Title" Create a new post (with date prefix)
pycobello new page "Title" Create a new page
pycobello build [--clean] Build site into dist/ (default: incremental)
pycobello preview [--port 8000] [--watch] Serve dist/; optional watch + rebuild
pycobello check Run diagnostics (URLs, front matter, links)
pycobello deploy github-pages Generate GitHub Actions workflow for GitHub Pages

Config

Config file: pycobello.yml in the project root (YAML only).

  • site: title, base_url, author
  • build: content_dir, theme_dir, static_dir, output_dir, clean_urls, ignore
  • collections: posts and pages (each: path, url_prefix, template)
  • plugins: enabled (list of plugin names)

Theme contract

Templates live in theme/templates/. Required:

  • base.html – base layout
  • page.html – pages
  • post.html – posts
  • index.html – index (blog listing)

Context: site, collections, current page or post. Helpers: url_for, filter datefmt.

Development

uv sync --all-groups
uv run pre-commit install

Linting (ruff check) and formatting (ruff format) run automatically before each commit. To run them manually: uv run ruff check ., uv run ruff format ., and uv run pytest.

License

Apache License 2.0. See LICENSE.

Release files for pycobello 0.1.1a0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pycobello 0.1.1a0
File Size Uploaded
pycobello-0.1.1a0.tar.gz 15.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pycobello 0.1.1a0
File Interpreter ABI Platform
pycobello-0.1.1a0-py3-none-any.whl Python 3 none any Details

Total release size: 44.2 kB

Release files / pycobello-0.1.1a0.tar.gz

Download URL pycobello-0.1.1a0.tar.gz
Size 15.5 kB
Tags Source
SHA-256 checksum
How to use checksums
f983a62c532b9926414616c3a8c15a1f59750d6922f277b716c00ed1a0a529a1
BLAKE2b-256 checksum
How to use checksums
aee3171251b05cd337ba65094cd20d09c4c30311fbae31dabbe34643701686f2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","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 / pycobello-0.1.1a0-py3-none-any.whl

Download URL pycobello-0.1.1a0-py3-none-any.whl
Size 28.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3fe5842378a3edb5b10fff9ff27c65021e3ce80c624f2e059a1df1f44e8b0262
BLAKE2b-256 checksum
How to use checksums
36a3dc2b3b7b56a7ae53d53c7b84689471c5c60d6e624c68a4b9c0d2f945bebc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","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 history Release notifications | RSS feed

This release

0.1.1a0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page