Skip to content

Instantly share code, notes, and snippets.

View alexpearce's full-sized avatar

Alex Pearwin alexpearce

View GitHub Profile
@alexpearce
alexpearce / db.py
Created October 2, 2018 07:31
Snakemake remote file support for a Python dictionary backed by a shelve database.
import shelve
import string
import time
class MeasurementDB(object):
r"""Database for storing measurements, with export to LaTeX macros.
Example usage:
@alexpearce
alexpearce / app.py
Created June 17, 2022 03:08
FastAPI application demonstrating proper Bearer token usage.
import typing as t
from fastapi import Depends, FastAPI, Header, HTTPException
from fastapi.security.http import HTTPAuthorizationCredentials, HTTPBearer
from pydantic import BaseModel
from starlette import status
app = FastAPI()
# Placeholder for a database containing valid token values
@alexpearce
alexpearce / celeryev_consumer.py
Created August 4, 2022 16:23
Real-time consumer of Celery's event queue.
import pika
#: Name of the Celery events exchange
EXCHANGE_NAME = "celeryev"
#: Arbitrary name for the transient queue this script will create and consume from
QUEUE_NAME = "pikatest"
#: Global to hold our channel object in
channel = None
# Step #2
@alexpearce
alexpearce / token_bucket.py
Created February 27, 2023 11:07
An asyncio implementation of the token bucket rate-limiting algorithm.
"""Token bucket algorithm implementation and example application/consumer."""
import argparse
import asyncio
import datetime
import random
from loguru import logger
class TokenBucket:
function tssh --description="SSH to a machine using its Tailscale IP." --argument-names=target_host
# Find the `tailscale` executable
set cmd '/Applications/Tailscale.app/Contents/MacOS/Tailscale'
if not test -x $cmd
set cmd (which tailscale)
if test $status != 0
set_color red
printf "ERROR "
set_color normal
echo "Could not find Tailscale binary" >&2