progress-observability 1.2.0__tar.gz → 1.4.3__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.
Files changed (141) hide show
  1. progress_observability-1.4.3/.python-version +1 -0
  2. progress_observability-1.4.3/PKG-INFO +119 -0
  3. progress_observability-1.4.3/README.md +101 -0
  4. progress_observability-1.4.3/notices.txt +908 -0
  5. {progress_observability-1.2.0 → progress_observability-1.4.3}/pyproject.toml +2 -2
  6. {progress_observability-1.2.0 → progress_observability-1.4.3}/src/progress/observability/__init__.py +5 -1
  7. {progress_observability-1.2.0 → progress_observability-1.4.3}/src/progress/observability/constants.py +4 -0
  8. progress_observability-1.4.3/src/progress/observability/decorators.py +205 -0
  9. progress_observability-1.4.3/src/progress/observability/genai_message_processor.py +861 -0
  10. {progress_observability-1.2.0 → progress_observability-1.4.3}/src/progress/observability/helpers.py +26 -1
  11. {progress_observability-1.2.0 → progress_observability-1.4.3}/src/progress/observability/model_fix_processor.py +103 -36
  12. {progress_observability-1.2.0 → progress_observability-1.4.3}/src/progress/observability/sdk.py +66 -9
  13. progress_observability-1.4.3/src/progress/observability/tags.py +214 -0
  14. {progress_observability-1.2.0/sample_apps → progress_observability-1.4.3}/uv.lock +539 -1134
  15. progress_observability-1.2.0/.python-version +0 -1
  16. progress_observability-1.2.0/PKG-INFO +0 -69
  17. progress_observability-1.2.0/README.md +0 -51
  18. progress_observability-1.2.0/build-python-instrumentation.sh +0 -18
  19. progress_observability-1.2.0/notices.txt +0 -1424
  20. progress_observability-1.2.0/progress.python.instrumentation.tests/.gitignore +0 -20
  21. progress_observability-1.2.0/progress.python.instrumentation.tests/README.md +0 -131
  22. progress_observability-1.2.0/progress.python.instrumentation.tests/pyproject.toml +0 -40
  23. progress_observability-1.2.0/progress.python.instrumentation.tests/src/direct_provider_calls/tests/cassettes/test_multi_model_agents_ollama_dpc/instrument_auto-gemma2-2b-qwen2.5-3b.yaml +0 -164
  24. progress_observability-1.2.0/progress.python.instrumentation.tests/src/direct_provider_calls/tests/cassettes/test_multi_model_agents_openai_dpc/instrument_auto-gpt-4.1-nano-gpt-4o-mini.yaml +0 -209
  25. progress_observability-1.2.0/progress.python.instrumentation.tests/src/direct_provider_calls/tests/cassettes/test_multi_model_agents_openai_dpc/instrument_auto-gpt-4o-gpt-4o-mini.yaml +0 -194
  26. progress_observability-1.2.0/progress.python.instrumentation.tests/src/direct_provider_calls/tests/cassettes/test_multi_model_agents_openai_dpc/instrument_openai-gpt-4.1-nano-gpt-4o-mini.yaml +0 -211
  27. progress_observability-1.2.0/progress.python.instrumentation.tests/src/direct_provider_calls/tests/cassettes/test_multi_model_agents_openai_dpc/instrument_openai-gpt-4o-gpt-4o-mini.yaml +0 -199
  28. progress_observability-1.2.0/progress.python.instrumentation.tests/src/direct_provider_calls/tests/cassettes/test_simple_agents_bedrock_dpc/simple_agent_cs45-bedrock.yaml +0 -57
  29. progress_observability-1.2.0/progress.python.instrumentation.tests/src/direct_provider_calls/tests/cassettes/test_simple_agents_ollama_dpc/simple_agent_gemma2-2b.yaml +0 -71
  30. progress_observability-1.2.0/progress.python.instrumentation.tests/src/direct_provider_calls/tests/cassettes/test_simple_agents_ollama_dpc/simple_agent_qwen2.5-3b.yaml +0 -71
  31. progress_observability-1.2.0/progress.python.instrumentation.tests/src/direct_provider_calls/tests/cassettes/test_simple_agents_openai_dpc/simple_agent_gpt-4.1-nano.yaml +0 -95
  32. progress_observability-1.2.0/progress.python.instrumentation.tests/src/direct_provider_calls/tests/cassettes/test_simple_agents_openai_dpc/simple_agent_gpt-4o-mini.yaml +0 -93
  33. progress_observability-1.2.0/progress.python.instrumentation.tests/src/direct_provider_calls/tests/cassettes/test_simple_agents_openai_dpc/simple_agent_gpt-4o.yaml +0 -93
  34. progress_observability-1.2.0/progress.python.instrumentation.tests/src/direct_provider_calls/tests/cassettes/test_two_provider_agent_anthropic_openai_dpc/instrument_auto-cs4-0514-gpt4o.yaml +0 -249
  35. progress_observability-1.2.0/progress.python.instrumentation.tests/src/direct_provider_calls/tests/cassettes/test_two_provider_agent_ollama_openai_dpc/instrument_auto-gpt-4o-mini-gemma2-2b.yaml +0 -191
  36. progress_observability-1.2.0/progress.python.instrumentation.tests/src/direct_provider_calls/tests/conftest.py +0 -15
  37. progress_observability-1.2.0/progress.python.instrumentation.tests/src/direct_provider_calls/tests/test_multi_model_agents_ollama_dpc.py +0 -141
  38. progress_observability-1.2.0/progress.python.instrumentation.tests/src/direct_provider_calls/tests/test_multi_model_agents_openai_dpc.py +0 -143
  39. progress_observability-1.2.0/progress.python.instrumentation.tests/src/direct_provider_calls/tests/test_simple_agents_bedrock_dpc.py +0 -155
  40. progress_observability-1.2.0/progress.python.instrumentation.tests/src/direct_provider_calls/tests/test_simple_agents_ollama_dpc.py +0 -124
  41. progress_observability-1.2.0/progress.python.instrumentation.tests/src/direct_provider_calls/tests/test_simple_agents_openai_dpc.py +0 -126
  42. progress_observability-1.2.0/progress.python.instrumentation.tests/src/direct_provider_calls/tests/test_two_provider_agent_anthropic_openai_dpc.py +0 -159
  43. progress_observability-1.2.0/progress.python.instrumentation.tests/src/direct_provider_calls/tests/test_two_provider_agent_ollama_openai_dpc.py +0 -156
  44. progress_observability-1.2.0/progress.python.instrumentation.tests/src/framework_haystack/tests/cassettes/test_multi_model_agents_ollama_fh/instrument_auto-gemma2-2b-qwen2.5-3b.yaml +0 -111
  45. progress_observability-1.2.0/progress.python.instrumentation.tests/src/framework_haystack/tests/cassettes/test_multi_model_agents_openai_fh/instrument_auto-gpt-4.1-nano-gpt-4o-mini.yaml +0 -218
  46. progress_observability-1.2.0/progress.python.instrumentation.tests/src/framework_haystack/tests/cassettes/test_multi_model_agents_openai_fh/instrument_auto-gpt-4o-gpt-4o-mini.yaml +0 -206
  47. progress_observability-1.2.0/progress.python.instrumentation.tests/src/framework_haystack/tests/cassettes/test_simple_agents_bedrock_fh/simple_agent_cs45-bedrock.yaml +0 -53
  48. progress_observability-1.2.0/progress.python.instrumentation.tests/src/framework_haystack/tests/cassettes/test_simple_agents_ollama_fh/simple_agent_gemma2-2b.yaml +0 -37
  49. progress_observability-1.2.0/progress.python.instrumentation.tests/src/framework_haystack/tests/cassettes/test_simple_agents_ollama_fh/simple_agent_qwen2.5-3b.yaml +0 -37
  50. progress_observability-1.2.0/progress.python.instrumentation.tests/src/framework_haystack/tests/cassettes/test_simple_agents_openai_fh/simple_agent_gpt-4.1-nano.yaml +0 -87
  51. progress_observability-1.2.0/progress.python.instrumentation.tests/src/framework_haystack/tests/cassettes/test_simple_agents_openai_fh/simple_agent_gpt-4o-mini.yaml +0 -87
  52. progress_observability-1.2.0/progress.python.instrumentation.tests/src/framework_haystack/tests/cassettes/test_simple_agents_openai_fh/simple_agent_gpt-4o.yaml +0 -87
  53. progress_observability-1.2.0/progress.python.instrumentation.tests/src/framework_haystack/tests/cassettes/test_two_provider_agent_anthropic_openai_fh/instrument_auto-cs35-1022-gpt4o.yaml +0 -227
  54. progress_observability-1.2.0/progress.python.instrumentation.tests/src/framework_haystack/tests/cassettes/test_two_provider_agent_ollama_openai_fh/instrument_auto-gemma2-2b-gpt-4.1-nano.yaml +0 -172
  55. progress_observability-1.2.0/progress.python.instrumentation.tests/src/framework_haystack/tests/cassettes/test_two_provider_agent_ollama_openai_fh/instrument_auto-qwen2.5-3b-gpt-4.1-nano.yaml +0 -147
  56. progress_observability-1.2.0/progress.python.instrumentation.tests/src/framework_haystack/tests/conftest.py +0 -21
  57. progress_observability-1.2.0/progress.python.instrumentation.tests/src/framework_haystack/tests/test_multi_model_agents_ollama_fh.py +0 -145
  58. progress_observability-1.2.0/progress.python.instrumentation.tests/src/framework_haystack/tests/test_multi_model_agents_openai_fh.py +0 -155
  59. progress_observability-1.2.0/progress.python.instrumentation.tests/src/framework_haystack/tests/test_simple_agents_bedrock_fh.py +0 -147
  60. progress_observability-1.2.0/progress.python.instrumentation.tests/src/framework_haystack/tests/test_simple_agents_ollama_fh.py +0 -123
  61. progress_observability-1.2.0/progress.python.instrumentation.tests/src/framework_haystack/tests/test_simple_agents_openai_fh.py +0 -126
  62. progress_observability-1.2.0/progress.python.instrumentation.tests/src/framework_haystack/tests/test_two_provider_agent_anthropic_openai_fh.py +0 -169
  63. progress_observability-1.2.0/progress.python.instrumentation.tests/src/framework_haystack/tests/test_two_provider_agent_ollama_openai_fh.py +0 -165
  64. progress_observability-1.2.0/progress.python.instrumentation.tests/src/framework_langchain/tests/cassettes/test_multi_model_agents_ollama_fl/instrument_auto-gemma2-2b-qwen2.5-3b.yaml +0 -1953
  65. progress_observability-1.2.0/progress.python.instrumentation.tests/src/framework_langchain/tests/cassettes/test_multi_model_agents_openai_fl/instrument_auto-gpt-4.1-nano-gpt-4o-mini.yaml +0 -185
  66. progress_observability-1.2.0/progress.python.instrumentation.tests/src/framework_langchain/tests/cassettes/test_multi_model_agents_openai_fl/instrument_auto-gpt-4o-gpt-4o-mini.yaml +0 -205
  67. progress_observability-1.2.0/progress.python.instrumentation.tests/src/framework_langchain/tests/cassettes/test_simple_agents_anthropic_fl/simple_agent_claude-sonnet-4-20250514.yaml +0 -108
  68. progress_observability-1.2.0/progress.python.instrumentation.tests/src/framework_langchain/tests/cassettes/test_simple_agents_bedrock_fl/simple_agent_cs45-bedrock.yaml +0 -45
  69. progress_observability-1.2.0/progress.python.instrumentation.tests/src/framework_langchain/tests/cassettes/test_simple_agents_ollama_fl/simple_agent_gemma2-2b.yaml +0 -43
  70. progress_observability-1.2.0/progress.python.instrumentation.tests/src/framework_langchain/tests/cassettes/test_simple_agents_ollama_fl/simple_agent_qwen2.5-3b.yaml +0 -57
  71. progress_observability-1.2.0/progress.python.instrumentation.tests/src/framework_langchain/tests/cassettes/test_simple_agents_openai_fl/simple_agent_gpt-4.1-nano.yaml +0 -87
  72. progress_observability-1.2.0/progress.python.instrumentation.tests/src/framework_langchain/tests/cassettes/test_simple_agents_openai_fl/simple_agent_gpt-4o-mini.yaml +0 -87
  73. progress_observability-1.2.0/progress.python.instrumentation.tests/src/framework_langchain/tests/cassettes/test_simple_agents_openai_fl/simple_agent_gpt-4o.yaml +0 -87
  74. progress_observability-1.2.0/progress.python.instrumentation.tests/src/framework_langchain/tests/cassettes/test_two_provider_agent_anthropic_bedrock_fl/instrument_auto-cs4-0514-cs45-bedrock.yaml +0 -198
  75. progress_observability-1.2.0/progress.python.instrumentation.tests/src/framework_langchain/tests/cassettes/test_two_provider_agent_anthropic_openai_fl/instrument_auto-cs4-0514-gpt4o.yaml +0 -275
  76. progress_observability-1.2.0/progress.python.instrumentation.tests/src/framework_langchain/tests/cassettes/test_two_provider_agent_ollama_openai_fl/instrument_auto-gemma2-2b-gpt-4.1-nano.yaml +0 -463
  77. progress_observability-1.2.0/progress.python.instrumentation.tests/src/framework_langchain/tests/cassettes/test_two_provider_agent_ollama_openai_fl/instrument_auto-qwen2.5-3b-gpt-4.1-nano.yaml +0 -164
  78. progress_observability-1.2.0/progress.python.instrumentation.tests/src/framework_langchain/tests/conftest.py +0 -19
  79. progress_observability-1.2.0/progress.python.instrumentation.tests/src/framework_langchain/tests/test_multi_model_agents_ollama_fl.py +0 -131
  80. progress_observability-1.2.0/progress.python.instrumentation.tests/src/framework_langchain/tests/test_multi_model_agents_openai_fl.py +0 -152
  81. progress_observability-1.2.0/progress.python.instrumentation.tests/src/framework_langchain/tests/test_simple_agents_anthropic_fl.py +0 -114
  82. progress_observability-1.2.0/progress.python.instrumentation.tests/src/framework_langchain/tests/test_simple_agents_bedrock_fl.py +0 -81
  83. progress_observability-1.2.0/progress.python.instrumentation.tests/src/framework_langchain/tests/test_simple_agents_ollama_fl.py +0 -76
  84. progress_observability-1.2.0/progress.python.instrumentation.tests/src/framework_langchain/tests/test_simple_agents_openai_fl.py +0 -79
  85. progress_observability-1.2.0/progress.python.instrumentation.tests/src/framework_langchain/tests/test_two_provider_agent_anthropic_bedrock_fl.py +0 -144
  86. progress_observability-1.2.0/progress.python.instrumentation.tests/src/framework_langchain/tests/test_two_provider_agent_anthropic_openai_fl.py +0 -153
  87. progress_observability-1.2.0/progress.python.instrumentation.tests/src/framework_langchain/tests/test_two_provider_agent_ollama_openai_fl.py +0 -150
  88. progress_observability-1.2.0/progress.python.instrumentation.tests/src/framework_llama_index/tests/cassettes/test_multi_model_agents_ollama_fllamaInd/instrument_auto-gemma2-2b-qwen2.5-3b.yaml +0 -670
  89. progress_observability-1.2.0/progress.python.instrumentation.tests/src/framework_llama_index/tests/cassettes/test_multi_model_agents_openai_fllamaInd/instrument_auto-gpt-4.1-nano-gpt-4o-mini.yaml +0 -204
  90. progress_observability-1.2.0/progress.python.instrumentation.tests/src/framework_llama_index/tests/cassettes/test_multi_model_agents_openai_fllamaInd/instrument_auto-gpt-4o-gpt-4o-mini.yaml +0 -198
  91. progress_observability-1.2.0/progress.python.instrumentation.tests/src/framework_llama_index/tests/cassettes/test_simple_agent_anthropic_fllamaInd/simple_agent_claude-3-5-haiku-20241022.yaml +0 -108
  92. progress_observability-1.2.0/progress.python.instrumentation.tests/src/framework_llama_index/tests/cassettes/test_simple_agent_anthropic_fllamaInd/simple_agent_claude-3-5-sonnet-20241022.yaml +0 -110
  93. progress_observability-1.2.0/progress.python.instrumentation.tests/src/framework_llama_index/tests/cassettes/test_simple_agents_bedrock_fllamaInd/simple_agent_cs45-bedrock.yaml +0 -58
  94. progress_observability-1.2.0/progress.python.instrumentation.tests/src/framework_llama_index/tests/cassettes/test_simple_agents_ollama_fllamaInd/simple_agent_gemma2-2b.yaml +0 -316
  95. progress_observability-1.2.0/progress.python.instrumentation.tests/src/framework_llama_index/tests/cassettes/test_simple_agents_ollama_fllamaInd/simple_agent_qwen2.5-3b.yaml +0 -333
  96. progress_observability-1.2.0/progress.python.instrumentation.tests/src/framework_llama_index/tests/cassettes/test_simple_agents_openai_fllamaInd/simple_agent_gpt-4.1-nano.yaml +0 -96
  97. progress_observability-1.2.0/progress.python.instrumentation.tests/src/framework_llama_index/tests/cassettes/test_simple_agents_openai_fllamaInd/simple_agent_gpt-4o-mini.yaml +0 -100
  98. progress_observability-1.2.0/progress.python.instrumentation.tests/src/framework_llama_index/tests/cassettes/test_simple_agents_openai_fllamaInd/simple_agent_gpt-4o.yaml +0 -102
  99. progress_observability-1.2.0/progress.python.instrumentation.tests/src/framework_llama_index/tests/cassettes/test_two_provider_agent_anthropic_openai_fllamaInd/instrument_auto-cs35-1022-gpt4o.yaml +0 -224
  100. progress_observability-1.2.0/progress.python.instrumentation.tests/src/framework_llama_index/tests/cassettes/test_two_provider_agent_ollama_openai_fllamaInd/instrument_auto-gemma2-2b-gpt41n.yaml +0 -427
  101. progress_observability-1.2.0/progress.python.instrumentation.tests/src/framework_llama_index/tests/cassettes/test_two_provider_agent_ollama_openai_fllamaInd/instrument_auto-qwen25-3b-gpt41n.yaml +0 -430
  102. progress_observability-1.2.0/progress.python.instrumentation.tests/src/framework_llama_index/tests/conftest.py +0 -20
  103. progress_observability-1.2.0/progress.python.instrumentation.tests/src/framework_llama_index/tests/test_multi_model_agents_ollama_fllamaInd.py +0 -135
  104. progress_observability-1.2.0/progress.python.instrumentation.tests/src/framework_llama_index/tests/test_multi_model_agents_openai_fllamaInd.py +0 -149
  105. progress_observability-1.2.0/progress.python.instrumentation.tests/src/framework_llama_index/tests/test_simple_agent_anthropic_fllamaInd.py +0 -145
  106. progress_observability-1.2.0/progress.python.instrumentation.tests/src/framework_llama_index/tests/test_simple_agents_bedrock_fllamaInd.py +0 -135
  107. progress_observability-1.2.0/progress.python.instrumentation.tests/src/framework_llama_index/tests/test_simple_agents_ollama_fllamaInd.py +0 -116
  108. progress_observability-1.2.0/progress.python.instrumentation.tests/src/framework_llama_index/tests/test_simple_agents_openai_fllamaInd.py +0 -125
  109. progress_observability-1.2.0/progress.python.instrumentation.tests/src/framework_llama_index/tests/test_two_provider_agent_anthropic_openai_fllamaInd.py +0 -165
  110. progress_observability-1.2.0/progress.python.instrumentation.tests/src/framework_llama_index/tests/test_two_provider_agent_ollama_openai_fllamaInd.py +0 -161
  111. progress_observability-1.2.0/progress.python.instrumentation.tests/src/general_tests/block_instruments.py +0 -218
  112. progress_observability-1.2.0/progress.python.instrumentation.tests/src/general_tests/cassettes/block_instruments/blocking_test.yaml +0 -85
  113. progress_observability-1.2.0/progress.python.instrumentation.tests/src/general_tests/cassettes/block_instruments/multiple_blocking.yaml +0 -83
  114. progress_observability-1.2.0/progress.python.instrumentation.tests/src/general_tests/cassettes/block_instruments/normal_test.yaml +0 -85
  115. progress_observability-1.2.0/progress.python.instrumentation.tests/src/general_tests/cassettes/block_instruments/partial_blocking.yaml +0 -85
  116. progress_observability-1.2.0/progress.python.instrumentation.tests/src/general_tests/cassettes/block_instruments/two_provider_block_ollama.yaml +0 -484
  117. progress_observability-1.2.0/progress.python.instrumentation.tests/src/general_tests/cassettes/block_instruments/two_provider_block_openai.yaml +0 -582
  118. progress_observability-1.2.0/progress.python.instrumentation.tests/src/general_tests/conftest.py +0 -13
  119. progress_observability-1.2.0/progress.python.instrumentation.tests/src/general_tests/test_edge_cases.py +0 -138
  120. progress_observability-1.2.0/progress.python.instrumentation.tests/src/general_tests/test_isolated.py +0 -77
  121. progress_observability-1.2.0/progress.python.instrumentation.tests/src/test_utils/conftest_shared.py +0 -321
  122. progress_observability-1.2.0/progress.python.instrumentation.tests/src/test_utils/llm_span_helpers.py +0 -180
  123. progress_observability-1.2.0/progress.python.instrumentation.tests/uv.lock +0 -2853
  124. progress_observability-1.2.0/run-sample-azure.sh +0 -8
  125. progress_observability-1.2.0/run-sample-gemini.sh +0 -8
  126. progress_observability-1.2.0/run-sample-llamaindex-azure.sh +0 -5
  127. progress_observability-1.2.0/run-sample-llamaindex-gemini.sh +0 -5
  128. progress_observability-1.2.0/sample_apps/.env.example +0 -5
  129. progress_observability-1.2.0/sample_apps/README.md +0 -155
  130. progress_observability-1.2.0/sample_apps/pyproject.toml +0 -18
  131. progress_observability-1.2.0/sample_apps/test_azure_langchain.py +0 -42
  132. progress_observability-1.2.0/sample_apps/test_gemini_genAI.py +0 -42
  133. progress_observability-1.2.0/sample_apps/test_llamaindex_azure.py +0 -57
  134. progress_observability-1.2.0/sample_apps/test_llamaindex_gemini.py +0 -54
  135. progress_observability-1.2.0/src/progress/observability/decorators.py +0 -288
  136. progress_observability-1.2.0/update_sample_apps_wheel.sh +0 -38
  137. progress_observability-1.2.0/uv.lock +0 -2251
  138. {progress_observability-1.2.0 → progress_observability-1.4.3}/.gitignore +0 -0
  139. {progress_observability-1.2.0 → progress_observability-1.4.3}/LICENSE +0 -0
  140. {progress_observability-1.2.0 → progress_observability-1.4.3}/src/progress/observability/enums.py +0 -0
  141. {progress_observability-1.2.0 → progress_observability-1.4.3}/src/progress/observability/exceptions.py +0 -0
