Skip to content

Instantly share code, notes, and snippets.

View xescuder's full-sized avatar
💻
Making software more reliable

xescuder

💻
Making software more reliable
View GitHub Profile
@xescuder
xescuder / config.py
Created June 4, 2023 21:40
Configuration
import os
from os import environ as env
from typing import get_type_hints, Union
from dotenv import load_dotenv
env = os.getenv('ENVIRONMENT')
dotenv_path = f'.env.{env}' if env is not None else '.env'
load_dotenv(dotenv_path=dotenv_path)
@xescuder
xescuder / orm.py
Created March 23, 2023 22:03
Exchanges, indices and stocks imperative mapping
import logging
from sqlalchemy import (Table, Column, Integer, Enum, Float, String, Date, Boolean, ForeignKey)
from sqlalchemy.orm import registry, relationship
from bot.domain import model
"""
Imperative mapping with dataclasses (models are dataclasses)
https://docs.sqlalchemy.org/en/14/orm/mapping_styles.html#imperative-mapping-with-dataclasses-and-attrs
"""
@xescuder
xescuder / config.yaml
Created March 19, 2023 23:56
Dependency injector logging configuration
core:
i18n:
language: 'es'
logging:
version: 1
formatters:
standard:
format: "%(asctime)s - %(name)s - %(levelname)s - %(message)s"
error:
format: "%(asctime)s - %(name)s - %(levelname)s <PID %(process)d:%(processName)s>\
@xescuder
xescuder / docker-compose.yml
Last active March 3, 2023 09:35
Wordpress Docker Compose
version: "3"
services:
db:
image: mysql:5.7
volumes:
- ./wp-data:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: MyR00tMySQLPa$$w0rD
MYSQL_DATABASE: MyWordPressDatabaseName
@xescuder
xescuder / date_utils.py
Last active February 13, 2023 20:32
Python date utils for building ranges and periods
from datetime import date, datetime, timedelta
from dateutil.relativedelta import relativedelta
def build_formatted_range(interval: str, range_start: date | datetime = None, range_end: date | datetime = None,
period: str = None):
new_start = range_start
new_end = range_end
if range_end is None: