Clerk-Fetchers
This repository lets the community contribute additional fetchers for municipal government meeting minutes and agendas to extend Clerk. Check out the Contributor Guide and included example to get started!
Description
A community-contributed repository that extends Clerk with fetchers for non-standard municipal government meeting minutes and agendas. Each fetcher targets a specific municipality, scraping meeting listings and downloading associated PDFs.
Anyone can add new fetchers following the included example and Contributor Guide.
These fetchers, if accepted, will feed PDFs into CivicBand's pipeline. Data will be available for search approximately 24 business hours after the first successful fetcher run.
Getting Started
Dependencies
- Python 3.12+
- UV package manager
- clerk >= 0.0.1
- Dev dependencies:
pytest>=7.4.0,respx>=0.23.0,hatchlingbuild system
Developer Setup
See Adding a fetcher to clerk-fetchers in the Contributor Guide for full setup instructions. At a high level:
- Fork this repo and create a feature branch
- Add your fetcher under
src/clerk_fetchers/fetchers/<municipality_name>/ - Register it in
src/clerk_fetchers/_registry.py - Write tests in
tests/fetchers/<municipality_name>/ - Open a PR — CI will run the full test suite
Testing
Run pytest locally to check your fetcher before submitting. CI also runs the full test suite automatically once you open a PR.
Help
Open a GitHub issue to report bugs or request help with a fetcher you're trying to add. To reach the maintainers privately, email Philip at hello@civic.band.
License
This project is licensed under the BSD 3-Clause License - see the LICENSE file for details.
Metadata
Release files for clerk-fetchers 0.0.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| clerk_fetchers-0.0.4.tar.gz | 56.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| clerk_fetchers-0.0.4-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 62.7 kB
Release files / clerk_fetchers-0.0.4.tar.gz
| Download URL | clerk_fetchers-0.0.4.tar.gz |
|---|---|
| Size | 56.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c9e822a02992dc5b2b933c2950048fd1de312975f0a768c68e33d13bd8b45c8d
|
|
BLAKE2b-256 checksum How to use checksums |
384afa9d386c364acfdaa70e5e7ef7cb3fb8cb0b2c888ce45c48e25622df0050
|
| 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 logRelease files / clerk_fetchers-0.0.4-py3-none-any.whl
| Download URL | clerk_fetchers-0.0.4-py3-none-any.whl |
|---|---|
| Size | 5.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c290abb2928d39ef7073363348156abb1ad1caba486b47dbddac5c0bd7f48eff
|
|
BLAKE2b-256 checksum How to use checksums |
67a8634e9f5c1e1adf0b97b7417f803e9b0f2288f5dbe4b82db4c125373dbde9
|
| 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