powertools-lambda-python
Poetry
powertools-lambda-python | Poetry | |
---|---|---|
20 | 378 | |
2,640 | 29,687 | |
2.7% | 1.7% | |
9.9 | 9.7 | |
2 days ago | 6 days ago | |
Python | Python | |
MIT No Attribution | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
powertools-lambda-python
-
Superpower REST API DX with Serverless ⚡ and DevOps Best Practices on AWS (🐍 Python Version)
Also I suggest to have a look at AWS Lambda PowerTools, which simplifies adopting best practices with Lambda
-
AWS Serverless Diversity: Multi-Language Strategies for Optimal Solutions
Python is a natural fit for serverless development. It boasts a vast array of libraries, including Powertools for AWS and robust libraries for data engineers. Its versatility and excellent developer experience make it a top choice for serverless projects, offering a seamless and enjoyable development experience.
-
Turbocharge your Lambda Functions with AWS Lambda Powertools for Python
Read more: https://docs.powertools.aws.dev/lambda/python/latest/
-
Billing for SaaS with EMF and CloudWatch Metric Streams
Imagine a sample Python application returning "hello world" to simulate a successful call. Each call to the application is captured for billing purposes using EMF. Lambda Powertools is used to reduce the amount of code we need to write.
-
Serverless Site Health Check Notification System
Below is an example of lambda handler code. It is using the highly recommended Powertools for AWS Lambda library to ensure best practices around tracing, logging, metrics, and more. The function gets passed an SNS topic and Slack webhook URL at creation time (via environment variables) to send notifications to. It parses the passed in event information to determine which hostname had it's status changed and what the new status is and sends out notifications.
- Advice for unattended vending machine startup with basic api, crud, and database needs
-
Investigating Pydantic v2's Bold Performance Claims
It's worth noting that these improvements will also impact other libraries and frameworks that rely on Pydantic, such as FastAPI and AWS Lambda Powertools, which could deliver some transitive performance improvements to various projects that don't directly depend on Pydantic themselves.
-
AWS Lambda Cookbook — Elevate your handler’s code — Part 5— Input Validation
I had the pleasure of writing and contributing the Parser utility to a fantastic project on Github called AWS Lambda Powertools. We have used this repository previously in the blog series (parts one to three) for logging, tracing and metrics.
-
Deploying CDK Lambda with Docker and Gitlab CI
We are going to add aws-lambda-powertools as poetry dependency we need. While this is available as Lambda Layer, we are going to use it as a installed dependency for this exercise.
-
How working with AWS open-source tools made me a better developer
I truly disliked type hints. Working with CDK started to change that for the better and then I discovered AWS Lambda Powertools. It combines multiple things I am passionate about so I became passionate about using the library and improving it. Lambda Powertools utilizes static typing for several of its main features (Parser, Event Sources and Typing).
Poetry
-
Understanding Dependencies in Programming
You can manage dependencies in Python with the package manager pip, which comes pre-installed with Python. Pip allows you to install and uninstall Python packages, and it uses a requirements.txt file to keep track of which packages your project depends on. However, pip does not have robust dependency resolution features or isolate dependencies for different projects; this is where tools like pipenv and poetry come in. These tools create a virtual environment for each project, separating the project's dependencies from the system-wide Python environment and other projects.
-
Implementing semantic image search with Amazon Titan and Supabase Vector
Poetry provides packaging and dependency management for Python. If you haven't already, install poetry via pip:
-
From Kotlin Scripting to Python
Poetry
-
How to Enhance Content with Semantify
The Semantify repository provides an example Astro.js project. Ensure you have poetry installed, then build the project from the root of the repository:
-
Uv: Python Packaging in Rust
Has anyone else been paying attention to how hilariously hard it is to package PyTorch in poetry?
https://github.com/python-poetry/poetry/issues/6409
-
Boring Python: dependency management (2022)
Based on this comment 5 days ago[0], it's working? I'm not sure didn't dig in too far but based on that comment it seems fair to say that it's not fully Poetry's fault because torch removed hashes (which poetry needs to be effective) for a while only recently adding it back in.
Not sure where I would stand if I fully investigated it tho.
[0] https://github.com/python-poetry/poetry/issues/6409#issuecom...
-
Fun with Avatars: Crafting the core engine | Part. 1
We will be running this project in Python 3.10 on Mac/Linux, and we will use Poetry to manage our dependencies. Later, we will bundle our app into a container using docker for deployment.
-
Python Packaging, One Year Later: A Look Back at 2023 in Python Packaging
Here are the two main packaging issues I run into, specifically when using Poetry:
1) Lack of support for building extension modules (as mentioned by the article). There is a workaround using an undocumented feature [0], which I've tried, but ultimately decided it was not the right approach. I still use Poetry, but build the extension as a separate step in CI, rather than kludging it into Poetry.
2) Lack of support for offline installs [1], e.g. being able to download the dependencies, copy them to another machine, and perform the install from the downloaded dependencies (similar to using "pip --no-index --find-links=."). Again, you can work around this (by using "poetry export --with-credentials" and "pip download" for fetching the dependencies, then firing up pypiserver [2] to run a local PyPI server on the offline machine), but ideally this would all be a first class feature of Poetry, similar to how it is in pip.
I don't have the capacity to create Pull Requests for addressing these issues with Poetry, and I'm very grateful for the maintainers and those who do contribute. Instead, on the linked issues I share my notes on the matter, in the hope that it may at least help others and potentially get us closer to a solution.
Regardless, I'm sticking with Poetry for now. Though to be fair, the only other Python packaging tools I've used extensively are Pipenv and pip/setuptools. It's time consuming to thoroughly try out these other packaging tools, and is generally lower priority than developing features/fixing bugs, so it's helpful to read about the author's experience with these other tools, such as PDM and Hatch.
[0] https://github.com/python-poetry/poetry/issues/2740
[1] https://github.com/python-poetry/poetry/issues/2184
[2] https://pypi.org/project/pypiserver/
-
Introducing Flama for Robust Machine Learning APIs
We believe that poetry is currently the best tool for this purpose, besides of being the most popular one at the moment. This is why we will use poetry to manage the dependencies of our project throughout this series of posts. Poetry allows you to declare the libraries your project depends on, and it will manage (install/update) them for you. Poetry also allows you to package your project into a distributable format and publish it to a repository, such as PyPI. We strongly recommend you to learn more about this tool by reading the official documentation.
-
How do you resolve dependency conflicts?
I started using poetry. The problem is poetry will not install if there is dependency conflict and there is no way to ignore: github
What are some alternatives?
powertools-lambda-java - Powertools is a developer toolkit to implement Serverless best practices and increase developer velocity.
Pipenv - Python Development Workflow for Humans.
powertools-lambda-typescript - Powertools is a developer toolkit to implement Serverless best practices and increase developer velocity.
PDM - A modern Python package and dependency manager supporting the latest PEP standards
unlock-mainframe-data-files-on-aws - This solution is designed to help you unlock legacy mainframe data by migrating data files from mainframe systems to AWS. By migrating the data, you can make use of the powerful analytics, machine learning, and other services available in AWS to gain insights and make better decisions based on the data.
hatch - Modern, extensible Python project management
tz - Time zone database and code
pyenv - Simple Python version management
aws-lambda-web-adapter - Run web applications on AWS Lambda
pip-tools - A set of tools to keep your pinned Python dependencies fresh.
python-flask-template - HTTP and Flask-based OpenFaaS templates for Python 3
virtualenv - Virtual Python Environment builder