aice-observability 0.2.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- aice_observability-0.2.0/.gitignore +28 -0
- aice_observability-0.2.0/CHANGELOG.md +28 -0
- aice_observability-0.2.0/PKG-INFO +806 -0
- aice_observability-0.2.0/README.md +765 -0
- aice_observability-0.2.0/docs/dashboard-specs/database.md +143 -0
- aice_observability-0.2.0/docs/dashboard-specs/external-services.md +155 -0
- aice_observability-0.2.0/docs/dashboard-specs/http-api.md +111 -0
- aice_observability-0.2.0/docs/dashboard-specs/infrastructure.md +136 -0
- aice_observability-0.2.0/docs/dashboard-specs/logs.md +163 -0
- aice_observability-0.2.0/docs/dashboard-specs/service-overview.md +141 -0
- aice_observability-0.2.0/docs/dashboard-specs/traces.md +241 -0
- aice_observability-0.2.0/docs/metrics-catalogue.md +170 -0
- aice_observability-0.2.0/docs/promql-library.md +295 -0
- aice_observability-0.2.0/docs/standards.md +409 -0
- aice_observability-0.2.0/pyproject.toml +84 -0
- aice_observability-0.2.0/src/aice_observability/__init__.py +5 -0
- aice_observability-0.2.0/src/aice_observability/ai/__init__.py +0 -0
- aice_observability-0.2.0/src/aice_observability/ai/agents.py +169 -0
- aice_observability-0.2.0/src/aice_observability/ai/evaluation.py +0 -0
- aice_observability-0.2.0/src/aice_observability/ai/instrumentation/__init__.py +0 -0
- aice_observability-0.2.0/src/aice_observability/ai/instrumentation/anthropic.py +20 -0
- aice_observability-0.2.0/src/aice_observability/ai/instrumentation/base.py +25 -0
- aice_observability-0.2.0/src/aice_observability/ai/instrumentation/gemini.py +20 -0
- aice_observability-0.2.0/src/aice_observability/ai/instrumentation/langchain.py +16 -0
- aice_observability-0.2.0/src/aice_observability/ai/instrumentation/openai.py +19 -0
- aice_observability-0.2.0/src/aice_observability/ai/instrumentation/registry.py +53 -0
- aice_observability-0.2.0/src/aice_observability/ai/instrumentation/vertexai.py +18 -0
- aice_observability-0.2.0/src/aice_observability/ai/metrics.py +216 -0
- aice_observability-0.2.0/src/aice_observability/ai/rag.py +169 -0
- aice_observability-0.2.0/src/aice_observability/ai/registry.py +0 -0
- aice_observability-0.2.0/src/aice_observability/ai/tracing.py +281 -0
- aice_observability-0.2.0/src/aice_observability/builder.py +168 -0
- aice_observability-0.2.0/src/aice_observability/core/__init__.py +0 -0
- aice_observability-0.2.0/src/aice_observability/core/config.py +69 -0
- aice_observability-0.2.0/src/aice_observability/core/exporters.py +27 -0
- aice_observability-0.2.0/src/aice_observability/core/providers.py +58 -0
- aice_observability-0.2.0/src/aice_observability/core/resources.py +28 -0
- aice_observability-0.2.0/src/aice_observability/frameworks/__init__.py +0 -0
- aice_observability-0.2.0/src/aice_observability/frameworks/django.py +7 -0
- aice_observability-0.2.0/src/aice_observability/frameworks/fastapi.py +19 -0
- aice_observability-0.2.0/src/aice_observability/frameworks/flask.py +13 -0
- aice_observability-0.2.0/src/aice_observability/integrations/__init__.py +0 -0
- aice_observability-0.2.0/src/aice_observability/integrations/asyncpg.py +20 -0
- aice_observability-0.2.0/src/aice_observability/integrations/botocore.py +17 -0
- aice_observability-0.2.0/src/aice_observability/integrations/celery.py +23 -0
- aice_observability-0.2.0/src/aice_observability/integrations/httpx.py +19 -0
- aice_observability-0.2.0/src/aice_observability/integrations/psycopg.py +17 -0
- aice_observability-0.2.0/src/aice_observability/integrations/psycopg2.py +7 -0
- aice_observability-0.2.0/src/aice_observability/integrations/redis.py +17 -0
- aice_observability-0.2.0/src/aice_observability/integrations/sqlalchemy.py +7 -0
- aice_observability-0.2.0/src/aice_observability/propagation.py +82 -0
- aice_observability-0.2.0/src/aice_observability/py.typed +0 -0
- aice_observability-0.2.0/tests/conftest.py +34 -0
- aice_observability-0.2.0/tests/core/test_config.py +41 -0
- aice_observability-0.2.0/tests/test_builder.py +42 -0
- aice_observability-0.2.0/tests/test_fastapi_instrumentation.py +74 -0
- aice_observability-0.2.0/tests/test_integrations.py +76 -0
- aice_observability-0.2.0/tests/test_propagation.py +62 -0
- aice_observability-0.2.0/uv.lock +1212 -0
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# Python bytecode / caches
|
|
2
|
+
__pycache__/
|
|
3
|
+
*.py[cod]
|
|
4
|
+
*$py.class
|
|
5
|
+
*.so
|
|
6
|
+
.Python
|
|
7
|
+
.pytest_cache/
|
|
8
|
+
.mypy_cache/
|
|
9
|
+
.ruff_cache/
|
|
10
|
+
|
|
11
|
+
# Virtualenvs & editors
|
|
12
|
+
.venv/
|
|
13
|
+
.env
|
|
14
|
+
.env.*
|
|
15
|
+
!.env.example
|
|
16
|
+
.vscode/
|
|
17
|
+
.idea/
|
|
18
|
+
.DS_Store
|
|
19
|
+
|
|
20
|
+
# Build artifacts
|
|
21
|
+
build/
|
|
22
|
+
dist/
|
|
23
|
+
*.egg-info/
|
|
24
|
+
node_modules/
|
|
25
|
+
*.tsbuildinfo
|
|
26
|
+
|
|
27
|
+
# uv / pnpm lockfiles tracked per-package don't ignore them.
|
|
28
|
+
_skills
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# Changelog aice-observability
|
|
2
|
+
|
|
3
|
+
Format loosely follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
|
|
4
|
+
|
|
5
|
+
## 0.2.0
|
|
6
|
+
|
|
7
|
+
First release on PyPI. Earlier 0.1.x uploads were withdrawn and are not
|
|
8
|
+
available.
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
- `Observability`, an OpenTelemetry bootstrap for Python services: traces,
|
|
12
|
+
metrics and logs over OTLP/HTTP, configured with `.service(name)` and the
|
|
13
|
+
standard `OTEL_*` environment variables. `OTEL_SERVICE_NAME`, when set,
|
|
14
|
+
overrides `.service(name)` and is enough on its own for `.start()`.
|
|
15
|
+
`OTEL_EXPORTER_OTLP_HEADERS` values are percent-decoded, as the OTel spec
|
|
16
|
+
requires.
|
|
17
|
+
- Instrumentation for FastAPI, Flask, Django, SQLAlchemy, httpx, Redis,
|
|
18
|
+
psycopg2, Psycopg 3, asyncpg, botocore (boto3 / S3 / MinIO), Celery,
|
|
19
|
+
logging and system metrics. Each integration skips quietly when the library
|
|
20
|
+
it instruments is absent. `instrument_fastapi()` and `instrument_flask()`
|
|
21
|
+
must run before the app serves its first request, and don't need `.start()`
|
|
22
|
+
first.
|
|
23
|
+
- `aice_observability.propagation`: `inject_context()`, `extract_context()`
|
|
24
|
+
and `continue_trace()` for carrying a trace across a hand-rolled queue (a
|
|
25
|
+
Postgres job table, pgmq). A missing or malformed carrier starts a new trace.
|
|
26
|
+
- AI telemetry: `ai.agents.invoke_agent()` / `execute_tool()` (with
|
|
27
|
+
`extra_attributes`) and `ai.metrics.record_budget_event(kind)`
|
|
28
|
+
(`gen_ai.budget.events` counter).
|