Skip to content

Development environment

Join our Discord

This page describes how to setup your development environment (Cloud or locally) to contribute to Powertools for AWS Lambda.

graph LR
    Dev["Development environment"] --> Quality["Run quality checks locally"] --> PR["Prepare pull request"] --> Collaborate
End-to-end process

Requirements

First time contributing to an open-source project ever?

Read this introduction on how to fork and clone a project on GitHub.

Unless you're using the pre-configured Cloud environment, you'll need the following installed:

Additional requirements if running end-to-end tests

Cloud environment

NOTE. Be mindful of Gitpod pricing structure for long-running contributions. When in doubt, use the local environment below.

To use a pre-configured environment, replace YOUR_USERNAME with your GitHub username or organization.

1
https://gitpod.io/#https://github.com/YOUR_USERNAME/powertools-lambda-python  #(1)!
  1. For example, my username is heitorlessa.

    Therefore, my final URL should be https://gitpod.io/#https://github.com/heitorlessa/powertools-lambda-python

Once provisioned, it'll install all development dependencies and tools you'll need to contribute.

Local environment

Assuming you've got all requirements.

You can use make dev to create a local virtual environment and install all dependencies locally.

Curious about what make dev does under the hood?

We use Make to automate common tasks locally and in Continuous Integration environments.

Local documentation

You might find useful to run both the documentation website and the API reference locally while contributing:

  • Docs website: make docs-local
    • If you prefer using Docker: make docs-local-docker
  • API reference: make docs-api-local