generated from amazon-archives/__template_Apache-2.0
-
Notifications
You must be signed in to change notification settings - Fork 609
Open
Labels
area-communityRelated to community and contributor healthRelated to community and contributor healthenhancementNew feature or requestNew feature or request
Description
Problem
Publishing a Strands extension (tool, model provider, hook provider, session manager) currently requires hours of setup:
- Create a GitHub repository
- Set up a PyPI account
- Configure GitHub Actions for CI/CD
- Set up package structure (pyproject.toml, src layout)
- Write documentation
- Configure secrets for publishing
Requirements
Naming Convention
- Package:
strands-{name}(e.g.,strands-slack,strands-ollama,strands-redis-session) - Import:
strands_{name} - GitHub topic:
strands-extension(for catalog discovery)
Template Contents
- Pre-configured
pyproject.tomlwith proper package structure src/layout following Python best practices- GitHub Actions workflow for:
- CI (linting, testing)
- PyPI publishing on release
- README template with usage instructions
- Basic test structure
.gitignorefor Python projects- License file (Apache 2.0)
User Flow
- Click "Use this template" on GitHub
- Clone repo, rename package, add code
- Configure
PYPI_API_TOKENsecret - Create GitHub release → auto-publishes to PyPI
- Add
strands-extensiontopic for catalog visibility
Acceptance Criteria
- Template repo created at
strands-agents/strands-extension-template-python - CI/CD workflows tested and working
- README with clear setup instructions
- Example implementation included
- Documentation on how to use the template
Metadata
Metadata
Assignees
Labels
area-communityRelated to community and contributor healthRelated to community and contributor healthenhancementNew feature or requestNew feature or request
Type
Projects
Status
In progress