Skip to content

API con autentificación para construir el sitio web.

License

Notifications You must be signed in to change notification settings

PJECZ/pjecz-hercules-api-key

Repository files navigation

pjecz-hercules-api-key

API de uso público para consultar edictos, listas de acuerdos, sentencias, etc.

Para solicitar un api-key escriba a informatica en pjecz.gob.mx.

Requerimientos

Los requerimientos son

  • Python 3.11
  • PostgreSQL 15

Instalación

Crear el entorno virtual

python3.11 -m venv .venv

Ingresar al entorno virtual

source venv/bin/activate

Actualizar el gestor de paquetes pip

pip install --upgrade pip setuptools

Instalar el paquete wheel para compilar las dependencias

pip install wheel

Instalar poetry 2 en el entorno virtual si no lo tiene desde el sistema operativo

pip install poetry

Configurar poetry para que use el entorno virtual dentro del directorio del proyecto

poetry config virtualenvs.in-project true

Instalar las dependencias por medio de poetry

poetry install

Configuración

Crear un archivo .env en la raíz del proyecto con las variables de entorno

# Base de datos
DB_HOST=127.0.0.1
DB_PORT=5432
DB_NAME=pjecz_plataforma_web
DB_USER=XXXXXXXXXXXX
DB_PASS=XXXXXXXXXXXX

# Google Cloud Storage
CLOUD_STORAGE_DEPOSITO=XXXXXXXXXXXX
CLOUD_STORAGE_DEPOSITO_EDICTOS=XXXXXXXXXXXX
CLOUD_STORAGE_DEPOSITO_GLOSAS=XXXXXXXXXXXX
CLOUD_STORAGE_DEPOSITO_LISTAS_DE_ACUERDOS=XXXXXXXXXXXX
CLOUD_STORAGE_DEPOSITO_SENTENCIAS=XXXXXXXXXXXX
CLOUD_STORAGE_DEPOSITO_USUARIOS=XXXXXXXXXXXX

# Origins
ORIGINS=http://localhost:3000

# Salt sirve para cifrar el ID con HashID, debe ser igual en la API
SALT=XXXXXXXXXXXX

Crear un archivo .bashrc que cargue las variables de entorno y el entorno virtual

if [ -f ~/.bashrc ]
then
    . ~/.bashrc
fi

if command -v figlet &> /dev/null
then
    figlet Hercules API key
else
    echo "== Hercules API key"
fi
echo

if [ -f .env ]
then
    echo "-- Variables de entorno"
    export $(grep -v '^#' .env | xargs)
    # source .env && export $(sed '/^#/d' .env | cut -d= -f1)
    echo "   DB_HOST: ${DB_HOST}"
    echo "   DB_PORT: ${DB_PORT}"
    echo "   DB_NAME: ${DB_NAME}"
    echo "   DB_USER: ${DB_USER}"
    echo "   DB_PASS: ${DB_PASS}"
    echo "   ORIGINS: ${ORIGINS}"
    echo "   SALT: ${SALT}"
    echo
    export PGHOST=$DB_HOST
    export PGPORT=$DB_PORT
    export PGDATABASE=$DB_NAME
    export PGUSER=$DB_USER
    export PGPASSWORD=$DB_PASS
fi

if [ -d .venv ]
then
    echo "-- Python Virtual Environment"
    source .venv/bin/activate
    echo "   $(python3 --version)"
    export PYTHONPATH=$(pwd)
    echo "   PYTHONPATH: ${PYTHONPATH}"
    echo
    echo "-- Poetry"
    export PYTHON_KEYRING_BACKEND=keyring.backends.null.Keyring
    echo "   $(poetry --version)"
    echo
    echo "-- FastAPI 127.0.0.1:8000"
    alias arrancar="uvicorn --host=127.0.0.1 --port 8000 --reload pjecz_hercules_api_key.main:app"
    echo "   arrancar"
    echo
    if [ -d tests ]
    then
        echo "-- Pruebas unitarias"
        echo "   python3 -m unittest discover"
        echo
    fi
fi

Arrancar

Cargar las variables de entorno y el entorno virtual

source .bashrc

Lanzar FastAPI por medio del alias que se cargó en el source .bashrc

arrancar

About

API con autentificación para construir el sitio web.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages