Skip to content

feat(sdk): monorepo repository to add new otel plugin package#397

Draft
SilanHe wants to merge 2 commits into
mainfrom
feat/add-otel-package
Draft

feat(sdk): monorepo repository to add new otel plugin package#397
SilanHe wants to merge 2 commits into
mainfrom
feat/add-otel-package

Conversation

@SilanHe
Copy link
Copy Markdown
Contributor

@SilanHe SilanHe commented May 22, 2026

Issue #, if available:

Description of changes:

Monorepo Restructure

The repo was converted from a single-package layout to a monorepo with a packages/ directory:

  • Core SDK moved from the repo root (src/, tests/, examples/, pyproject.toml) into packages/aws-durable-execution-sdk-python/
  • All source, tests, and examples were relocated (no content changes, just path moves)

New Package: OpenTelemetry Instrumentation

A new package was added at packages/aws-durable-execution-sdk-python-otel/ (v0.1.0):

File Purpose
pyproject.toml Hatch-based build config; depends on core SDK ≥1.5.0, opentelemetry-api ≥1.20.0, opentelemetry-sdk ≥1.20.0
__init__.py Placeholder module (exports __version__ only, no instrumentation logic yet)
README.md Documents the intended API (instrument_durable_execution()) and features
tests/ Empty test directory
py.typed PEP 561 marker

CI & Workflow Updates

  • ci.yml — Loops over all packages/*/ directories for format checks, type checking, tests, and builds
  • ci-checks.sh — Iterates over a PACKAGES array instead of running checks at the repo root
  • pypi-publish.yml — Uses a matrix strategy to build and publish each package independently; per-package artifact names
  • sync-package.yml — Deleted (no longer needed)
  • deploy-examples.yml / integration-tests.yml — Minor path adjustments

Documentation

File Change
CONTRIBUTING.md Updated with monorepo structure overview; instructions to cd into package dirs before running hatch
RELEASING.md (new) Release process: per-package versioning, tagging convention (sdk-vX.Y.Z, otel-vX.Y.Z), PyPI publishing flow, release notes format, pre-publish checklist
Core SDK README.md (new) Package-level README inside the moved package directory

Misc

  • .gitignore — Relaxed example build/zip patterns from root-anchored to relative (works with nested layout)

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

@SilanHe SilanHe force-pushed the feat/add-otel-package branch from 3b74d87 to 7bded69 Compare May 22, 2026 21:06
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I haven't actually tested this one but it looks quite reasonable. I had to work a little more closely with AI on this one.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants