This release is a pre-release and may not be stable for production use.
argus-obs-sdk
SDK de observabilidad de Argus para aplicaciones.
pip install argus-obs-sdk
import argus
El nombre de instalación y el de importación no coinciden, y conviene decirlo antes que nada. Se instala
argus-obs-sdky se importaargus.El prefijo
-obs-es deliberado: elegimos nombres que no existían en PyPI para que un fallo del índice no acabara instalando el paquete de un desconocido con el nombre que esperábamos. El módulo conservó el nombre corto porque es lo que se escribe cien veces.Va arriba porque es lo primero con lo que tropieza quien lo adopta.
import argus
argus.init()
Eso configura resource, trazas, métricas, logs, propagadores y todas las auto-instrumentaciones disponibles, leyendo la configuración del entorno.
Para servicios ASGI, una línea más:
app.add_middleware(argus.middleware(app).__class__) # o ASGIMiddleware directo
Si escribes una librería, no uses este paquete
Usa argus-semconv, que depende solo de
opentelemetry-api. Una librería que depende del SDK impone en silencio su
versión del SDK y sus opiniones sobre exportadores a todo el que dependa de
ella.
El contrato
Verificado por tests en tests/test_contract.py, no por buenas intenciones:
- Nunca tumba la aplicación. Si el Collector está caído, la app pierde telemetría, nunca latencia ni memoria.
- Idempotente.
init()dos veces es no-op la segunda. - No-op sin configurar. Los decoradores funcionan con coste cero.
- Cero configuración en el caso normal. Todo viene del entorno.
- Superficie pública mínima, fijada por test.
Variables de entorno
El contrato es de entorno, no de API de Python: un componente Go y uno Python se configuran copiando el mismo bloque.
| Variable | Significado | Por defecto |
|---|---|---|
ARGUS_SERVICE |
El sub-componente (service.name) |
unknown-service |
ARGUS_NAMESPACE |
La aplicación (service.namespace) |
= servicio |
ARGUS_ROLE |
api/worker/scheduler/cli/model-server/frontend |
api |
ARGUS_VERSION |
Versión del componente | — |
ARGUS_ENVIRONMENT |
mac-dev, imac, server-1, ci |
local |
ARGUS_ENDPOINT |
Collector agente local | http://localhost:4317 |
ARGUS_PROTOCOL |
grpc | http/protobuf |
grpc |
ARGUS_PROPAGATE |
never | trusted | always |
never |
ARGUS_TRUSTED_CIDRS |
CIDRs de confianza, separados por coma | — |
ARGUS_CAPTURE_CONTENT |
Capturar prompts y respuestas | false |
ARGUS_SLO_MS |
Umbral de latencia del componente | 0 (sin umbral) |
ARGUS_DISABLED |
Apagar toda la telemetría | false |
Las estándar de OpenTelemetry (OTEL_SERVICE_NAME,
OTEL_EXPORTER_OTLP_ENDPOINT, OTEL_RESOURCE_ATTRIBUTES) también se respetan,
para que una app que ya tiene OTel migre sin tocar código.
Por qué localhost y no el plano central
Las aplicaciones exportan siempre al Collector agente de su propia máquina. Nunca conocen la dirección del plano central. Eso da tres propiedades:
- Mover el plano central de una máquina a otra no toca ni una aplicación.
- Si el central está suspendido, las apps no se enteran ni se ralentizan: el agente local escribe a disco y envía cuando vuelve la conexión.
- Añadir una máquina es desplegar un agente, no reconfigurar apps.
Release files for argus-obs-sdk 1.0.0a6
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| argus_obs_sdk-1.0.0a6.tar.gz | 38.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| argus_obs_sdk-1.0.0a6-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 71.7 kB
Release files / argus_obs_sdk-1.0.0a6.tar.gz
| Download URL | argus_obs_sdk-1.0.0a6.tar.gz |
|---|---|
| Size | 38.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b0bb21101670f50512def6f360b8a0f255108a0b4643aac70169456c5197f86f
|
|
BLAKE2b-256 checksum How to use checksums |
5e6e6b872c3a50a736b9ae3ebe512ef099c4f466b73e8c2fb61e7300c52309f4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 26, 2026.
Transparency logRelease files / argus_obs_sdk-1.0.0a6-py3-none-any.whl
| Download URL | argus_obs_sdk-1.0.0a6-py3-none-any.whl |
|---|---|
| Size | 32.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ba42be734bcfb05d5f8dda9e19ff9d72ba1af1a9f8e75cc052a9de6b0106c9ed
|
|
BLAKE2b-256 checksum How to use checksums |
80e72b225cb2377c2a6d59a1a9033903b13e85549b75071c0f71226d37c88569
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 26, 2026.
Transparency log