wiki-Package
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/
- verificar que esté instalado el paquete
buildytwine
pip install build twine
- 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
- 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. - En las URLs se ve el ID
291que es el ID del proyecto decredits.