Skip to content

chore: commit LICENSE and NOTICE directly into package directories#2392

Open
zastrowm wants to merge 1 commit into
strands-agents:mainfrom
zastrowm:fix/commit-license-files
Open

chore: commit LICENSE and NOTICE directly into package directories#2392
zastrowm wants to merge 1 commit into
strands-agents:mainfrom
zastrowm:fix/commit-license-files

Conversation

@zastrowm
Copy link
Copy Markdown
Member

Description

Instead of copying LICENSE and NOTICE from the repo root at build time via CI steps and prepack hooks, commit them directly into strands-py/ and strands-ts/. This removes the build-time file-copy dance and lets contributors run local builds without extra setup.

Resolves the local build ergonomics concern raised in #2384.

Related Issues

#2351, #2384

Type of Change

Other (please describe): Build simplification

Testing

  • Built Python wheel locally — licenses/LICENSE and licenses/NOTICE present, twine check passes

  • Ran npm pack --dry-run for TypeScript — LICENSE (10.1kB) and README.md (11.5kB) present

  • Pre-commit hooks pass (TS build + full 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.

Instead of copying LICENSE and NOTICE from the repo root at build
time via CI steps and prepack hooks, commit them directly into
strands-py/ and strands-ts/. This simplifies the build process and
lets contributors run local builds without extra setup.
@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!

@github-actions
Copy link
Copy Markdown
Contributor

Assessment: Approve

Clean build simplification that removes CI-time file copying in favor of committed license files. The changes are consistent and well-tested.

Review Notes
  • Correctness: Verified that strands-py/LICENSE and strands-ts/LICENSE are byte-identical to the root LICENSE.APACHE, and strands-py/NOTICE matches root NOTICE.
  • Drift risk: With three copies of the license (root + 2 packages), there's a small risk of them drifting out of sync if the root is ever updated. This is low-probability for a standard Apache 2.0 license, but a CI check or pre-commit hook that diffs the files could guard against it. Not blocking — just something to consider if the repo ever adds a sync-check workflow.
  • NOTICE in strands-ts: The TypeScript package doesn't include a NOTICE file (and didn't before this PR either). If Apache 2.0 compliance requires distributing the NOTICE with the npm package, it may be worth adding strands-ts/NOTICE and listing it in the files array. This appears to be pre-existing behavior, so not blocking for this PR.

Nice improvement for local development ergonomics.

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

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants