Skip to content

Instantly share code, notes, and snippets.

View semyont's full-sized avatar

Semyon semyont

View GitHub Profile
@hgrecco
hgrecco / tasks.py
Last active June 22, 2022 07:49
Simple concurrent tasks with dependencies in Python.
from collections import defaultdict
import concurrent.futures
class TasksGroup(object):
"""A group of tasks with dependencies.
>>> tasks = TasksGroup()
>>> @tasks.add()
@fspot
fspot / bottlequeue.py
Created June 7, 2013 08:20
Example app using bottle and multiprocessing for queuing long jobs and using several workers.
#!/usr/bin/env python
# -*- coding:utf-8 -*-
"""
Example app using bottle and multiprocessing for queuing long jobs
and using several workers.
"""
from multiprocessing import Process, Queue, cpu_count
from bottle import Bottle, run

Performance of Flask, Tornado, GEvent, and their combinations

Wensheng Wang, 10/1/11

Source: http://blog.wensheng.org/2011/10/performance-of-flask-tornado-gevent-and.html

When choosing a web framework, I pretty much have eyes set on Tornado. But I heard good things about Flask and Gevent. So I tested the performance of each and combinations of the three. I chose something just a little more advanced than a "Hello World" program to write - one that use templates. Here are the codes:

1, Pure Flask (pure_flask.py)

anonymous
anonymous / gist:6687587
Created September 24, 2013 16:44
Getting Flask Debug trace working while using gevent-socketio
import os
from gevent import monkey
from socketio.server import SocketIOServer
from flask import Flask, request, render_template
from werkzeug.debug import DebuggedApplication
monkey.patch_all()
app = Flask(__name__)
@rxaviers
rxaviers / gist:7360908
Last active July 18, 2025 12:16
Complete list of github markdown emoji markup

People

:bowtie: :bowtie: πŸ˜„ :smile: πŸ˜† :laughing:
😊 :blush: πŸ˜ƒ :smiley: ☺️ :relaxed:
😏 :smirk: 😍 :heart_eyes: 😘 :kissing_heart:
😚 :kissing_closed_eyes: 😳 :flushed: 😌 :relieved:
πŸ˜† :satisfied: 😁 :grin: πŸ˜‰ :wink:
😜 :stuck_out_tongue_winking_eye: 😝 :stuck_out_tongue_closed_eyes: πŸ˜€ :grinning:
πŸ˜— :kissing: πŸ˜™ :kissing_smiling_eyes: πŸ˜› :stuck_out_tongue:
@j0lvera
j0lvera / decorator.py
Last active June 1, 2021 20:33
bottle.py basic auth examples
from bottle import route, run, auth_basic
from passlib.hash import sha256_crypt
def check_pass(username, password):
hashed = ''.join(redis.hmget(username, "password"))
return sha256_crypt.verify(password, hashed)
@route('/', method='GET')
@auth_basic(check_pass) # <-- decorator
def index():
@joegoggins
joegoggins / .vimrc
Last active November 25, 2024 16:24
Mac Vim .vimrc file
" Use Vim settings, rather then Vi settings (much better!).
" This must be first, because it changes other options as a side effect.
set nocompatible
" ================ General Config ====================
set number "Line numbers are good
set backspace=indent,eol,start "Allow backspace in insert mode
set history=1000 "Store lots of :cmdline history
set showcmd "Show incomplete cmds down the bottom
@mike820324
mike820324 / worker_gevent.py
Created January 29, 2014 07:36
An example of worker queue model using gevent
import gevent
from gevent.queue import JoinableQueue
from gevent import Greenlet
from gevent.pool import Group
from gevent import monkey
monkey.patch_socket()
monkey.patch_ssl()
import requests
from requests import Session
@koba04
koba04 / app.css
Last active April 1, 2019 08:30
socket.io chat sample by vue.js http://socket.io/get-started/chat/
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
font: 13px Helvetica, Arial;
}
@JamesMGreene
JamesMGreene / gitflow-breakdown.md
Last active June 6, 2025 14:36
`git flow` vs. `git`: A comparison of using `git flow` commands versus raw `git` commands.

Initialize

gitflow git
git flow init git init
Β  git commit --allow-empty -m "Initial commit"
Β  git checkout -b develop master

Connect to the remote repository