diff --git a/.gitpod.Dockerfile b/.gitpod.Dockerfile deleted file mode 100644 index 9fa927ddac6..00000000000 --- a/.gitpod.Dockerfile +++ /dev/null @@ -1,11 +0,0 @@ -# See here all gitpod images available: https://hub.docker.com/r/gitpod/workspace-python-3.11/tags -# Current python version: 3.11.9 -FROM gitpod/workspace-python-3.11@sha256:2d9a242844bef5710ab4622899a5254a0c59f0ac58c0d3ac998f749323f43951 - -WORKDIR /app -ADD . /app - -# Installing pre-commit as system package and not user package. Git needs this to execute pre-commit hooks. -RUN export PIP_USER=no -# pre-commit v3.7.1 -RUN python3 -m pip install --require-hashes -r .gitpod_requirements.txt \ No newline at end of file diff --git a/.gitpod.yml b/.gitpod.yml deleted file mode 100644 index d831f067bdd..00000000000 --- a/.gitpod.yml +++ /dev/null @@ -1,19 +0,0 @@ -image: - file: .gitpod.Dockerfile -tasks: - - init: make dev-gitpod -vscode: - extensions: - - ms-python.python # IntelliSense (Pylance), Linting, Debugging (multi-threaded, remote), Jupyter Notebooks, code formatting, refactoring, unit tests, and more. - - littlefoxteam.vscode-python-test-adapter # Run your Python tests in the Sidebar of Visual Studio Code - - ms-azuretools.vscode-docker # Makes it easy to create, manage, and debug containerized applications. - - davidanson.vscode-markdownlint # Markdown linting and style checking for Visual Studio Code - - bungcip.better-toml # Better TOML Language support - - oderwat.indent-rainbow # Makes indentation easier to read - - yzhang.markdown-all-in-one # Autoformat, better visualization, snippets, and markdown export to multiple fmts - - bierner.markdown-mermaid # Previews mermaid diagrams when previewing markdown - - matangover.mypy # Highlight mypy issues - - njpwerner.autodocstring # Auto-generate docsstrings in numpy format that we use - - netcorext.uuid-generator # For those helping create code snippets for docs - - streetsidesoftware.code-spell-checker # Spell checker that works with camel case too - - bungcip.better-toml # In case GitPod doesn't have support for TOML pyproject.toml diff --git a/.gitpod_requirements.in b/.gitpod_requirements.in deleted file mode 100644 index b427b003fa9..00000000000 --- a/.gitpod_requirements.in +++ /dev/null @@ -1 +0,0 @@ -pre-commit==3.7.1 \ No newline at end of file diff --git a/.gitpod_requirements.txt b/.gitpod_requirements.txt deleted file mode 100644 index a9643d7dfdf..00000000000 --- a/.gitpod_requirements.txt +++ /dev/null @@ -1,85 +0,0 @@ -# -# This file is autogenerated by pip-compile with Python 3.11 -# by the following command: -# -# pip-compile --generate-hashes --output-file=.gitpod_requirements.txt .gitpod_requirements.in -# -cfgv==3.3.1 \ - --hash=sha256:c6a0883f3917a037485059700b9e75da2464e6c27051014ad85ba6aaa5884426 \ - --hash=sha256:f5a830efb9ce7a445376bb66ec94c638a9787422f96264c98edc6bdeed8ab736 - # via pre-commit -distlib==0.3.6 \ - --hash=sha256:14bad2d9b04d3a36127ac97f30b12a19268f211063d8f8ee4f47108896e11b46 \ - --hash=sha256:f35c4b692542ca110de7ef0bea44d73981caeb34ca0b9b6b2e6d7790dda8f80e - # via virtualenv -filelock==3.12.2 \ - --hash=sha256:002740518d8aa59a26b0c76e10fb8c6e15eae825d34b6fdf670333fd7b938d81 \ - --hash=sha256:cbb791cdea2a72f23da6ac5b5269ab0a0d161e9ef0100e653b69049a7706d1ec - # via virtualenv -identify==2.5.24 \ - --hash=sha256:0aac67d5b4812498056d28a9a512a483f5085cc28640b02b258a59dac34301d4 \ - --hash=sha256:986dbfb38b1140e763e413e6feb44cd731faf72d1909543178aa79b0e258265d - # via pre-commit -nodeenv==1.8.0 \ - --hash=sha256:d51e0c37e64fbf47d017feac3145cdbb58836d7eee8c6f6d3b6880c5456227d2 \ - --hash=sha256:df865724bb3c3adc86b3876fa209771517b0cfe596beff01a92700e0e8be4cec - # via pre-commit -platformdirs==3.8.0 \ - --hash=sha256:b0cabcb11063d21a0b261d557acb0a9d2126350e63b70cdf7db6347baea456dc \ - --hash=sha256:ca9ed98ce73076ba72e092b23d3c93ea6c4e186b3f1c3dad6edd98ff6ffcca2e - # via virtualenv -pre-commit==3.7.1 \ - --hash=sha256:8ca3ad567bc78a4972a3f1a477e94a79d4597e8140a6e0b651c5e33899c3654a \ - --hash=sha256:fae36fd1d7ad7d6a5a1c0b0d5adb2ed1a3bda5a21bf6c3e5372073d7a11cd4c5 - # via -r .gitpod_requirements.in -pyyaml==6.0 \ - --hash=sha256:01b45c0191e6d66c470b6cf1b9531a771a83c1c4208272ead47a3ae4f2f603bf \ - --hash=sha256:0283c35a6a9fbf047493e3a0ce8d79ef5030852c51e9d911a27badfde0605293 \ - --hash=sha256:055d937d65826939cb044fc8c9b08889e8c743fdc6a32b33e2390f66013e449b \ - --hash=sha256:07751360502caac1c067a8132d150cf3d61339af5691fe9e87803040dbc5db57 \ - --hash=sha256:0b4624f379dab24d3725ffde76559cff63d9ec94e1736b556dacdfebe5ab6d4b \ - --hash=sha256:0ce82d761c532fe4ec3f87fc45688bdd3a4c1dc5e0b4a19814b9009a29baefd4 \ - --hash=sha256:1e4747bc279b4f613a09eb64bba2ba602d8a6664c6ce6396a4d0cd413a50ce07 \ - --hash=sha256:213c60cd50106436cc818accf5baa1aba61c0189ff610f64f4a3e8c6726218ba \ - --hash=sha256:231710d57adfd809ef5d34183b8ed1eeae3f76459c18fb4a0b373ad56bedcdd9 \ - --hash=sha256:277a0ef2981ca40581a47093e9e2d13b3f1fbbeffae064c1d21bfceba2030287 \ - --hash=sha256:2cd5df3de48857ed0544b34e2d40e9fac445930039f3cfe4bcc592a1f836d513 \ - --hash=sha256:40527857252b61eacd1d9af500c3337ba8deb8fc298940291486c465c8b46ec0 \ - --hash=sha256:432557aa2c09802be39460360ddffd48156e30721f5e8d917f01d31694216782 \ - --hash=sha256:473f9edb243cb1935ab5a084eb238d842fb8f404ed2193a915d1784b5a6b5fc0 \ - --hash=sha256:48c346915c114f5fdb3ead70312bd042a953a8ce5c7106d5bfb1a5254e47da92 \ - --hash=sha256:50602afada6d6cbfad699b0c7bb50d5ccffa7e46a3d738092afddc1f9758427f \ - --hash=sha256:68fb519c14306fec9720a2a5b45bc9f0c8d1b9c72adf45c37baedfcd949c35a2 \ - --hash=sha256:77f396e6ef4c73fdc33a9157446466f1cff553d979bd00ecb64385760c6babdc \ - --hash=sha256:81957921f441d50af23654aa6c5e5eaf9b06aba7f0a19c18a538dc7ef291c5a1 \ - --hash=sha256:819b3830a1543db06c4d4b865e70ded25be52a2e0631ccd2f6a47a2822f2fd7c \ - --hash=sha256:897b80890765f037df3403d22bab41627ca8811ae55e9a722fd0392850ec4d86 \ - --hash=sha256:98c4d36e99714e55cfbaaee6dd5badbc9a1ec339ebfc3b1f52e293aee6bb71a4 \ - --hash=sha256:9df7ed3b3d2e0ecfe09e14741b857df43adb5a3ddadc919a2d94fbdf78fea53c \ - --hash=sha256:9fa600030013c4de8165339db93d182b9431076eb98eb40ee068700c9c813e34 \ - --hash=sha256:a80a78046a72361de73f8f395f1f1e49f956c6be882eed58505a15f3e430962b \ - --hash=sha256:afa17f5bc4d1b10afd4466fd3a44dc0e245382deca5b3c353d8b757f9e3ecb8d \ - --hash=sha256:b3d267842bf12586ba6c734f89d1f5b871df0273157918b0ccefa29deb05c21c \ - --hash=sha256:b5b9eccad747aabaaffbc6064800670f0c297e52c12754eb1d976c57e4f74dcb \ - --hash=sha256:bfaef573a63ba8923503d27530362590ff4f576c626d86a9fed95822a8255fd7 \ - --hash=sha256:c5687b8d43cf58545ade1fe3e055f70eac7a5a1a0bf42824308d868289a95737 \ - --hash=sha256:cba8c411ef271aa037d7357a2bc8f9ee8b58b9965831d9e51baf703280dc73d3 \ - --hash=sha256:d15a181d1ecd0d4270dc32edb46f7cb7733c7c508857278d3d378d14d606db2d \ - --hash=sha256:d4b0ba9512519522b118090257be113b9468d804b19d63c71dbcf4a48fa32358 \ - --hash=sha256:d4db7c7aef085872ef65a8fd7d6d09a14ae91f691dec3e87ee5ee0539d516f53 \ - --hash=sha256:d4eccecf9adf6fbcc6861a38015c2a64f38b9d94838ac1810a9023a0609e1b78 \ - --hash=sha256:d67d839ede4ed1b28a4e8909735fc992a923cdb84e618544973d7dfc71540803 \ - --hash=sha256:daf496c58a8c52083df09b80c860005194014c3698698d1a57cbcfa182142a3a \ - --hash=sha256:dbad0e9d368bb989f4515da330b88a057617d16b6a8245084f1b05400f24609f \ - --hash=sha256:e61ceaab6f49fb8bdfaa0f92c4b57bcfbea54c09277b1b4f7ac376bfb7a7c174 \ - --hash=sha256:f84fbc98b019fef2ee9a1cb3ce93e3187a6df0b2538a651bfb890254ba9f90b5 - # via pre-commit -virtualenv==20.23.1 \ - --hash=sha256:34da10f14fea9be20e0fd7f04aba9732f84e593dac291b757ce42e3368a39419 \ - --hash=sha256:8ff19a38c1021c742148edc4f81cb43d7f8c6816d2ede2ab72af5b84c749ade1 - # via pre-commit - -# WARNING: The following packages were not pinned, but pip requires them to be -# pinned when the requirements file includes hashes and the requirement is not -# satisfied by a package already installed. Consider using the --allow-unsafe flag. -# setuptools diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index a7e83fd5cfb..e42ce8ec09a 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -16,7 +16,9 @@ - [API reference documentation](#api-reference-documentation) - [Licensing](#licensing) + # Contributing Guidelines + Thank you for your interest in contributing to our project. Whether it's a [bug report](https://github.com/aws-powertools/powertools-lambda-python/issues/new?assignees=&labels=bug%2Ctriage&projects=&template=bug_report.yml&title=Bug%3A+TITLE), [new feature](https://github.com/aws-powertools/powertools-lambda-python/issues/new?assignees=&labels=feature-request%2Ctriage&projects=&template=feature_request.yml&title=Feature+request%3A+TITLE), [correction](https://github.com/aws-powertools/powertools-lambda-python/issues/new/choose), or [additional documentation](https://github.com/aws-powertools/powertools-lambda-python/issues/new?assignees=&labels=documentation%2Ctriage&projects=&template=documentation_improvements.yml&title=Docs%3A+TITLE), we greatly value feedback and contributions from our community. @@ -96,13 +98,9 @@ timeline ### Dev setup -[![Gitpod Ready-to-Code](https://img.shields.io/badge/Gitpod-Ready--to--Code-blue?logo=gitpod)](https://gitpod.io/from-referrer/) - Firstly, [fork the repository](https://github.com/aws-powertools/powertools-lambda-python/fork). -To setup your development environment, we recommend using our pre-configured Cloud environment: . Replace YOUR_USERNAME with your GitHub username or organization so the Cloud environment can target your fork accordingly. - -Alternatively, you can use `make dev` within your local virtual environment. +You can use `make dev` within your local virtual environment to setup your development environment. To send us a pull request, please follow these steps: diff --git a/Makefile b/Makefile index 08f8829fe3b..1dfff58db3d 100644 --- a/Makefile +++ b/Makefile @@ -16,11 +16,6 @@ dev-quality-code: poetry install --extras "all redis datamasking valkey" pre-commit install -dev-gitpod: - pip install --upgrade pip poetry - poetry install --extras "all redis datamasking valkey" - pre-commit install - format-check: poetry run ruff format aws_lambda_powertools tests examples --check diff --git a/docs/contributing/setup.md b/docs/contributing/setup.md index a750921ca1b..e98d5f56f28 100644 --- a/docs/contributing/setup.md +++ b/docs/contributing/setup.md @@ -7,7 +7,7 @@ description: Setting up your development environment for contribution [![Join our Discord](https://img.shields.io/badge/Discord-Join_Community-7289da.svg)](https://discord.gg/B8zZKbbyET){target="_blank"} -This page describes how to setup your development environment (Cloud or locally) to contribute to Powertools for AWS Lambda. +This page describes how to setup your development environment to contribute to Powertools for AWS Lambda.
```mermaid @@ -22,7 +22,7 @@ graph LR !!! question "First time contributing to an open-source project ever?" Read this [introduction on how to fork and clone a project on GitHub](https://docs.github.com/en/get-started/quickstart/contributing-to-projects){target="_blank" rel="nofollow"}. -Unless you're using the pre-configured Cloud environment, you'll need the following installed: +You'll need the following installed: * [GitHub account](https://github.com/join){target="_blank" rel="nofollow"}. You'll need to be able to fork, clone, and contribute via pull request. * [Python 3.10+](https://www.python.org/downloads/){target="_blank" rel="nofollow"}. Pick any version supported in [AWS Lambda runtime](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html). @@ -35,24 +35,8 @@ Unless you're using the pre-configured Cloud environment, you'll need the follow * [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](https://www.gitpod.io/pricing){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. - -```bash -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](#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?"