Skip to content

chore(sdk): rename sdk/ to sdks/python/ for multi-language layout#4254

Closed
mmabrouk wants to merge 3 commits intochore/infra/per-service-container-workdirfrom
chore/sdk/relocate-to-sdks-python
Closed

chore(sdk): rename sdk/ to sdks/python/ for multi-language layout#4254
mmabrouk wants to merge 3 commits intochore/infra/per-service-container-workdirfrom
chore/sdk/relocate-to-sdks-python

Conversation

@mmabrouk
Copy link
Copy Markdown
Member

@mmabrouk mmabrouk commented May 4, 2026

Summary

Hoists the Python SDK out of the singular sdk/ directory into
sdks/python/ so that we can ship additional language SDKs side by
side. A sdks/typescript/ placeholder is included for the upcoming
TypeScript SDK (the actual TS Fern client + thin wrapper land in the
follow-up PR feat/sdk/typescript-fern-client).

The Python package itself (agenta) and its public import surface are
unchanged. No consumer code needs updating — only the directory and
CI/Docker paths move.

What changed

Directory move (most of the diff):

  • All sdk/* tracked content → sdks/python/*
  • Includes a follow-up commit
    (chore(sdk): also relocate test_prompt_template_extensions.py)
    for one test file added to main after this work was originally
    branched

.gitignore:

  • sdk/... patterns → sdks/python/...
  • api/sdkapi/sdks and services/sdkservices/sdks
    (the temporary symlink/copy paths created by run.sh --local)

GitHub Actions workflows (path triggers, working dirs, pip install
paths, cache keys, JUnit result paths):

  • 01-create-release-branch.yml
  • 11-check-code-styling.yml
  • 12-check-unit-tests.yml
  • 14-check-pr-preview.yml
  • 42-railway-build.yml — also fixes a real bug: the SDK path
    verification was checking /sdk/* but the in-container path is
    /sdks/python/*. The check would have failed on every CI build that
    ran that step.
  • 44-railway-tests.yml

Multi-language scaffold:

  • sdks/typescript/.gitkeep and sdks/typescript/README.md
    placeholder for the TypeScript SDK that lands in the follow-up PR

Diff

  • 817 files changed (319 renames + 490 deletions of files moving to
    clients/python/ in the next PR + 7 modified + 1 added)
  • The 490 dangling deletions correspond to the rename targets that
    end up in clients/python/agenta_client/ (next PR in the stack).
    Reviewers with rename detection enabled across the full stack will
    see them paired correctly.

Commits

This PR has 3 commits — they were kept separate because the GitButler
squash hit a rename-detection conflict. They can be squash-merged on
land:

  1. chore(sdk): rename sdk/ to sdks/python/ for multi-language layout
    — the bulk rename + CI/.gitignore updates
  2. chore(sdk): purge old sdk/* paths (split-commit complement to rename)
    — the deletion side of the rename, as a complement commit
  3. chore(sdk): also relocate test_prompt_template_extensions.py
    — one extra test file added to main after this work began

Risks

  • Path triggers in CI: any open PR whose paths now no longer match
    the workflow path filters will skip CI that previously ran. The
    workflow path filters are updated in this PR, so newly-opened PRs
    on top of this work normally; older PRs need to be rebased.
  • Local dev environments: developers running run.sh --local
    before merge have api/sdk symlinks. After merge, run.sh --local
    creates api/sdks instead. The old symlinks will be left behind
    — manual cleanup of api/sdk and services/sdk is recommended.
  • Docker/Helm paths: the Dockerfile/compose/helm changes for
    /sdks/python/ paths land in the parent PR chore/infra/.... This
    PR is stacked on it.
  • No application logic changes. Only file locations move.

QA

  • CI green (the workflow path triggers are updated in this PR)
  • Python SDK test suite passes: cd sdks/python && pytest oss/tests/
  • pip install -e sdks/python installs the agenta package
  • python -c "import agenta; print(agenta.__file__)" works and
    points to the new location
  • Docker dev compose builds without errors (parent PR
    chore/infra/... already updates compose paths)
  • CI workflow 42-railway-build.yml — confirm the SDK path
    verification step passes (was previously broken)

Notes

mmabrouk added 3 commits May 4, 2026 12:43
Hoists the Python SDK out of the singular sdk/ directory into
sdks/python/ to make room for additional SDKs (TypeScript scaffold
added under sdks/typescript/). The Python package itself (`agenta`)
and its import surface are unchanged - only the directory and
CI/Docker paths move.

Updates:
  - All sdk/* tracked content moves to sdks/python/*
  - .gitignore paths (sdk/* -> sdks/python/*; api/sdk -> api/sdks; etc.)
  - GitHub workflows 01, 11, 12, 14, 42, 44 - path triggers, working
    dirs, pip install paths, cache keys, JUnit result paths
  - Fixes 42-railway-build.yml: SDK path verification was checking
    /sdk/* but the in-container path is /sdks/python/* (would have
    failed on every CI build that ran that step)
  - sdks/typescript/ placeholder for the future TypeScript SDK
@vercel
Copy link
Copy Markdown

vercel Bot commented May 4, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
agenta-documentation Ready Ready Preview, Comment May 4, 2026 10:55am

Request Review

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 4, 2026

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 6a314143-dbee-4ccb-b0b4-24bfea8153cd

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • ✅ Review completed - (🔄 Check again to review again)
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch chore/sdk/relocate-to-sdks-python

Comment @coderabbitai help to get the list of available commands and usage tips.

@dosubot dosubot Bot added size:XXL This PR changes 1000+ lines, ignoring generated files. python Pull requests that update Python code refactoring A code change that neither fixes a bug nor adds a feature labels May 4, 2026
@mmabrouk
Copy link
Copy Markdown
Member Author

mmabrouk commented May 4, 2026

Superseded by re-sliced PRs that fix CI failures. See new PR layout for details.

@mmabrouk mmabrouk closed this May 4, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

python Pull requests that update Python code refactoring A code change that neither fixes a bug nor adds a feature size:XXL This PR changes 1000+ lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant