feat: WP-0006 — packaging & distribution infrastructure

CI matrix (Python 3.11/3.12) with pip cache and coverage job. PyPI publish
workflow (OIDC trusted publishing, triggered on v*.*.* tags). Docker image
for REST service with non-root user + ghcr.io push workflow. markidocx
--version flag. Diagram optional extras (diagram-mermaid/graphviz/plantuml)
and readme/urls in pyproject.toml. CHANGELOG.md (Keep a Changelog format)
with retrospective v0.1.0 entry. docs/release-process.md with executable
checklist. All 272 tests pass; ruff and mypy clean; twine check PASSED.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-17 14:30:08 +00:00
parent 5564747060
commit 6cf973b017
11 changed files with 290 additions and 6 deletions

View File

@@ -6,6 +6,7 @@ build-backend = "setuptools.build_meta"
name = "markidocx"
version = "0.1.0"
description = "Markdown ↔ DOCX round-trip editing system"
readme = "README.md"
requires-python = ">=3.11"
dependencies = [
"python-docx>=1.1.0",
@@ -27,6 +28,14 @@ dev = [
"types-PyYAML>=6.0",
"httpx>=0.27",
]
diagram-mermaid = ["nodeenv>=1.8"]
diagram-graphviz = ["graphviz>=0.20"]
diagram-plantuml = []
[project.urls]
Homepage = "https://github.com/tegwick/marki-docx"
Source = "https://github.com/tegwick/marki-docx"
Tracker = "https://github.com/tegwick/marki-docx/issues"
[project.scripts]
markidocx = "markidocx.cli:app"
@@ -37,6 +46,9 @@ where = ["src"]
[tool.setuptools.package-data]
markidocx = ["templates/*.docx"]
[tool.setuptools]
license-files = ["LICENSE"]
[tool.ruff]
line-length = 100
target-version = "py311"