## Open At Amazon Lessons Learned - **Event**. https://openatamazon.splashthat.com/ - **Talk**. AWS Lambda Powertools for Python: Lessons learned on the road to 1M downloads (now 6M) - **General** - [Project tenets](https://awslabs.github.io/aws-lambda-powertools-python/latest/#tenets) - [Documentation system](https://github.com/awslabs/aws-lambda-powertools-python/blob/develop/mkdocs.yml) - [Featureful Technical Documentation theme](https://squidfunk.github.io/mkdocs-material/) - [Project progressive tutorial](https://awslabs.github.io/aws-lambda-powertools-python/latest/tutorial/) - [Central Roadmap](https://github.com/awslabs/aws-lambda-powertools-roadmap/projects/1) - worked to an extent, we'll migrate back to each runtime repo using the new GitHub Project beta (tabular view) - **Contribution** - Shorten feedback loop - [Pre-commit hooks](https://github.com/awslabs/aws-lambda-powertools-python/blob/develop/.pre-commit-config.yaml), [Local PR checks](https://github.com/awslabs/aws-lambda-powertools-python/blob/87907c2d5578692829125ae2cd81b719af532c1f/Makefile#L29), [Local Docs](https://github.com/awslabs/aws-lambda-powertools-python/blob/87907c2d5578692829125ae2cd81b719af532c1f/Makefile#L50) - [Dedicated template for docs and feature request](https://github.com/awslabs/aws-lambda-powertools-python/tree/develop/.github/ISSUE_TEMPLATE) - [Sample](https://github.com/awslabs/aws-lambda-powertools-python/issues/new/choose) - [Dev setup](https://github.com/awslabs/aws-lambda-powertools-python/blob/develop/CONTRIBUTING.md?plain=1#L24) - will migrate to GitPod now that Python Poetry is supported - **Pull Request automation** - [Enforce semantic PR title](https://github.com/awslabs/aws-lambda-powertools-python/blob/develop/.github/semantic.yml) - [Auto-label PR on path](https://github.com/awslabs/aws-lambda-powertools-python/pull/442) - [Bot](https://probot.github.io/apps/boring-cyborg/) - [Auto-label PR based on size - Bot](https://github.com/marketplace/pull-request-size) - Safely auto-label PR based on title from forks - [Record PR number from fork](https://github.com/awslabs/aws-lambda-powertools-python/blob/develop/.github/workflows/record_pr.yml), [Label PR workflow](https://github.com/awslabs/aws-lambda-powertools-python/blob/develop/.github/workflows/label_pr_on_title.yml) - [Linting, formatting, static analysis, complexity, and security checks](https://github.com/awslabs/aws-lambda-powertools-python/blob/develop/.github/workflows/python_build.yml#L31) - [Additional security scan on merge](https://github.com/awslabs/aws-lambda-powertools-python/blob/develop/.github/workflows/codeql-analysis.yml) - [Secure untrusted GitHub Action workflows](https://github.com/awslabs/aws-lambda-powertools-python/blob/develop/.github/workflows/secure_workflows.yml) - **Release automation** - [Process](https://github.com/awslabs/aws-lambda-powertools-python/blob/develop/.github/workflows/publish.yml#L3) - [Keep A Changelog format](https://awslabs.github.io/aws-lambda-powertools-python/latest/changelog/) - [Release notes with examples, mentions, and partial automation](https://github.com/awslabs/aws-lambda-powertools-python/releases/tag/v1.17.0) - [Release notes bot](https://github.com/apps/release-drafter), [Release notes template](https://github.com/awslabs/aws-lambda-powertools-python/blob/develop/.github/release-drafter.yml) - [Changelog pre-generation](https://github.com/awslabs/aws-lambda-powertools-python/blob/develop/.chglog/CHANGELOG.tpl.md) - [Git-chlog tool](https://github.com/git-chglog/git-chglog) - [Latest documentation hotfix (rebuild) upon issues that don't warrant another release](https://github.com/awslabs/aws-lambda-powertools-python/blob/develop/.github/workflows/rebuild_latest_docs.yml#L4) - Auto-close issues labeled `status/staged-next-release` post-successful release - [workflow step](https://github.com/awslabs/aws-lambda-powertools-python/blob/develop/.github/workflows/publish.yml#L111), [script](https://github.com/awslabs/aws-lambda-powertools-python/blob/develop/.github/workflows/post_release.js) - **Additional tools** - [Octotree - Tree source code view](https://www.octotree.io) - hitting "." is arguably better now - [Refined GitHub UX](https://github.com/sindresorhus/refined-github) - [Octobox](https://octobox.io/) - managing hundreds of notifications **Time allowing** - [Talk: The Hard Parts of Open Source](https://www.youtube.com/watch?v=o_4EX4dPppA) - [Book: Working In Public](https://www.amazon.co.uk/Working-Public-Making-Maintenance-Software/dp/0578675862/)