Skip to content

Instantly share code, notes, and snippets.

View dmitryhd's full-sized avatar

Dmitry Khodakov dmitryhd

View GitHub Profile
#!/usr/bin/env python3
#this file create a freq dict of text
import re
import os
import sys
import uu
import operator
class FrequencyDict():
@dmitryhd
dmitryhd / argparse.py
Last active May 11, 2016 12:34
Argparse sample
#!/usr/bin/env python3
import argparse
def parse_args():
""" Process command line arguments. """
parser = argparse.ArgumentParser()
parser.add_argument("-c", "--column", type=int,
default=0,
@dmitryhd
dmitryhd / service.sh
Last active November 10, 2015 13:03
Simple bash service
#!/bin/sh
# chkconfig: - 95 95
### BEGIN INIT INFO
# Provides: someservice
# Required-Start: $ALL
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop:
# X-Interactive: false
# Short-Description: someservice
@dmitryhd
dmitryhd / j2template.py
Last active January 15, 2016 06:32
Jinja2 template example
#!/usr/bin/env python2
# -*- coding: utf-8 -*-
""" """
from jinja2 import Template
# python3
def render_jinja(template: str, parameters: dict) -> str:
"""
@dmitryhd
dmitryhd / parallel_apply.py
Created November 17, 2015 12:14
parallel_apply.py
import pandas as pd
from joblib import Parallel, delayed
data = []
func = None
def process_chunk(chunk_size, num):
res = data[chunk_size * num: chunk_size * (num + 1)].apply(func)
return res
@dmitryhd
dmitryhd / ipython_tips.sh
Created November 18, 2015 06:30
ipython tips
# How to execute ipython
ipython nbconvert --to=html --ExecutePreprocessor.enabled=True test_notebook.ipynb
@dmitryhd
dmitryhd / cron_ipython_runner.sh
Created November 18, 2015 12:16
Cron ipython runner
#!/bin/bash
# runs ipython notebook by cron
# Add to cron
# 42 14 * * * /home/user/cron_ipython_runner.sh
source $HOME/.profile
WORKDIR=/var/local/
RUNNERLOG=/tmp/recomm_runner.log
@dmitryhd
dmitryhd / dbconn.py
Created November 25, 2015 07:10
Python various db connections
# Postgres
from sqlalchemy import create_engine
engine = create_engine('postgresql://USER:PASS@HOST/')
engine.execute('select 1').fetchall()
# Vertica
import pyodbc
conn_string = 'DSN=Vertica;'
con = pyodbc.connect(conn_string)
@dmitryhd
dmitryhd / mp.py
Last active December 2, 2015 11:05
Multiprocessing in Python
from multiprocessing import Process
from time import sleep
import pandas as pd
series = pd.Series(range(100))
data = series[:3]
def process_chunk(chunk_id, chunk_size):
local_data = data[chunk_id * chunk_size: (chunk_id + 1) * chunk_size]
for x in local_data:
@dmitryhd
dmitryhd / decor.py
Created November 25, 2015 07:15
Python decorator with params
def decor(func):
def wrap(*args, **kwargs):
print('before a')
print(args)
args[0].log()
res = func(*args, **kwargs)
print('after a')
return wrap
def param_decor(param1):