Saltar al contenido principal

wiki-Package

Ver en Git


Package

Package aura_credits

Uso

from aura_credits import CreditConsumption, CreditException, config_credits_service
import settings

# configurar la url del host de credits y el timeout
config_credits_service(settings.get('CREDITS_SERVICE_HOST'), timeout=5)

try: # este try representa el try de AuraResource de flask

save_credit = CreditConsumption(
credit_name='ZONING',
user_id=123,
amount=1.2)
save_credit.validate() # levanta error si no dispone de créditos

# realizar acción
# ...

save_credit.consume() # levanta error si no dispone de créditos

except CreditException as e:
print({"res": "error", "code": e.code, "info": e.msg, 'data': e.data})

Las funciones están bien documentadas, por lo que se puede consultar el código.

Distribución

Todo el código de package va dentro del directorio aura_credits.

La configuración del package se especifica en el archivo pyproject.toml

Como publicar una nueva versión

IMPORTANTE!

Antes que nada el archivo pyproject.toml debe ser actualizado con el nuevo número de versión.

Desde CI/CD

Idealmente esto se hace desde un Job en CI/CD. Por ahora se hace manual, pero leer sobre la implementación aca: https://docs.gitlab.com/ee/user/packages/pypi_repository/#publish-a-pypi-package

Manualmente

Desde el directorio package/

  1. verificar que esté instalado el paquete build y twine
pip install build twine
  1. Buildear
python -m build

Esto generará archivos en el directorio dist/, numerados con la version correspondiente. 3. Configurar credenciales. En el archivo .pypirc se encuentran las keys username y password configuradas para el Job de CI/CD. Para subir manualmente es necesario cambiar esos valores por las credenciales de git. Recordar que password es el token con sólo el scope api (sino fallará al subir). 4. Subir.

python3 -m twine upload --config-file .pypirc --verbose --repository gitlab dist/aura_credits-x.y.z*

Notar que en este comando está indicada la versión x.y.z. Se puede indicar directamente el directorio completo pero intentará subir todos los archivos que estén dentro. 5. Instalar: DDL REPLICA AURAVANTDB.SQL README.md core docker docker-compose.yml docs docs_DEPRECATED package requirements.dev.txt requirements.txt run.py source tests tests.sh con pip:

pip install --index-url https://git.auravant.com/api/v4/projects/291/packages/pypi/simple aura_credits==x.y.z

DDL REPLICA AURAVANTDB.SQL README.md core docker docker-compose.yml docs docs_DEPRECATED package requirements.dev.txt requirements.txt run.py source tests tests.sh en requirements.txt:

--index-url https://git.auravant.com/api/v4/projects/291/packages/pypi/simple aura_credits==x.y.z

Notas

  1. El repositorio está configurado para que los packages sean públicos y no necesiten autenticación. Alternativamente, por default, los packages son privados y requieren autenticación al instalarlos con pip.
  2. En las URLs se ve el ID 291 que es el ID del proyecto de credits.