Skip to main content

clerk

A Python library for managing civic data pipelines for civic.band. Clerk handles the complete workflow of fetching, processing, and deploying civic meeting data including minutes and agendas.

Tests Lint Python 3.12+

Features

  • Distributed Task Queue: RQ-based distributed processing with parallel OCR and horizontal scaling
  • Site Management: Create and manage civic sites with metadata
  • Data Pipeline: Automated fetch → OCR → compilation → deploy workflow
  • Plugin System: Extensible architecture using pluggy for custom fetchers and deployers
  • Full-Text Search: Automatic FTS index generation for searchable meeting data
  • Database Management: SQLite-based storage with per-site and aggregate databases
  • Observability: Structured logging with Loki integration

Quick Install

pip install "civicband-clerk[pdf,extraction] @ git+https://github.com/civicband/clerk.git"

Documentation

Setup

Operations

Reference

Guides

Quick Start

# Create a new site
clerk new

# Update a site (enqueues fetch → OCR → compilation → deploy)
clerk update --subdomain example.civic.band

# Check status
clerk status

See Your First Site Tutorial for a complete walkthrough.

Architecture

Clerk uses a distributed task queue (RQ) with specialized worker types:

  • fetch - Download meeting data from city websites
  • ocr - Extract text from PDFs (parallel, CPU-intensive)
  • compilation - Build databases and coordinate pipeline
  • extraction - Entity and vote extraction (optional, memory-intensive)
  • deploy - Upload to storage/CDN

Workers can run on a single machine or distributed across multiple machines for better performance.

See Worker Architecture Guide for details.

Contributing

See CONTRIBUTING.md for development setup and guidelines.

License

BSD 3-Clause License - See LICENSE for details.

Links

Metadata

Release files for civicband-clerk 0.1.2

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

Source distribution (sdist)

Source distribution for civicband-clerk 0.1.2
File Size Uploaded
civicband_clerk-0.1.2.tar.gz 463.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for civicband-clerk 0.1.2
File Interpreter ABI Platform
civicband_clerk-0.1.2-py3-none-any.whl Python 3 none any Details

Total release size: 539.2 kB

Release files / civicband_clerk-0.1.2.tar.gz

Download URL civicband_clerk-0.1.2.tar.gz
Size 463.0 kB
Tags Source
SHA-256 checksum
How to use checksums
bb3c42ce2e3b083a740d2ed7a0b808f7a779f0d997a12ec565429afc975f28fa
BLAKE2b-256 checksum
How to use checksums
ddd414cd5a7fa23f89be3f5ca5bc354f533621af8bd4330e4054cbb0ed318e37
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 May 4, 2026.

Transparency log

Release files / civicband_clerk-0.1.2-py3-none-any.whl

Download URL civicband_clerk-0.1.2-py3-none-any.whl
Size 76.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
425b1ed8eb642f25b7bcf5416ca36d2681c05c539b575ace78716715c8702a1c
BLAKE2b-256 checksum
How to use checksums
5649877fb36e09fcde4dd420ba0ad311c954dff8e708b6c3c27422059bce0972
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 May 4, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.2 This release

2 release files

0.1.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