During a code review, a colleague, Zachary Paden, asked me why I was calling the typing.cast
function on my variables rather than creating temporary variables just to type hint. Well, just as he didn’t know about cast, I didn’t know that this approach worked. Being the nerdz that we are, he decided to measure the performance of each approach.
Category: IT
Information Technology
bookmark_borderboto3 – From monkeypatch to moto
Today, at the suggestion of a college (Zachary Paden), I contemplated the idea of migrating my tests using python/monkeypatch to moto. Here I will share my journey and observations.
Continue reading “boto3 – From monkeypatch to moto”bookmark_borderMinimize the size of lambdas by deleting boto3 from the deployment package
Last April, I wrote a post about managing boto3 in deployed packages. (See Minimizing the size of lambdas by avoiding having boto3 and its stubs in the deployment package). This approach works when all dependencies can be set in the development section.
But, what about when dependencies are required in production? For example, we recently had to deploy a lambda that depends on awswrangler. So the technique suggested in the previous post did not work. Here I will cover a different approach that allows to remove boto3 from the package to be deployed in the example context. It is however less flexible and based on a specific technology: serverless.
Continue reading “Minimize the size of lambdas by deleting boto3 from the deployment package”bookmark_borderRecipe: Run a local copy of a WordPress site with Docker
I recently decided to publish my articles in French and in English. First, I had to find and test plugins in order to choose one. So I spent some time, more than I expected, to make it work locally through Docker. Since I encountered some pitfalls, I decided to share the recipe.
Continue reading “Recipe: Run a local copy of a WordPress site with Docker”bookmark_borderCreating a pydantic model for GIS polygons
In this article, I will explain how to create a pydantic model to validate and create polygons for GIS (geographic information systems).
Continue reading “Creating a pydantic model for GIS polygons”bookmark_borderHow to integrate mypy in existing projects
Here is simply how I went about integrating mypy into a few projects. This post assumes you are using git and have a test system in place.
Continue reading “How to integrate mypy in existing projects”bookmark_borderPython poetry: Explanations and tips
For those who are used to using a “basic” virtual environment with virtualenv, poetry can be confusing. Here are some clarifications and tips on using poetry.
Continue reading “Python poetry: Explanations and tips”bookmark_borderMinimizing the size of lambdas by avoiding having boto3 and its stubs in the deployment package
If you are having problems with AWS lambdas exceeding the 250MB limit, here is a tip that might help.
Continue reading “Minimizing the size of lambdas by avoiding having boto3 and its stubs in the deployment package”bookmark_borderUsing Selenium to Roll Out Changes to Gihub Settings
Your company is rolling out a new policy and need you to change settings across many repositories? That sounds like a very repetitive task that can be easily automated. I just did it with Selenium. Here is the recipe.
Continue reading “Using Selenium to Roll Out Changes to Gihub Settings”bookmark_borderPython Poetry Index Error – list index out of range
You run poetry and get this (undescriptive) error message.
[IndexError]
list index out of range
So far I’ve identified two things that you need to check.
- Credentials: If you are installing packages from a private repository, make sure poetry credentials are right.
- Presence of all required files in local packages: If you are installing a package from local files, make sure all files mentioned in the
packages
section of itspyproject.toml
file are present. (I mostly got this error while building on Docker when forgetting to add them all in theDockerfile
.