Skip to content

Instantly share code, notes, and snippets.

View Yourun-proger's full-sized avatar
🥛
kefir

Yourun Yourun-proger

🥛
kefir
View GitHub Profile
@Tishka17
Tishka17 / depends.py
Last active December 21, 2022 16:41
Simple IoC framework
import contextlib
from contextlib import AbstractContextManager, ExitStack
from functools import wraps
from inspect import getfullargspec
from typing import Any, Callable, Dict, get_type_hints, Type
class Depends: # todo mypy
def __init__(self, dependency: Any = None):
self.dependency = dependency
@dabeaz
dabeaz / lala.py
Last active January 2, 2023 04:20
Some lambdas
# Author: David Beazley (https://www.dabeaz.com)
# Twitter: @dabeaz
from functools import reduce
run = lambda s: reduce(lambda *_:..., iter(lambda s=[s]:
(_:=s.pop()(),s.append(_))[0], None))
const = lambda v,c : lambda: c(v)
add = lambda x,y,c : lambda: c(x+y)
mul = lambda x,y,c : lambda: c(x*y)
from typing import Any
from dataclasses import dataclass
class FunctionType:
const = 'const'
call = 'call'
@dataclass
from timeit import timeit
import plotly.express as px
import pandas as pd
EXPRESSIONS = [
"{v: k for k, v in data.items()}",
"dict(zip(data.values(), data.keys()))",
"new = {}\nfor k, v in data.items(): new[k] = v",
]
from typing import Any, Dict, Union
from types import FunctionType
from inspect import getargs, getfullargspec
import functools
import warnings
class TypesCompilationWarning(Warning):
pass
@novusnota
novusnota / .vimrc
Last active March 8, 2024 16:03
Простая конфигурация, конфиг Vim для тех, у кого русско-английская клавиатура. Для русскоязычных, короче (duh). Минималистичная, минимум плагинов, но с развёрнутым описанием каждой функции, настройки и команды.
" Простая конфигурация Vim для пользователей с русско-английской клавиатурой
" Как правило, русскоязычных (duh)
" Минималистичная, минимум плагинов, но с развёрнутым описанием каждой функции, настройки и команды
" Работает для Vim 8.*, скомпилированного по максимуму.
" Чистый конфиг, без использования менеджеров плагинов.
" Цветовые схемы вручную копировал в папку ~/.vim/
" Также, ручками добавил
" lightline и NERDTree в ~/.vim/pack/plugins/start,
@decorator-factory
decorator-factory / sum_type.py
Last active December 27, 2022 16:11
Sum type in Python
class _EmbellishedBase:
_constructor_name: str
def embellished(name, definition):
class EmbellishedMeta(type):
def __repr__(self):
return f"embellished({self._constructor_name!r}, {definition!r})"
class Embellished(_EmbellishedBase, metaclass=EmbellishedMeta):
@miguelgrinberg
miguelgrinberg / .vimrc
Last active April 4, 2024 19:06
My .vimrc configuration for working in Python with vim
" plugins
let need_to_install_plugins = 0
if empty(glob('~/.vim/autoload/plug.vim'))
silent !curl -fLo ~/.vim/autoload/plug.vim --create-dirs
\ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
let need_to_install_plugins = 1
endif
call plug#begin()
Plug 'tpope/vim-sensible'
@coolreader18
coolreader18 / segfault.py
Last active March 30, 2024 08:05
CPython segfault in 5 lines of code
class E(BaseException):
def __new__(cls, *args, **kwargs):
return cls
def a(): yield
a().throw(E)
@Integralist
Integralist / Python Async Decorator.py
Last active January 10, 2024 13:57
[Python Async Decorator] #python #asyncio #decorator
import asyncio
from functools import wraps
def dec(fn):
@wraps(fn)
async def wrapper(*args, **kwargs):
print(fn, args, kwargs) # <function foo at 0x10952d598> () {}
await asyncio.sleep(5)