Skip to content

Instantly share code, notes, and snippets.

View DahlitzFlorian's full-sized avatar
🎯
Focused

Florian Dahlitz DahlitzFlorian

🎯
Focused
View GitHub Profile
import click
from tool import __version__
@click.group()
@click.version_option(
__version__, "-V", "--version", message="%(prog)s, version %(version)s"
)
@click.pass_context
"""
A module including custom decorators.
"""
from . import __version__
def add_version(f):
"""
Add the version of the tool to the help heading.
import click
from tool import __version__
from tool.custom_decorators import add_version
@click.group()
@click.version_option(
__version__, "-V", "--version", message="%(prog)s, version %(version)s"
)
@DahlitzFlorian
DahlitzFlorian / Dockerfile
Last active March 31, 2022 10:56
Run Python application as non-root in Docker - requirements.txt
FROM python:3.7.2-alpine
RUN pip install --upgrade pip
RUN adduser -D worker
USER worker
WORKDIR /home/worker
COPY --chown=worker:worker requirements.txt requirements.txt
RUN pip install --user -r requirements.txt
@DahlitzFlorian
DahlitzFlorian / Dockerfile
Last active March 23, 2019 19:22
Run Python application as non-root in Docker - Pipenv
FROM python:3.7.2-alpine
RUN pip install --upgrade pip
RUN adduser -D worker
USER worker
WORKDIR /home/worker
RUN pip install --user pipenv
@DahlitzFlorian
DahlitzFlorian / main.py
Last active April 8, 2019 07:50
list.sort() vs. sorted(list) article - Memory Consumption
import random
import resource
import sys
import time
from sniffing import FunctionSniffingClass
def list_sort(arr):
return arr.sort()
@DahlitzFlorian
DahlitzFlorian / main.py
Last active April 8, 2019 07:51
list.sort() vs. sorted(list) article - Speed
import random
from boxx import timeit
def list_sort(arr):
return arr.sort()
def sorted_builtin(arr):
@DahlitzFlorian
DahlitzFlorian / timer_class.py
Created April 23, 2019 19:36
Article: How To Create Your Own Timing Context Manager
from time import time
class Timer(object):
def __init__(self, description):
self.description = description
def __enter__(self):
self.start = time()
def __exit__(self, type, value, traceback):
self.end = time()
@DahlitzFlorian
DahlitzFlorian / timing_generator.py
Last active April 23, 2019 19:38
Article: How To Create Your Own Timing Context Manager
from contextlib import contextmanager
from time import time
@contextmanager
def timing(description: str) -> None:
start = time()
yield
ellapsed_time = time() - start
@DahlitzFlorian
DahlitzFlorian / timeit_example.py
Created April 24, 2019 20:44
Article: How To Create Your Own Timing Context Manager
def test():
"""Stupid test function"""
L = [i for i in range(100)]
if __name__ == '__main__':
import timeit
print(timeit.timeit("test()", setup="from __main__ import test"))