Skip to content

Instantly share code, notes, and snippets.

View metakot's full-sized avatar
🔮
.

metakot

🔮
.
  • Yerevan, Armenia
  • 05:55 (UTC +04:00)
View GitHub Profile
@metakot
metakot / app.py
Created May 5, 2021 14:23
FastAPI secured docs (behind Basic Auth), requires `pip install passlib`
from fastapi import FastAPI
import middleware
import router
import signals
from settings import settings
def run_app():
fastapi_params = dict(

Keybase proof

I hereby claim:

  • I am metakot on github.
  • I am metakot (https://keybase.io/metakot) on keybase.
  • I have a public key ASAZqwQy2gxrQAfNu2cHvxC0DNsekUXczbvaWU4b4O7qCQo

To claim this, I am signing this object:

@metakot
metakot / settings_snippet.py
Created April 10, 2016 00:51
Django SQL log with whatever settings.DEBUG value
# assuming you have some LOGGING dictionary in settings
SQL_DEBUG = True
if SQL_DEBUG:
# enable sql debug when DEBUG is set to whatever
from django.db.backends.base.base import BaseDatabaseWrapper
BaseDatabaseWrapper.__blarg__ = BaseDatabaseWrapper.__init__
import redis
import threading
class Listener(threading.Thread):
def __init__(self, r, channels):
threading.Thread.__init__(self)
self.redis = r
self.pubsub = self.redis.pubsub()
self.pubsub.subscribe(channels)
eyJ2ZXJzaW9uIjoxLjMsImZlYXR1cmVzIjp7ImxvY2F0aW9uIjp7InJvb20iOnRydWUsIm91dHNpZGUiOnRydWUsIndvcmxkIjp0cnVlfX0sInN0b3JlcyI6eyJ3b29kIjozNDE3LCJ0ZWV0aCI6MjM5LCJiYWl0IjoxMSwibWVhdCI6MjkwLjUsInNjYWxlcyI6MTA0LCJmdXIiOjQyODYuNSwiY2xvdGgiOjE1NywiY3VyZWQgbWVhdCI6MjE1LCJjaGFybSI6MTMsImxlYXRoZXIiOjE5NTcsInRvcmNoIjo5LCJib25lIHNwZWFyIjo1LCJjb21wYXNzIjoxLCJtZWRpY2luZSI6MTQsInJ1Y2tzYWNrIjoxLCJ3YXRlcnNraW4iOjEsImwgYXJtb3VyIjoxLCJpcm9uIjo3NTUsInN0ZWVsIjo1ODQsImNhc2siOjEsIndhZ29uIjoxLCJpcm9uIHN3b3JkIjoxLCJpIGFybW91ciI6MSwic3RlZWwgc3dvcmQiOjUsImNvYWwiOjU1LCJ3YXRlciB0YW5rIjoxLCJzIGFybW91ciI6MSwiY29udm95IjoxLCJidWxsZXRzIjoyNywiYWxpZW4gYWxsb3kiOjQsInJpZmxlIjozLCJib2xhcyI6NSwiZW5lcmd5IGNlbGwiOjgsImxhc2VyIHJpZmxlIjoyfSwiY2hhcmFjdGVyIjp7InBlcmtzIjp7ImJhcmJhcmlhbiI6dHJ1ZSwiZXZhc2l2ZSI6dHJ1ZX0sInN0YXJ2ZWQiOjEsImRlaHlkcmF0ZWQiOjF9LCJpbmNvbWUiOnsiZ2F0aGVyZXIiOnsiZGVsYXkiOjEwLCJzdG9yZXMiOnsid29vZCI6MjZ9LCJ0aW1lTGVmdCI6NX0sImJ1aWxkZXIiOnsiZGVsYXkiOjEwLCJzdG9yZXMiOnsid29vZCI6Mn0sInRpbWVMZWZ0Ijo0fSwiaHVudGVyIjp7ImRlbGF5IjoxMCwic3RvcmVzIjp7ImZ1