Skip to content

fix: use separate READMEs for Python and TypeScript packages#2384

Merged
zastrowm merged 1 commit into
strands-agents:mainfrom
zastrowm:fix/separate-readmes
May 29, 2026
Merged

fix: use separate READMEs for Python and TypeScript packages#2384
zastrowm merged 1 commit into
strands-agents:mainfrom
zastrowm:fix/separate-readmes

Conversation

@zastrowm
Copy link
Copy Markdown
Member

Description

The shared root README contains only Python examples, which displays incorrectly on npmjs.com for the TypeScript SDK. It also doesn't mention TypeScript features at all. Each SDK now has its own README committed in its package directory, pulled from git history (the Python one from the pre-monorepo root, the TypeScript one from sdk-typescript before the merge).

The root README stays as the monorepo landing page with the directory table. Each package README has the correct SDK title, badges, code examples, and documentation links for its ecosystem.

This also fixes the LICENSE/NOTICE bundling for the Python wheel — the CI workflows copy LICENSE.APACHE and NOTICE from the root at build time, and pyproject.toml now declares license-files so they get included in the wheel's licenses/ directory.

Resolves: #2351

Related Issues

#2351, #2286

Type of Change

Bug fix

Testing

  • Built Python wheel, verified it contains licenses/LICENSE, licenses/NOTICE, and METADATA shows "Strands Agents - Python SDK" title with full markdown description

  • Ran npm pack --dry-run in strands-ts, verified tarball contains README.md (11.3kB, TypeScript-specific) and LICENSE

  • twine check passes for both wheel and sdist

  • Pre-commit hooks pass (TS build + test suite)

  • I ran hatch run prepare

Checklist

  • I have read the CONTRIBUTING document
  • I have added any necessary tests that prove my fix is effective or my feature works
  • I have updated the documentation accordingly
  • I have added an appropriate example to the documentation to outline the feature, or no new docs are needed
  • My changes generate no new warnings
  • Any dependent changes have been merged and published

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

@codecov
Copy link
Copy Markdown

codecov Bot commented May 29, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

Comment thread strands-ts/README.md Outdated
Comment thread strands-py/pyproject.toml
Comment thread strands-py/README.md Outdated
Comment thread strands-ts/README.md Outdated
@github-actions
Copy link
Copy Markdown
Contributor

Assessment: Comment

The overall approach is solid — giving each SDK its own README for package registries is the right fix for the npmjs.com rendering problem, and the LICENSE/NOTICE bundling via license-files is a clean PEP 639 solution.

Review Themes
  • Broken relative links: Both READMEs reference files (CONTRIBUTING.md, LICENSE, LICENSE.APACHE) via relative paths that won't resolve correctly on package registries (PyPI/npm) or when browsing subdirectories on GitHub. Switching these to absolute GitHub URLs would make the READMEs work in all viewing contexts.
  • Local build ergonomics: The license-files declaration requires LICENSE/NOTICE to exist in strands-py/, but those files are gitignored and only materialized by CI. This could trip up contributors attempting local package builds.

@yonib05 yonib05 added area-community Related to community and contributor health chore Maintenance tasks, dependency updates, CI changes, refactoring with no user-facing impact labels May 29, 2026
The shared root README contained only Python examples, which would
display incorrectly on npmjs.com. Each SDK now has its own README
pulled from history — the Python one from the pre-monorepo root and
the TypeScript one from sdk-typescript before its merge.

The root README remains as the monorepo landing page. Each package
README has the appropriate SDK title, badges, code examples, and
links for its respective ecosystem.

Also fixes strands-agents#2351 by ensuring LICENSE and NOTICE are copied at build
time for the Python wheel.

Closes strands-agents#2351
@github-actions
Copy link
Copy Markdown
Contributor

Updated Assessment: Approve ✅

After fuller review, I'm correcting my earlier feedback. The README links are already using absolute GitHub URLs — my initial comments about broken relative links were incorrect (based on a truncated diff). I've replied to those threads with corrections.

The only remaining suggestion is the minor local-build ergonomics note about license-files requiring LICENSE/NOTICE to be copied before hatch build — which is only relevant for local package building, not regular development (hatch test, hatch fmt work fine without them).

This PR cleanly solves #2351 with well-structured CI changes and properly separated READMEs for each package registry.

@zastrowm zastrowm enabled auto-merge (squash) May 29, 2026 18:33
@zastrowm zastrowm merged commit 95cebc9 into strands-agents:main May 29, 2026
37 of 38 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area-community Related to community and contributor health chore Maintenance tasks, dependency updates, CI changes, refactoring with no user-facing impact size/l

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Python wheel missing README and LICENSE in published package

3 participants