Skip to content

Instantly share code, notes, and snippets.

@nolar
nolar / pyenv-virtualenv-speedup.sh
Created January 16, 2019 14:52
Speed up the pyenv-virtualenv with 10+ venvs
# FIXME: pyenv-virtualenv is increadibly slow with ~10 virtualenvs.
# FIXME: because of the injection to $PROMPT_COMMAND: _pyenv_virtualenv_hook.
# FIXME: because it calls `pyenv sh-activate` on every prompt, which is slow.
if which pyenv >/dev/null; then eval "$(pyenv init --no-rehash - )"; fi
if which pyenv-virtualenv-init > /dev/null; then eval "$(pyenv virtualenv-init -)"; fi
# This is a replacement hook for the pyenv-virtualenv, which triggers only on demand,
# and stays inactive on other cases -- to save the time on prompt generation.
__pyenv_local_file=.python-version
@nolar
nolar / _cov.sh
Created May 24, 2019 18:38
Ad-hoc script to replay code coverage over the whole git history (used in https://github.com/zalando-incubator/kopf/pull/72)
#!/bin/bash
set -eux
unset E2E # e2e covers everything, but this is not a fair coverage.
first=981e664e39955f38d9a279af24ee5be77c7e9a3e
last=b6e3ec407f46d8db0f1c5c15fce41359ac76ebf1 # or upstream/master
# Master-only commits (i.e. where "master" branch was on merges).
# These ones are fast, since it walks "first parent" way only
while read -r rev; do
@nolar
nolar / bash-profile-d-pyenv.sh
Created May 22, 2020 08:24
Fixing a slow pyenv `cd` with multiple virtualenvs.
#!/usr/bin/env bash
# Special virtualenvs must be in PATH strictly after pyenv. Hence, add it before!
if which pyenv >/dev/null 2>&1 ; then
for name in power __user__ __z__ ; do
if pyenv prefix "$name" >/dev/null 2>&1 ; then
export PATH="$(pyenv prefix "$name")/bin:$PATH"
fi
done
fi
@nolar
nolar / conn_pool.py
Created February 14, 2022 10:25 — forked from luqmansen/conn_pool.py
Simple Object Pool pattern to Create Connection Pool
from datetime import datetime
from multiprocessing import Lock
import mysql.connector
USER = "root"
PASSWD = "admin"
HOST = 'localhost'
DB = "db_test"
#
# Print all possible candidates for virtualenv relative to the directory $1.
# Used in venv_find() for every directory starting from the current and up to the root.
#
function venv_candidates () {
echo $1
echo $1/.venv
echo $1/VENV
echo $1/ENV
echo $1.venv