Skip to content

Instantly share code, notes, and snippets.

#!/usr/bin/env python3
import asyncio
import hashlib
import json
import logging
import pathlib
from playwright.async_api import async_playwright
import bs4 # beautifulsoup4
@nvllsvm
nvllsvm / zstd_sqlitedict.py
Created November 15, 2022 20:09
sqlitedict + zstandard compression (w/ immediatey disk writes)
import sqlitedict
import zstandard
def zstd_sqlitedict(*args, **kwargs):
return sqlitedict.SqliteDict(
*args,
decode=lambda obj: sqlitedict.decode(zstandard.decompress(obj)),
encode=lambda obj: zstandard.compress(bytes(sqlitedict.encode(obj))),
autocommit=True,
FROM python:3.10-alpine
RUN wget -O - https://releases.hashicorp.com/envconsul/0.12.1/envconsul_0.12.1_linux_amd64.zip | unzip -d /usr/bin - \
&& chmod +x /usr/bin/envconsul
COPY example.py /example.py
ENTRYPOINT ["/usr/bin/envconsul", "-log-level=debug", "-prefix=test"]
CMD ["python", "/example.py"]
import os
import unittest
import yarl
import aiohttp.test_utils
from jellyspine.__main__ import get_app
UPSTREAM = yarl.URL(os.environ['JELLYSPINE_UPSTREAM_URL'])
WEB_DIR = 'jellyfin-web'
@nvllsvm
nvllsvm / json_vs_msgpack.py
Last active April 9, 2024 17:56
Benchmark JSON and MessagePack encoding/decoding times and result sizes
#!/usr/bin/env python3
import json
import gzip
import time
import brotli
import msgpack
import tabulate
import umsgpack
import zstd
2
@nvllsvm
nvllsvm / jellyfin_api.json
Last active October 26, 2019 17:20
Rough description of the Jellyfin HTTP API. Some parts are probably inaccurate.
{
"/Albums/{Id}/InstantMix": {
"GET": {
"authenticated": false,
"hidden": false,
"members": [],
"summary": "Creates an instant playlist based on a given album"
}
},
"/Artists": {
version: '2.4'
services:
example:
image: python:alpine
command: ['sh', '-c', 'pip install rabbitpy && python /example/example.py']
volumes:
- ./:/example
rabbitmq:
#!/usr/bin/env python3
import argparse
import concurrent.futures
import json
import logging
import subprocess
LOGGER = logging.getLogger('docker-healthchecker')
#!/usr/bin/env sh
decode_audio() {
openssl base64 -d << EOF
T2dnUwACAAAAAAAAAACszaAOAAAAAAUPz3gBE09wdXNIZWFkAQE4AUSsAAAAAABPZ2dTAAAAAAAA
AAAAAKzNoA4BAAAAqDEz8wP///5PcHVzVGFncx0AAABsaWJvcHVzIDEuMywgbGlib3B1c2VuYyAw
LjIuMQIAAAAjAAAARU5DT0RFUj1vcHVzZW5jIGZyb20gb3B1cy10b29scyAwLjI6AAAARU5DT0RF
Ul9PUFRJT05TPS0tZnJhbWVzaXplIDYwIC0tYml0cmF0ZSAxNiAtLWRvd25taXgtbW9ubwAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA