Project — Python Platform Engineering Framework¶
Expert portfolio build — extract shared platform libraries and a plugin host other teams can extend.
Project Overview¶
Goal: Design a small framework (plateng) with shared libraries and discovered plugins for Terraform plan summary, GitHub audit, cert monitoring, and Slack notify.
Deliverable for your portfolio:
- Library package + CLI host
- Plugin entry points (
[project.entry-points]) - Shared: config loader, secrets helper, HTTP client with retries, structured logging
- Example plugins with fixtures
- Architecture diagram and contributor guide
Estimated cost: £0.
Goals¶
- Clear separation:
plateng.corevsplateng.plugins.* - Plugins register commands without editing the host core
- Secrets never logged
- pytest for core + one plugin each
- Versioned package with CHANGELOG
Stack¶
| Piece | Choice |
|---|---|
| Packaging | pyproject.toml + hatchling/setuptools |
| CLI | Typer |
| Plugins | entry points or stevedore-style discovery |
| HTTP | httpx |
| Test | pytest |
Prerequisites¶
- Advanced: Cloud Operations Toolkit
- Tutorials: Packaging, Production Patterns, OOP / dataclasses
- Labs: Terraform wrapper, GitHub auditor, cert monitor, Slack bot
Milestones¶
Milestone 1 — Core libraries¶
Config, logging, secrets, HTTP.
Milestone 2 — Plugin protocol¶
Interface + discovery + sample hello plugin.
Milestone 3 — Real plugins¶
tf summary, gh audit, certs check, notify slack — fixture-first.
Milestone 4 — Docs and versioning¶
SemVer, CONTRIBUTING, architecture D2 in README.
Success criteria¶
- Third-party plugin can be installed and appears in
--help - CI runs without cloud/Slack credentials
- Security section documents threat model (token handling, dry-run)
Related¶
- Capstone: Production DevOps Automation Platform