Instantly share code, notes, and snippets.

Mike DePalatis mivade

View GitHub Profile
mivade /
Created Oct 26, 2018
Using watchdog with asyncio
import asyncio
from pathlib import Path
from typing import Optional
from import FileSystemEvent, FileSystemEventHandler
from watchdog.observers import Observer
class _EventHandler(FileSystemEventHandler):
def __init__(self, queue: asyncio.Queue, loop: asyncio.BaseEventLoop,
import codecs
import json
from typing import Union
import h5py
import numpy as np
import pandas as pd
vlen = np.vectorize(len)
vencode = np.vectorize(codecs.encode)
class Manager(object):
classes = set()
class Meta(type):
def __new__(cls, name, bases, d):
print("name:", name, "\nbases:", bases, "\ndict: ", d)
if name is not "Base":
return type.__new__(cls, name, bases, d)
mivade / test.json
Created May 21, 2018
json_normalize bug in pandas 0.23
View test.json
"subject": {
"pairs": {
"A1-A2": {
"atlases": {
"avg.corrected": {
"region": null,
"x": 49.151580810546875,
"y": -33.148521423339844,
"z": 27.572303771972656
mivade /
Last active May 18, 2018
Interprocess communication speed comparisons
from multiprocessing import Event, Process, Queue
import time
import zmq
class BaseActor(Process):
ready = Event()
def handle(self, msg):
print("dt =", time.time() - msg['timestamp'])
mivade /
Created May 7, 2018
Running coroutines without explicitly awaiting
import asyncio
from threading import Event, Thread
class EventLoopThread(Thread):
def __init__(self):
self.loop = None
self.ready = Event()
mivade /
Last active Jan 15, 2018
Multiline lambdas and why you'd want to use them
import sys
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
class MainWindow(QWidget):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.setWindowTitle('Multiline lambdas')

Keybase proof

I hereby claim:

  • I am mivade on github.
  • I am mivade ( on keybase.
  • I have a public key ASCjifbgjSNGV_4F5Ge6JtJZBHGMNpi4miYvMDbZUbD1Fwo

To claim this, I am signing this object:

mivade / benchmark.ipynb
Last active May 6, 2018
Sharing memory between processes with various methods
View benchmark.ipynb
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
mivade /
Created May 12, 2017
Binding to random ports for IPC
"""Examples of how to bind a socket to a random port and have that port number
accessible to other processes. Useful for interprocess communications.
import time
import socket
from socket import AF_INET, SOCK_STREAM
from multiprocessing import Process, Queue, Event
from contextlib import contextmanager