Skip to content

Instantly share code, notes, and snippets.

View alexeygrigorev's full-sized avatar
:octocat:
Githubbing

Alexey Grigorev alexeygrigorev

:octocat:
Githubbing
View GitHub Profile
@alexeygrigorev
alexeygrigorev / vimeo-download.py
Created September 17, 2016 09:09
Downloading segmented video from vimeo
import requests
import base64
from tqdm import tqdm
master_json_url = 'https://178skyfiregce-a.akamaihd.net/exp=1474107106~acl=%2F142089577%2F%2A~hmac=0d9becc441fc5385462d53bf59cf019c0184690862f49b414e9a2f1c5bafbe0d/142089577/video/426274424,426274425,426274423,426274422/master.json?base64_init=1'
base_url = master_json_url[:master_json_url.rfind('/', 0, -26) + 1]
resp = requests.get(master_json_url)
content = resp.json()
@alexeygrigorev
alexeygrigorev / BeanToRecordConverter.java
Created January 17, 2018 13:45
Use reflection to write arbitrary java beans to parquet with Avro
package avro;
import org.apache.avro.Schema;
import org.apache.avro.generic.GenericData;
import org.apache.avro.generic.GenericRecord;
import org.apache.avro.reflect.ReflectData;
import java.util.ArrayList;
import java.util.List;
@alexeygrigorev
alexeygrigorev / tqdm_pool.py
Created December 6, 2018 15:36
Track progress of ProcessPoolExecutor with tqdm
from glob import glob
import multiprocessing
from concurrent.futures import ProcessPoolExecutor
import cv2
from PIL import Image
import imagehash
from tqdm import tqdm
@alexeygrigorev
alexeygrigorev / mp_capture.py
Created July 16, 2018 08:35
Python stdout sharing between chind & parent processes
import sys
import time
from io import StringIO
import subprocess
from multiprocessing import Process, Pipe
from threading import Thread
@alexeygrigorev
alexeygrigorev / RuleDSL.g4
Last active December 7, 2023 03:39
ANTLR4 grammar for rule-based DSL
grammar RuleDSL;
rules: (basic_rule)+ EOF;
basic_rule: 'rule' SPACE rule_name SPACE '{' EOL conditions '}' EOL;
name: ID;
list_index: '[' IND ']';
name_expr: name list_index*;
rule_name: name_expr ('.' name_expr)*;
@alexeygrigorev
alexeygrigorev / impute_linear.py
Created December 13, 2022 13:17
Linear imputer for missing values
import pandas as pd
from datetime import datetime
from sklearn.linear_model import LinearRegression
def impute_linear(df, X_cols, y_col):
df = df.copy()
null_values = df[y_col].isnull()
@alexeygrigorev
alexeygrigorev / README.md
Last active September 19, 2022 08:13
Processing book of the week data in slack dump
@alexeygrigorev
alexeygrigorev / create_python_files.sh
Last active August 16, 2022 15:34
tf.make_tensor_proto
pip install grpcio-tools
wget https://github.com/tensorflow/tensorflow/archive/v1.9.0.zip -O tf-190.zip
unzip tf-190.zip && rm tf-190.zip
wget https://github.com/tensorflow/serving/archive/1.9.0.zip -O tf-serving-190.zip
unzip tf-serving-190.zip && rm tf-serving-190.zip
mv serving-1.9.0/tensorflow_serving tensorflow-1.9.0
import random
import functools
from IPython.display import display, clear_output
from ipywidgets import Button, Dropdown, HTML, HBox, IntSlider, FloatSlider, Textarea, Output
def annotate(examples,
options=None,
shuffle=False,
@alexeygrigorev
alexeygrigorev / hello.py
Created June 14, 2022 09:27
Prefect test
from datetime import datetime
from prefect import task, flow
from prefect import get_run_logger
@task
def hello_task(date):
logger = get_run_logger()
logger.info("INFO level log message.")
logger.info(f'date={date}')
return date