Skip to content

Instantly share code, notes, and snippets.

View schlamar's full-sized avatar

Marc Schlaich schlamar

View GitHub Profile
@schlamar
schlamar / gist:5966805
Created July 10, 2013 14:33
tulip.coroutine vs. tulip.task
import timeit
import tulip
loop = tulip.get_event_loop()
def async_func(value):
p = tulip.Future()
@schlamar
schlamar / bench_torn.py
Created July 11, 2013 09:30
Tulip vs. Tornado benchmark.
import timeit
import tornloop
import tulip
loop = tornloop.TornadoLoop()
tulip.set_event_loop(loop)
@schlamar
schlamar / example.py
Last active December 19, 2015 19:49
Tornado's IOStream on top of tulip's Transport/Protocol API.
import re
import tulip
import tulipiostream
loop = tulip.get_event_loop()
LENGTH_PATTERN = re.compile(b'Content-Length: (\d*)\\r\\n')
@schlamar
schlamar / gist:6317614
Created August 23, 2013 10:00
SQLAlchemy: count number of executed statements
import sys
from sqlalchemy import create_engine, event
from sqlalchemy.orm import sessionmaker
import model
if sys.version_info >= (2, 7):
import unittest as unittest2
@schlamar
schlamar / Tulip Log
Last active December 22, 2015 00:19
Tulip benchmark profiled
DEBUG:tulip:Using selector: SelectSelector
DEBUG:tulip:poll0.000 took 0.000 seconds
DEBUG:tulip:poll0.010 took 0.016 seconds
DEBUG:tulip:poll0.000 took 0.000 seconds
DEBUG:tulip:poll0.010 took 0.015 seconds
DEBUG:tulip:poll0.000 took 0.000 seconds
DEBUG:tulip:poll0.010 took 0.000 seconds
DEBUG:tulip:poll0.010 took 0.016 seconds
DEBUG:tulip:poll0.000 took 0.000 seconds
DEBUG:tulip:poll0.010 took 0.015 seconds
@schlamar
schlamar / gist:6713843
Created September 26, 2013 13:02
SQLAlchemy ordered collection.
from sqlalchemy import create_engine, event, Column, Integer
from sqlalchemy.orm import sessionmaker
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.sql import func, select
Base = declarative_base()
class Job(Base):
__tablename__ = 'job'
@schlamar
schlamar / example.py
Last active February 13, 2022 18:15
mplog: Python advanced multiprocessing logging.
import logging
import multiprocessing
import time
import mplog
FORMAT = '%(asctime)s - %(processName)s - %(levelname)s - %(message)s'
logging.basicConfig(level=logging.DEBUG, format=FORMAT)
existing_logger = logging.getLogger('x')
@schlamar
schlamar / gist:7024668
Created October 17, 2013 13:14
Handle Windows privileges from Python. Based on http://stackoverflow.com/a/2129589/851737
from __future__ import print_function
import ctypes
from ctypes import wintypes
GetCurrentProcess = ctypes.windll.kernel32.GetCurrentProcess
GetCurrentProcess.restype = wintypes.HANDLE
OpenProcessToken = ctypes.windll.advapi32.OpenProcessToken
OpenProcessToken.argtypes = (wintypes.HANDLE, wintypes.DWORD, ctypes.POINTER(wintypes.HANDLE))
OpenProcessToken.restype = wintypes.BOOL
import ctypes
from ctypes import POINTER
from ctypes.wintypes import HANDLE, LPVOID, WORD, DWORD, BOOL
LPSTR = ctypes.c_char_p
LPBYTE = LPSTR
LPHANDLE = POINTER(HANDLE)
LPDWORD = POINTER(DWORD)
@schlamar
schlamar / gist:7791242
Created December 4, 2013 17:01
Dropbox authentication with Python SDK,
import webbrowser
from dropbox import client
APP_KEY = ''
APP_SECRET = ''
def authorize():