set AWS env. variables
export ASSUME_ROLE_ARN="arn:aws:iam::000000000000:role/role00001"
export AWS_ACCESS_KEY_ID="..."
export AWS_SECRET_ACCESS_KEY="..."
# syntax=docker/dockerfile:1 | |
# Keep this syntax directive! It's used to enable Docker BuildKit | |
# Based on https://github.com/python-poetry/poetry/discussions/1879?sort=top#discussioncomment-216865 | |
# but I try to keep it updated (see history) | |
################################ | |
# PYTHON-BASE | |
# Sets up all our shared environment variables | |
################################ |
import json | |
import logging | |
import platform | |
import sys | |
import time | |
import traceback | |
class JSONFormatter: | |
"""A formatter for the standard logging module that converts a LogRecord into JSON |
import datetime | |
import uuid | |
import psycopg2.extras | |
from sqlalchemy import Column, MetaData, Table | |
from sqlalchemy.types import Integer, DateTime, TypeDecorator | |
from sqlalchemy.dialects.postgresql import ARRAY, array | |
from sqlalchemy.dialects.postgresql import UUID | |
from sqlalchemy.sql.expression import cast, literal, select |
from collections import namedtuple | |
from marshmallow import Schema | |
from marshmallow.decorators import post_load | |
def class_and_schema(class_name, fields): | |
"""Create a class and its marshmallow schema. | |
Example:: |
/CHANGELOG merge=union |