GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — powertools-lambda-python/docs/contributing/setup.md at develop · ericbn/powertools-lambda-python

Expand file tree

/

setup.md

Copy path
More file actions
More file actions

Latest commit

 

History

History
History
67 lines (44 loc) · 3.42 KB
/

setup.md

Copy path

File metadata and controls

67 lines (44 loc) · 3.42 KB
Raw
Copy raw file
Download raw file
Outline
Edit and raw actions
title Development environment
description Setting up your development environment for contribution

Join our Discord{target="_blank" rel="nofollow"}

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

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

Requirements

!!! question "First time contributing to an open-source project ever?" Read this introduction on how to fork and clone a project on GitHub{target="_blank" rel="nofollow"}.

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

  • GitHub account{target="_blank" rel="nofollow"}. You'll need to be able to fork, clone, and contribute via pull request.
  • Python 3.9+{target="_blank" rel="nofollow"}. Pick any version supported in AWS Lambda runtime.
  • Docker{target="_blank" rel="nofollow"}. We use it to run documentation linters and non-Python tooling.
  • Fork the repository. You'll work against your fork of this repository.

??? note "Additional requirements if running end-to-end tests"

* [AWS CDK CLI](https://docs.aws.amazon.com/cdk/v2/guide/getting_started.html#getting_started_prerequisites){target="_blank"}
* [AWS Account bootstrapped with CDK](https://docs.aws.amazon.com/cdk/v2/guide/bootstrapping.html){target="_blank"}
* [AWS CLI installed and configured](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)

Cloud environment

NOTE. Be mindful of Gitpod pricing structure{target="_blank" rel="nofollow"} 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.

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.

!!! note "Curious about what make dev does under the hood?" We use Make to automate common tasks{target="_blank" rel="nofollow"} 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
You are visitor 01402520 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.