Skip to content

Instantly share code, notes, and snippets.

@bofm
bofm / pydantic_typed_dict.py
Last active January 13, 2021 21:00
python pydantic typed dict validation
View pydantic_typed_dict.py
from functools import wraps
from typing import TypedDict
from pydantic import BaseModel, validate_arguments
def replace_typed_dict_annotations(annotations):
new_annotations = {}
for k, T in annotations.items():
if type(T).__name__ == '_TypedDictMeta':
View pytest_parametrize.py
from typing import (
Any,
Dict,
NamedTuple,
)
import pytest
class Case(NamedTuple):
View paths_eq.py
from dataclasses import dataclass
import pytest
from lib.util import paths_eq
from collections.abc import Mapping
_MISS = object()
@bofm
bofm / f.py
Last active June 28, 2020 11:37
f
View f.py
from functools import partial
class F:
__slots__ = ('fns',)
def __init__(self, *fns):
self.fns = fns
def __call__(self, *args, **kwargs):
@bofm
bofm / compose.py
Last active June 12, 2020 22:23
Python compose picklable
View compose.py
class compose:
__slots__ = ('f', 'fs')
def __init__(self, *fs):
self.f, *self.fs = reversed(fs)
def __call__(self, *args, **kwargs):
result = self.f(*args, **kwargs)
for f in self.fs:
result = f(result)
@bofm
bofm / files.txt
Last active August 27, 2019 16:58
tarantool repplicaset bootstrap problems
View files.txt
t1.lua| box.cfg{
t1.lua| feedback_enabled = false,
t1.lua| replication_connect_timeout = 1,
t1.lua| replication_connect_quorum = 0,
t1.lua| instance_uuid = "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaa1",
t1.lua| replicaset_uuid = "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa",
t1.lua| replication = {
t1.lua| "127.0.0.1:3301",
t1.lua| "127.0.0.1:3302",
t1.lua| "127.0.0.1:3303",
@bofm
bofm / docker-compose.yaml
Created July 31, 2019 14:58
tarantool bootstrap fail
View docker-compose.yaml
version: '3.7'
services:
t1:
image: tarantool/tarantool:1.10.2
ports:
- '3301:3301'
entrypoint: ''
hostname: t1
command:
@bofm
bofm / flatten.lua
Created June 10, 2019 17:26
lua flatten table
View flatten.lua
local function noop(...)
return ...
end
-- convert a nested table to a flat table
local function flatten(t, sep, key_modifier, res)
if type(t) ~= 'table' then
return t
end
@bofm
bofm / Dockerfile
Created May 21, 2019 15:52
tarantool vshard gh-181
View Dockerfile
FROM progaudi/tarantool:1.10.2
ENV VSHARD_VERSION=fcb05f7609b5a050781fe79829439e9730cee3ae
RUN apk add -U --no-cache git \
&& cd /tmp \
&& git clone https://github.com/tarantool/vshard.git \
&& ( cd vshard && git checkout ${VSHARD_VERSION} ) \
&& mv vshard/vshard /opt/tarantool/vshard \
&& rm -rf vshard
@bofm
bofm / consul_kv_atomic_bash.bash
Created February 18, 2019 16:28
consul kv atomic bash
View consul_kv_atomic_bash.bash
consul_kv_put_cas() {
local key="$1"
local value="$2"
local cas="$3"
test "$(curl -sq -X PUT -d "$value" "http://localhost:8500/v1/kv/${key}?cas=${cas}")" = "true"
}
consul_kv_put_if_not_exists() {
local key="$1"
local value="$2"