Skip to content

Instantly share code, notes, and snippets.

View norbertparti's full-sized avatar

Norbert Parti norbertparti

View GitHub Profile
@norbertparti
norbertparti / time_measure.py
Created March 3, 2021 09:54
Python Timer Decorator
"""Build the timefunc decorator."""
import time
import functools
def timefunc(func):
"""timefunc's doc"""
@functools.wraps(func)
@norbertparti
norbertparti / dict_to_dataclass.py
Created November 25, 2020 13:12
Convert dict to Python dataclass
@dataclass
class Person:
name: str # mandatory
def __init__(self, **kwargs):
names = set([f.name for f in fields(self)])
for k, v in kwargs.items():
setattr(self, k, v) # dynamically create class fields by passed dict fields
#Merge even and odd numbers
even = (i for i in range(1,100) if i % 2 == 0)
odd = (i for i in range(1,100) if i % 2 != 0)
def imerge(a, b):
for i, j in zip(a,b):
yield i
yield j
@norbertparti
norbertparti / provision_manjaro.py
Last active June 20, 2018 11:14
Dev environment provision script
import subprocess
import shutil
packages = [
'chromium',
'git',
'mc',
'ntp',
'pacaur',
'snapd',
@norbertparti
norbertparti / python_threadpool_push_to_redis_queue.py
Last active May 25, 2018 19:07
Multiprocessing parallel push to redis queue python
import time
from random import random
import json
from multiprocessing import Pool
import redis
r = redis.StrictRedis(host='localhost', port=6379, db=0)
queue_key = 'queue'
@norbertparti
norbertparti / python_concurrrent_push_to_redis_queue.py
Last active May 25, 2018 18:01
Python concurrrent push to redis queue.py
import time
from random import random
import json
import eventlet
eventlet.monkey_patch(thread=True)
import redis
@norbertparti
norbertparti / jupyter_virtualenv_kernel_install.sh
Last active May 23, 2018 12:00
Install virtalenv, activate, and add as Jupyter kernel
#install virtualenv
pip install virtualenv
cd my_project_folder
#create virtualenv
virtualenv -p /usr/bin/python3 virtualenv_name
#activate virtualenv
source my_project/bin/activate