Skip to content

Instantly share code, notes, and snippets.

View kevinastone's full-sized avatar

Kevin Stone kevinastone

View GitHub Profile
tap caskroom/cask
install brew-cask
install htop-osx
install hub
install node
install phantomjs
install tmux
install tree
install vagrant-completion
install watch
#!/usr/bin/env python
"""
Takes in an input string in python module format (X.Y.Z) and tries to find all
modules that start with that import path.
It takes two options.
The first is a ``recursive`` flag that allows to keep nesting looking for more modules.
@kevinastone
kevinastone / linterblame.py
Created February 8, 2015 17:51
Git Blame Results for Linter Violations
#!/usr/bin/env python
import argparse
from collections import defaultdict
import subprocess
def lint(linter, dirs):
files = defaultdict(lambda: defaultdict(list))
for dir in dirs:
env TEST="line1\nline2" python -c "import os; print repr(os.environ['TEST'])"
'line1\\nline2'
env TEST="line1
line2" python -c "import os; print repr(os.environ['TEST'])"
'line1\nline2'
#!/bin/bash
#
# Virtual Env Export
#
# Copies the dist-packages directory out of a built container.
#
# This allows you access the packages installed (say for IDE support).
if [ $# -lt 1 ]; then
@kevinastone
kevinastone / Gruntfile.coffee
Created October 19, 2015 17:29
Gruntfile for ES6 with babel and browserify
path = require 'path'
module.exports = (grunt) ->
pkg = grunt.file.readJSON('package.json')
nodePackages = Object.keys(pkg.dependencies or {})
grunt.initConfig
pkg: pkg
@kevinastone
kevinastone / staticfiles.py
Created November 18, 2020 03:27
Support for Range header requests in Starlette
import os
import re
import stat
import typing as t
from urllib.parse import quote
import aiofiles
from aiofiles.os import stat as aio_stat
from starlette.datastructures import Headers
from starlette.exceptions import HTTPException