How to call pip programatically from Python
I needed this for the `datasette install` and `datasette uninstall` commands, see [issue #925](https://github.com/simonw/datasette/issues/925).
311 words
|
2 minutes
Using S3 triggers to maintain a list of files in DynamoDB
This is a three-quarters-baked experiment that I ran this morning. I'm interested in efficiently tracking which new files have been added to an S3 ...
2035 words
|
10 minutes
Threat Modeling for DevOps
Day 68 of 90 Days of DevOps - Threat Modeling for DevOps. Part of the Security & Compliance series covering essential DevOps concepts and hands-on practices.
590 words
|
3 minutes
Processing a stream of chunks of JSON with ijson
A follow-up to [Using OpenAI functions and their Python library for data extraction](https://til.simonwillison.net/gpt3/openai-python-functions-dat...
693 words
|
3 minutes
Switching between gcloud accounts
I have two different Google Cloud accounts active at the moment. Here's how to list them with `gcloud auth list`:
62 words
|
1 minute
Security Policies and Governance
Day 67 of 90 Days of DevOps - Security Policies and Governance. Part of the Security & Compliance series covering essential DevOps concepts and hands-on practices.
412 words
|
2 minutes
Querying for GitHub issues open for less than 60 seconds
While [writing this thread](https://twitter.com/simonw/status/1370390336514658310) about my habit of opening issues and closing them a few seconds ...
185 words
|
1 minute
Compliance as Code
Day 66 of 90 Days of DevOps - Compliance as Code. Part of the Security & Compliance series covering essential DevOps concepts and hands-on practices.
449 words
|
2 minutes