Work Log - 2026-04-27 - Python 3.14 Module Maintenance
🎯 Focus¶
- Python 3.14 compatibility review and fixes across OpsDev.nz modules
- Add missing tooling config and test coverage
- Release
oc_opsdevnzv0.2.4
✅ Completed¶
oc_opsdevnz v0.2.4 — Released¶
Created PR startmeup-nz/oc-opsdevnz#7, merged, tagged, and published to PyPI. Full change details are on the PR.
Smoke test: Verified the published module against the OpenCollective staging API (oc_opsdevnz whoami startmeup-nz --staging returned valid account data).
op_opsdevnz — New Test Coverage (unreleased)¶
- Added 5 tests for
env.load_refs()and 5 tests foroctodns_hooks.resolve() - Added Python 3.14 classifier,
from __future__ import annotations - Updated README dev section to use
uv sync/uv run
octodns_metaname — Python 3.14 Compatibility (unreleased)¶
- Added Python 3.14 classifier,
from __future__ import annotations - Updated README dev section to use
uv sync/uv run
🔧 In Progress¶
- op_opsdevnz and octodns_metaname changes are on branch but need to be PR'd and released, next session.
🧠 Notes¶
Dev Environment¶
- Set up GitHub CLI (
gh) and GitLab CLI (glab) on the AlmaLinux 10 dev VM — both authenticated withjohn-opsdevnzand SSH keys
How We Work: Monorepo + Module Submodules¶
- The public
opsdev.nzrepo on GitLab acts as a monorepo that organises work across multiple projects - Each tooling module (
oc_opsdevnz,op_opsdevnz,octodns_metaname) lives in its own GitHub repo understartmeup-nz/and is mounted as a git submodule - PRs and releases happen per-module on GitHub; the monorepo tracks which submodule version is current
- This makes it easy to work on modules in context while keeping each one independently publishable to PyPI
⏳ Next¶
- op_opsdevnz release — Commit staged changes, create PR, bump version, release to PyPI
- octodns_metaname release — Same process
- DevOpsDays Wellington 2027 — Draft outreach message for recruiting co-organisers
- worklog-opsdevnz module — Evolve the worklog script into a proper publishable module
- RAMP project — Mid-May sprint planning for automated accounting reconciliation
- GitHub template repo — Create a backlog item for a standardised module template (CI, pyproject.toml, governance docs)
Token Burn¶
I used GLM-5.1 via OpenCode Go for help in this session.
Tokens: 156,530
About $2.76 spent.