@@ -0,0 +1 @@
1
+ 3.14
@@ -0,0 +1,119 @@
1
+ Metadata-Version: 2.4
2
+ Name: progress-observability
3
+ Version: 1.4.3
4
+ Summary: Progress Observability instrumentation for Python agents
5
+ Project-URL: Homepage, https://github.com/telerik/agentclarity
6
+ Project-URL: Repository, https://github.com/telerik/agentclarity
7
+ Project-URL: Documentation, https://docs.telerik.com/agentclarity
8
+ Project-URL: Bug Reports, https://github.com/telerik/agentclarity/issues
9
+ License: MIT
10
+ License-File: LICENSE
11
+ License-File: notices.txt
12
+ Requires-Python: <4.0.0,>=3.10.0
13
+ Requires-Dist: traceloop-sdk==0.59.2
14
+ Provides-Extra: dev
15
+ Requires-Dist: autopep8>=2.3.1; extra == 'dev'
16
+ Requires-Dist: flake8>=7.1.0; extra == 'dev'
17
+ Description-Content-Type: text/markdown
18
+
19
+ # Progress Observability Instrumentation (Python)
20
+
21
+ Zero-intrusion telemetry for AI agents and LLM apps. Built on Traceloop SDK and OpenTelemetry with a simple one-line init and optional decorators.
22
+
23
+ ## Installation
24
+
25
+ ```bash
26
+ pip install progress-observability
27
+ ```
28
+
29
+ Or from wheel file:
30
+
31
+ ```bash
32
+ pip install progress_observability-x.y.z-py3-none-any.whl
33
+ ```
34
+
35
+ ## Quick Start
36
+
37
+ ```python
38
+ from progress.observability import Observability, ObservabilityInstruments
39
+
40
+ # Initialize once at process start
41
+ Observability.instrument(
42
+ app_name="my-app",
43
+ api_key="<your-api-key>",
44
+ # endpoint="https://collector.observability.progress.com:443" # Optional: has default
45
+ )
46
+ ```
47
+
48
+ ## Configuration
49
+
50
+ Common options (for `Observability.instrument`):
51
+
52
+ - `app_name` - Application name for telemetry
53
+ - `endpoint` - OpenTelemetry collector endpoint
54
+ - `api_key` - Authentication key
55
+ - `debug` - Enable debug logging
56
+ - `instruments` / `block_instruments` - Control what gets traced via `ObservabilityInstruments`
57
+ - `trace_content` - when set to `False` will stop sending LLM prompt/responses as part of the telemetry data
58
+ - `additional_tags` - custom tags (see below)
59
+
60
+ Environment overrides (optional):
61
+
62
+ - `OBSERVABILITY_APP_NAME` sets the application name (e.g. "my-app")
63
+ - `OBSERVABILITY_ENDPOINT` sets a custom endpoint for collecting data (e.g. "https://collector.observability.progress.com:443")
64
+ - `OBSERVABILITY_API_KEY` sets the authentication key to use when sending data
65
+ - `OBSERVABILITY_TRACE_CONTENT` when set to `false` will stop sending LLM prompt/responses as part of the telemetry data
66
+
67
+ Auth headers are added automatically for HTTP(S) endpoints when api_key is provided.
68
+
69
+ ## Custom Tags
70
+
71
+ Tags are user-defined strings (max 200 characters each) attached to observations for filtering and grouping.
72
+
73
+ **Global tags** — applied to every span:
74
+
75
+ ```python
76
+ Observability.instrument(
77
+ app_name="my-app",
78
+ api_key="<your-api-key>",
79
+ additional_tags=["production", "release:2.4.1"],
80
+ )
81
+ ```
82
+
83
+ **Scoped tags** — applied to spans within a specific block via `propagate_attributes`:
84
+
85
+ ```python
86
+ from progress.observability import propagate_attributes
87
+
88
+ with propagate_attributes(tags=["tenant:acme", "experiment-v2"]):
89
+ # All spans created here inherit these tags
90
+ my_agent_function()
91
+ ```
92
+
93
+ Nesting is supported — tags accumulate from outer to inner scopes.
94
+
95
+ **Decorator tags** — applied to a single decorated function:
96
+
97
+ ```python
98
+ from progress.observability import task
99
+
100
+ @task(tags=["cohort-a"])
101
+ def my_task():
102
+ ...
103
+ ```
104
+
105
+ ## Package Structure
106
+
107
+ ```text
108
+ src/progress/observability/
109
+ ├── __init__.py # Package entry point
110
+ ├── sdk.py # Main Observability SDK
111
+ ├── decorators.py # @task, @workflow, @agent, @tool decorators
112
+ ├── constants.py # Environment variables and constants
113
+ ├── enums.py # ObservabilityInstruments enum
114
+ ├── exceptions.py # Custom exception types
115
+ ├── genai_message_processor.py # LLM span content normalization
116
+ ├── helpers.py # Helper functions
117
+ ├── model_fix_processor.py # LLM span attribute repair
118
+ ├── tags.py # Tag propagation span processor
119
+ ```
@@ -0,0 +1,101 @@
1
+ # Progress Observability Instrumentation (Python)
2
+
3
+ Zero-intrusion telemetry for AI agents and LLM apps. Built on Traceloop SDK and OpenTelemetry with a simple one-line init and optional decorators.
4
+
5
+ ## Installation
6
+
7
+ ```bash
8
+ pip install progress-observability
9
+ ```
10
+
11
+ Or from wheel file:
12
+
13
+ ```bash
14
+ pip install progress_observability-x.y.z-py3-none-any.whl
15
+ ```
16
+
17
+ ## Quick Start
18
+
19
+ ```python
20
+ from progress.observability import Observability, ObservabilityInstruments
21
+
22
+ # Initialize once at process start
23
+ Observability.instrument(
24
+ app_name="my-app",
25
+ api_key="<your-api-key>",
26
+ # endpoint="https://collector.observability.progress.com:443" # Optional: has default
27
+ )
28
+ ```
29
+
30
+ ## Configuration
31
+
32
+ Common options (for `Observability.instrument`):
33
+
34
+ - `app_name` - Application name for telemetry
35
+ - `endpoint` - OpenTelemetry collector endpoint
36
+ - `api_key` - Authentication key
37
+ - `debug` - Enable debug logging
38
+ - `instruments` / `block_instruments` - Control what gets traced via `ObservabilityInstruments`
39
+ - `trace_content` - when set to `False` will stop sending LLM prompt/responses as part of the telemetry data
40
+ - `additional_tags` - custom tags (see below)
41
+
42
+ Environment overrides (optional):
43
+
44
+ - `OBSERVABILITY_APP_NAME` sets the application name (e.g. "my-app")
45
+ - `OBSERVABILITY_ENDPOINT` sets a custom endpoint for collecting data (e.g. "https://collector.observability.progress.com:443")
46
+ - `OBSERVABILITY_API_KEY` sets the authentication key to use when sending data
47
+ - `OBSERVABILITY_TRACE_CONTENT` when set to `false` will stop sending LLM prompt/responses as part of the telemetry data
48
+
49
+ Auth headers are added automatically for HTTP(S) endpoints when api_key is provided.
50
+
51
+ ## Custom Tags
52
+
53
+ Tags are user-defined strings (max 200 characters each) attached to observations for filtering and grouping.
54
+
55
+ **Global tags** — applied to every span:
56
+
57
+ ```python
58
+ Observability.instrument(
59
+ app_name="my-app",
60
+ api_key="<your-api-key>",
61
+ additional_tags=["production", "release:2.4.1"],
62
+ )
63
+ ```
64
+
65
+ **Scoped tags** — applied to spans within a specific block via `propagate_attributes`:
66
+
67
+ ```python
68
+ from progress.observability import propagate_attributes
69
+
70
+ with propagate_attributes(tags=["tenant:acme", "experiment-v2"]):
71
+ # All spans created here inherit these tags
72
+ my_agent_function()
73
+ ```
74
+
75
+ Nesting is supported — tags accumulate from outer to inner scopes.
76
+
77
+ **Decorator tags** — applied to a single decorated function:
78
+
79
+ ```python
80
+ from progress.observability import task
81
+
82
+ @task(tags=["cohort-a"])
83
+ def my_task():
84
+ ...
85
+ ```
86
+
87
+ ## Package Structure
88
+
89
+ ```text
90
+ src/progress/observability/
91
+ ├── __init__.py # Package entry point
92
+ ├── sdk.py # Main Observability SDK
93
+ ├── decorators.py # @task, @workflow, @agent, @tool decorators
94
+ ├── constants.py # Environment variables and constants
95
+ ├── enums.py # ObservabilityInstruments enum
96
+ ├── exceptions.py # Custom exception types
97
+ ├── genai_message_processor.py # LLM span content normalization
98
+ ├── helpers.py # Helper functions
99
+ ├── model_fix_processor.py # LLM span attribute repair
100
+ ├── tags.py # Tag propagation span processor
101
+ ```