chore(sdk): rename sdk/ to sdks/python/ for multi-language layout#4254
chore(sdk): rename sdk/ to sdks/python/ for multi-language layout#4254mmabrouk wants to merge 3 commits intochore/infra/per-service-container-workdirfrom
Conversation
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
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
|
Superseded by re-sliced PRs that fix CI failures. See new PR layout for details. |
Summary
Hoists the Python SDK out of the singular
sdk/directory intosdks/python/so that we can ship additional language SDKs side byside. A
sdks/typescript/placeholder is included for the upcomingTypeScript 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 areunchanged. No consumer code needs updating — only the directory and
CI/Docker paths move.
What changed
Directory move (most of the diff):
sdk/*tracked content →sdks/python/*(
chore(sdk): also relocate test_prompt_template_extensions.py)for one test file added to
mainafter this work was originallybranched
.gitignore:
sdk/...patterns →sdks/python/...api/sdk→api/sdksandservices/sdk→services/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.yml11-check-code-styling.yml12-check-unit-tests.yml14-check-pr-preview.yml42-railway-build.yml— also fixes a real bug: the SDK pathverification was checking
/sdk/*but the in-container path is/sdks/python/*. The check would have failed on every CI build thatran that step.
44-railway-tests.ymlMulti-language scaffold:
sdks/typescript/.gitkeepandsdks/typescript/README.md—placeholder for the TypeScript SDK that lands in the follow-up PR
Diff
clients/python/in the next PR + 7 modified + 1 added)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:
chore(sdk): rename sdk/ to sdks/python/ for multi-language layout— the bulk rename + CI/.gitignore updates
chore(sdk): purge old sdk/* paths (split-commit complement to rename)— the deletion side of the rename, as a complement commit
chore(sdk): also relocate test_prompt_template_extensions.py— one extra test file added to main after this work began
Risks
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.
run.sh --localbefore merge have
api/sdksymlinks. After merge,run.sh --localcreates
api/sdksinstead. The old symlinks will be left behind— manual cleanup of
api/sdkandservices/sdkis recommended./sdks/python/paths land in the parent PRchore/infra/.... ThisPR is stacked on it.
QA
cd sdks/python && pytest oss/tests/pip install -e sdks/pythoninstalls theagentapackagepython -c "import agenta; print(agenta.__file__)"works andpoints to the new location
chore/infra/...already updates compose paths)42-railway-build.yml— confirm the SDK pathverification step passes (was previously broken)
Notes
chore/infra/per-service-container-workdir.