Skip to main content

Mackerel

PyPI CI License: MIT codecov

A minimal static site generator written in typed Python. This README is for developers contributing to Mackerel. For end-user documentation, see docs.


Development Setup

Clone the repo and set up dependencies:

git clone https://github.com/pkolios/mackerel.git
cd mackerel
uv sync

Run tests:

make test

Lint & type check:

make lint

Build docs:

make docs

Codebase Structure

src/mackerel/
├── build.py        # Build logic
├── cli.py          # CLI (init, build, develop)
├── config.py       # Configuration loading
├── parsers.py      # Front matter parsing
├── renderers.py    # Markdown + Jinja2 rendering
├── site/           # Starter site (templates + content)
└── types.py        # Typed core types & protocols
  • Functional Core, Imperative Shell: Business logic is pure and typed, orchestration happens in CLI.
  • Minimal dependencies: Keeping the cli installation time as fast as possible.

Contributing

  1. Fork the repo & create a branch.
  2. Write tests for new features.
  3. Ensure make lint test passes.
  4. Submit a PR.

We follow strict typing (mypy, pyright) and ruff for linting. Docs are in docs/.


Changelog

See CHANGELOG.md.


License

MIT © Paris Kolios

Release files for mackerel 0.3.0

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

Source distribution (sdist)

Source distribution for mackerel 0.3.0
File Size Uploaded
mackerel-0.3.0.tar.gz 90.1 kB Details

Built distribution (wheel)

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

Total release size: 117.7 kB

Release files / mackerel-0.3.0.tar.gz

Download URL mackerel-0.3.0.tar.gz
Size 90.1 kB
Tags Source
SHA-256 checksum
How to use checksums
b70796cea8e809f797cf6e8e892859a10feb4a0a7e835764fa785140af7d8a48
BLAKE2b-256 checksum
How to use checksums
b2fcedb4bcd70bd9c9b41f7933a9ecb5070abf9d92bb667b32b1ffd53d557ae1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 1, 2025.

Transparency log

Release files / mackerel-0.3.0-py3-none-any.whl

Download URL mackerel-0.3.0-py3-none-any.whl
Size 27.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e7ef465a5d76c316a5a5a1dcb09c4c117f082acb76df6ee52fc217819eb6e469
BLAKE2b-256 checksum
How to use checksums
35f0cfb31cd675b0799f6859421328542d157041bc0ec904a8bc1903f79051a2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 1, 2025.

Transparency log

Release history Release notifications | RSS feed

This release

0.3.0 This release

2 release files

0.2

2 release files

0.1

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