Ir al contenido

Metadatos y compatibilidad de Orionis

Usa orionis.metadata para mostrar la versión instalada del framework en el diagnóstico de tu aplicación, una pantalla de información o un comando. Los valores proceden del paquete instalado; importarlos no necesita iniciar la aplicación, un archivo de configuración ni una petición de red.

Este ejemplo completo funciona donde Orionis esté instalado:

from orionis.metadata import NAME, PYTHON_REQUIRES, VERSION
required_python = ".".join(map(str, PYTHON_REQUIRES))
print(f"{NAME} {VERSION}; Python {required_python}+")

VERSION identifica el framework Orionis instalado, no la versión de tu aplicación. Mantén separados ambos versionados. PYTHON_REQUIRES representa el mínimo del intérprete como tupla, actualmente (3, 14).

ConstanteUso desde la aplicación
NAMEIdentidad de distribución/importación, orionis.
VERSIONCadena de versión del framework instalado.
DESCRIPTIONDescripción del framework.
AUTHOR / AUTHOR_EMAILIdentidad y contacto de su mantenedor.
PYTHON_REQUIRESTupla (major, minor) mínima de Python.
APIEndpoint JSON de PyPI para la distribución.
DOCSRaíz de la documentación.
FRAMEWORKRepositorio fuente del framework.
SKELETONRepositorio del esqueleto de aplicación.

Las cadenas y la tupla son metadatos de la versión; trátalas como valores de solo lectura. API apunta a metadatos del paquete en PyPI, no a una API de tu aplicación ni al sitio de referencia API del framework. Importar una constante URL no contacta ese destino ni comprueba su disponibilidad.

import sys
from orionis.metadata import PYTHON_REQUIRES
running = sys.version_info[: len(PYTHON_REQUIRES)]
if running < PYTHON_REQUIRES:
required = ".".join(map(str, PYTHON_REQUIRES))
raise RuntimeError(f"Orionis requires Python {required}+")

Compara la misma cantidad de componentes. La instalación normal ya aplica requires-python; esta comprobación resulta útil para un diagnóstico o lanzador independiente. Un wheel instalado puede no contener el pyproject.toml del repositorio, así que usa las constantes exportadas en vez de buscar ese archivo desde tu aplicación.

VERSION es una cadena de versión, no un parser PEP 440 ni una consulta de funcionalidades soportadas. Determina el comportamiento a partir de la documentación y API pública de la versión instalada. El módulo no tiene configuración, proveedor, fachada ni estado por petición.

Referencia de implementación: framework.py.