Skip to content

Instantly share code, notes, and snippets.

View tekumara's full-sized avatar
🥚

Oliver Mannion tekumara

🥚
View GitHub Profile
from dataclasses import dataclass
from typing import Dict, List
import flytekit
import matplotlib.pyplot as plt
import mpld3
import numpy as np
import pandas as pd
import pyarrow as pa
import vaex
@acookin
acookin / agent.py
Created September 8, 2022 22:58
Agent + flow to cleanup local process flow runs
"""
Runs prefect agent
Keeps track of flow runs the agent kicked off,
and sets a DateTime block storage to NOW() for
every running flow, every couple of seconds.
Also, has a cleanup function that will set the state of
every running flow to AwaitingRetry for each running
flow.
@Kludex
Kludex / main.py
Created June 30, 2022 05:33
Increase number of threads available on FastAPI.
import anyio
from fastapi import FastAPI
app = FastAPI()
@app.on_event("startup")
async def startup():
limiter = anyio.to_thread.current_default_thread_limiter()
@robotdad
robotdad / vs_cpp_winget.md
Last active September 21, 2026 15:29
Installing VS C++ workloads with winget

This is a short outline of how to install the C++ workload with Visual Studio or the build tools using winget.

To find VS releases with winget use search. winget search buildtools

The install command will install the VS installer with the core of the selected product installed. That isn't much. So if you use either of these commands to insll VS or the build tools you will need to launch the VS installer afterwards and select the relevant C++ workloads you need.

winget install Microsoft.VisualStudio.2022.BuildTools

winget install Microsoft.VisualStudio.2022.Community
@therealchjones
therealchjones / macOS-path.md
Last active February 27, 2026 21:48
Some notes on the environment (especially PATH) in macOS

macOS PATH and Visual Studio Code

As of macOS Monterey 12.2.1 and Visual Studio Code 1.66.0.

The value of macOS's PATH environment variable is set or modified by many different processes. By the time you run programs from the integrated terminal in Visual Studio Code, it's changed several times. Running a task or launching an extension in VS Code makes it even more complicated. Let's take a look.

PATH inheritance

On macOS, each process after booting is started by another process. When creating the "child" process, the "parent" process can choose what environment the child process starts with. Most programs either allow their child processes to "inherit" the same process they started with or start their child processes with "clean" environments with relatively few environment variables set, but nearly any customization of the environment is possible for each child process.

@mikeckennedy
mikeckennedy / syncify.py
Last active April 2, 2023 07:02
Convert an async method to a synchronous one.
import asyncio
import functools
from typing import Any, Coroutine
loop = asyncio.new_event_loop()
def run(async_coroutine: Coroutine[Any, Any, Any]):
"""
Convert an async method to a synchronous one.
@bradfitz
bradfitz / sqlplay.go
Created June 23, 2021 17:23
sqlplay.go
package main
import (
"database/sql"
"flag"
"fmt"
"html"
"io"
"io/ioutil"
"log"
@samjarrett
samjarrett / paginate.py
Created June 11, 2021 12:51
boto paginators the right way
def paginate(method, **kwargs):
client = method.__self__
paginator = client.get_paginator(method.__name__)
for page in paginator.paginate(**kwargs).result_key_iters():
for result in page:
yield result
# usage:
import boto3
@noamsdahan
noamsdahan / passrole_actions_and_parameters.csv
Last active January 27, 2026 22:02
A list of IAM actions which require iam:PassRole as of December 2020. Nested parameters are written with dot ('.') notation. Where there are multiple relevant parameters, they are separated by the pipe character ('|'). consult the AWS documentation on special cases - noted with an asterisk (most of them are "array of documents" type parameters).…
IAM Permission Params
amplify:CreateApp iamServiceRoleArn
amplify:UpdateApp iamServiceRoleArn
appconfig:CreateConfigurationProfile RetrievalRoleArn
appconfig:UpdateConfigurationProfile RetrievalRoleArn
appflow:CreateConnectorProfile connectorProfileConfig.connectorProfileProperties.Redshift.roleArn
appflow:UpdateConnectorProfile connectorProfileConfig.connectorProfileProperties.Redshift.roleArn
application-autoscaling:RegisterScalableTarget RoleARN
apprunner:CreateService SourceConfiguration.AuthenticationConfiguration.AccessRoleArn|InstanceConfiguration.InstanceRoleArn
apprunner:UpdateService SourceConfiguration.AuthenticationConfiguration.AccessRoleArn|InstanceConfiguration.InstanceRoleArn
@mbarneyjr
mbarneyjr / assume-role.sh
Created October 26, 2020 17:58
aws sts assume-role one-liner
export $(aws sts assume-role --role-arn arn:aws:iam::$TARGET_ACCOUNT_ID:role/ci-access --role-session-name ci --output text --query "[['AWS_ACCESS_KEY_ID',Credentials.AccessKeyId],['AWS_SECRET_ACCESS_KEY',Credentials.SecretAccessKey],['AWS_SESSION_TOKEN',Credentials.SessionToken]][*].join(\`=\`,@)")