A GNOME-native worship service planning tool for United Church of Canada ministry
Project description
Rubric
A GNOME-native worship service planning tool for United Church of Canada ministry.
Rubric integrates the Revised Common Lectionary, hymn lookup for Voices United, More Voices, and Let Us Sing, Bible passage retrieval, and export options for bulletin production.
Features
- Simple mode (on by default) — keeps the interface focused for everyday planning. Toggle with the SIMPLE button in the status bar or in Preferences → View.
- GOST Type B font — toggle the engineering-style monoline font globally with the GOST button in the status bar
- Focus mode — hide the palette and element list for distraction-free editing (Focus button in the status bar)
- Observance chips — feast days and commemorations appear in the centre of the status bar as clickable chips; click any to open a Wikipedia article window
- Git push — commit and push the current service to GitHub with the Git button in the status bar
- RCL integration — lectionary readings, liturgical colour, and season for any Sunday; weekday services default to the coming Sunday with a stepper
- Lectionary year tracker — persistent Year A/B/C and season indicator in the header, updated daily
- Hymn suggestions — season and Proper-specific suggestions (Propers 4–29) from VU, MV, and LUS; left-click to view on Hymnary.org, right-click to inject into the selected element
- Hymn lookup — type
VU 16orMV 120to fetch the title from Hymnary.org; inline Hymnary preview with WebKit (bundled) - Bible viewer — fetch passages in WEB, KJV, ASV, or ESV (ESV requires a free API key from api.esv.org)
- HTML export — generates a clean, print-ready HTML file and opens it in the browser
- Bulletin PDF export — compiled with the bundled Typst typesetter; no LaTeX required
- Print (booklet) — half-letter (5.5 × 8.5 in), fold for saddle-stitch
- Digital (screen PDF) — full letter, colour hyperlinks
- Rich text editor — per-element formatting toolbar (bold, italic, headings, lists, leader notes) with a Typst toggle for raw source editing; both modes store the same Typst content
- Live PDF preview — bulletin compiles in the background as you edit
- Per-element bulletin toggle — marks each element shown or hidden in the bulletin independently of the leader copy
- Bulletin preferences — church name, address, service time, website, email, phone, welcome line, accessibility note, mission statement, staff/contact list, and announcements — all in Preferences → Bulletin
- Announcement expiry — each announcement carries an optional
YYYY-MM-DDexpiry date; expired announcements are omitted automatically - Past Liturgies archive — browse every saved service in a read-only viewer; insert any past element's text into the current service with one click
- Element Library — searchable database of every element from every saved service
- Bulletin preview panel — live preview of the congregational bulletin as you edit; popout to a floating window
- Service Planner — scans the
liturgy/folder and lists all services grouped into Upcoming and Past - GitHub repository sync — push/pull services to a GitHub repository with one click
- Repository-aware save paths — Save As, Typst export, and bulletin export default to the right subfolder when a repository is configured
- Scripture translation selector — choose WEB, KJV, ASV, or ESV in Preferences → Scripture
- Undo / Redo — Ctrl+Z and Ctrl+Shift+Z
- Snippets library — reusable liturgical texts (advanced mode)
- Responsive reading builder — L:/P: syntax for formatted call-and-response text (advanced mode)
- CSV export — for sharing with musicians and AV teams (advanced mode)
Installation
Rubric is distributed as a Flatpak via a self-hosted repository.
Add the repository
flatpak remote-add --user calstfrancis \
https://calstfrancis.github.io/flatpak/calstfrancis.flatpakrepo
Install
flatpak install calstfrancis io.github.calstfrancis.rubric
Update
flatpak update io.github.calstfrancis.rubric
Uninstall
flatpak uninstall io.github.calstfrancis.rubric
Usage
Launch from GNOME Shell or your desktop application launcher. On first launch, a welcome wizard offers three starting points: today's lectionary, a blank service, or a guided tour. Rubric remembers the last open file and reopens it automatically on subsequent launches.
File format
Service files use the .liturgy extension (JSON). They store the service title, date, and ordered elements. Each element carries a content_typst field with Typst markup for both leader notes and bulletin text.
Running tests
python3 -m unittest test_rcl_data test_bible_api -v
Project structure
rubric.py Main application
rcl_data.py RCL lectionary database and calendar logic
hymn_lookup.py Hymnary.org title fetcher (VU, MV, LUS)
hymn_suggestions.py Season and Proper-specific hymn suggestions
bible_api.py Bible passage fetcher (WEB, KJV, ASV, ESV)
snippets.py Default liturgical text snippets
observances.py Liturgical calendar and observances intelligence
rubric_package/ Packaged models, utils, exporters, and data
HELP.md User guide
FAQ.md Frequently asked questions
CHANGELOG.md Version history
RELEASE.md Release notes for the current version
Contributing
Contributions welcome — bug reports, hymn suggestion additions, and UCC-specific liturgical content especially so.
Please open an issue before starting significant work.
Acknowledgements
- Lectionary data from the Revised Common Lectionary
- Hymn data from Hymnary.org
- Bible text from the World English Bible (public domain), King James Version (public domain), American Standard Version (public domain), and ESV (free ministry API)
- Built with GTK4 and libadwaita
License
GPL-3.0 — see LICENSE
Developed at Atlantic School of Theology, Halifax, Nova Scotia.
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 rubric_liturgy-0.17.6.dev1.tar.gz.
File metadata
- Download URL: rubric_liturgy-0.17.6.dev1.tar.gz
- Upload date:
- Size: 229.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0f933eaf220e3b96f29b0ae9724a4013e0e09b3fb567b2afc4555897f0bb2012
|
|
| MD5 |
865a081c628a84f1f1cd89244e75daf7
|
|
| BLAKE2b-256 |
3b324cbb004b63218b9704607cc8a5e10ff6e851777ccfecd21094497abb6f50
|
Provenance
The following attestation bundles were made for rubric_liturgy-0.17.6.dev1.tar.gz:
Publisher:
publish.yml on calstfrancis/rubric
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
rubric_liturgy-0.17.6.dev1.tar.gz -
Subject digest:
0f933eaf220e3b96f29b0ae9724a4013e0e09b3fb567b2afc4555897f0bb2012 - Sigstore transparency entry: 1874682264
- Sigstore integration time:
-
Permalink:
calstfrancis/rubric@e2eebd8b1be1c19c7d3a939dca4efde122c04737 -
Branch / Tag:
refs/tags/v0.17.6-dev1 - Owner: https://github.com/calstfrancis
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@e2eebd8b1be1c19c7d3a939dca4efde122c04737 -
Trigger Event:
push
-
Statement type:
File details
Details for the file rubric_liturgy-0.17.6.dev1-py3-none-any.whl.
File metadata
- Download URL: rubric_liturgy-0.17.6.dev1-py3-none-any.whl
- Upload date:
- Size: 229.5 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 |
7dba74bb697d62ffb5791b31831d4d0f603c10f459692d07a9f163e380aeb6ff
|
|
| MD5 |
d1baf0f487cee745aeafdb694a0b469a
|
|
| BLAKE2b-256 |
6c2eee27f3e2bf62d8f5bd1e928433373e8af02c520cbf9e22acb85368d52891
|
Provenance
The following attestation bundles were made for rubric_liturgy-0.17.6.dev1-py3-none-any.whl:
Publisher:
publish.yml on calstfrancis/rubric
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
rubric_liturgy-0.17.6.dev1-py3-none-any.whl -
Subject digest:
7dba74bb697d62ffb5791b31831d4d0f603c10f459692d07a9f163e380aeb6ff - Sigstore transparency entry: 1874682402
- Sigstore integration time:
-
Permalink:
calstfrancis/rubric@e2eebd8b1be1c19c7d3a939dca4efde122c04737 -
Branch / Tag:
refs/tags/v0.17.6-dev1 - Owner: https://github.com/calstfrancis
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@e2eebd8b1be1c19c7d3a939dca4efde122c04737 -
Trigger Event:
push
-
Statement type: