Skip to content

Instantly share code, notes, and snippets.

View pybites's full-sized avatar

Pybites pybites

View GitHub Profile
# brew or apt-get install gh jq fzf
CACHE_DURATION=$((60*60*24*3)) # 3 days in seconds
if [ ! -f "$CACHE_FILE" ] || [ $(( $(date +%s) - $(stat -c %Y "$CACHE_FILE") )) -ge $CACHE_DURATION ]; then
echo "Refreshing cache..."
gh api user/repos --paginate > "$CACHE_FILE"
from typing import Protocol
class PybitesSearchProtocol(Protocol):
def match_content(self, search: str) -> list[str]:
"""Implement in subclass to search Pybites content"""
class CompleteSearch:
def match_content(self, search: str) -> list[str]:
# Implementation of search method
# prior step done:
# python dumpdata auth.User --output=users.json --format=json
from collections import Counter
import json
import plotext as plt
def aggregate_users_by_year_month(filename="users.json"):
cnt = Counter()
from import BaseCommand
import feedparser
from django.db.utils import IntegrityError
from blog.models import Article
class Command(BaseCommand):
>>> def gen():
... yield from [1, 2, 3]
>>> g = gen()
>>> for i in g: print(i)
# generator exhausted:
- repo:
rev: v4.0.1
- id: check-yaml
- id: end-of-file-fixer
- id: trailing-whitespace
- id: debug-statements
- repo:
import cProfile
from functools import wraps
from pstats import Stats, SortKey
from time import time
def timing(f):
"""A simple timer decorator"""
def wrapper(*args, **kwargs):
"""Script to retrieve new titles from O'Reilly Media (formerly Safari Books Online)"""
from collections import namedtuple
from pathlib import Path
from datetime import datetime, timedelta
from urllib.request import urlretrieve
from xml.etree.ElementTree import parse
DT_FMT = "%a, %d %b %Y %H:%M:%S"
import asyncio
import os
import aiofiles
import aiohttp
# saved links from in urls
URLS = [u.rstrip() for u in open('urls', 'r').readlines()]
async def fetch(session, url):
from importlib import import_module
from keyword import kwlist
import builtins
from typing import Dict, List
scores = {
"builtin": 1,
"keyword": 2,
"module": 3,