microsoft-agents-a365-observability-extensions-semantic-kernel 0.1.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.
Files changed (13) hide show
  1. microsoft_agents_a365_observability_extensions_semantic_kernel-0.1.0/PKG-INFO +70 -0
  2. microsoft_agents_a365_observability_extensions_semantic_kernel-0.1.0/README.md +33 -0
  3. microsoft_agents_a365_observability_extensions_semantic_kernel-0.1.0/microsoft_agents_a365/observability/extensions/semantickernel/__init__.py +1 -0
  4. microsoft_agents_a365_observability_extensions_semantic_kernel-0.1.0/microsoft_agents_a365/observability/extensions/semantickernel/span_processor.py +26 -0
  5. microsoft_agents_a365_observability_extensions_semantic_kernel-0.1.0/microsoft_agents_a365/observability/extensions/semantickernel/trace_instrumentor.py +49 -0
  6. microsoft_agents_a365_observability_extensions_semantic_kernel-0.1.0/microsoft_agents_a365_observability_extensions_semantic_kernel.egg-info/PKG-INFO +70 -0
  7. microsoft_agents_a365_observability_extensions_semantic_kernel-0.1.0/microsoft_agents_a365_observability_extensions_semantic_kernel.egg-info/SOURCES.txt +11 -0
  8. microsoft_agents_a365_observability_extensions_semantic_kernel-0.1.0/microsoft_agents_a365_observability_extensions_semantic_kernel.egg-info/dependency_links.txt +1 -0
  9. microsoft_agents_a365_observability_extensions_semantic_kernel-0.1.0/microsoft_agents_a365_observability_extensions_semantic_kernel.egg-info/requires.txt +16 -0
  10. microsoft_agents_a365_observability_extensions_semantic_kernel-0.1.0/microsoft_agents_a365_observability_extensions_semantic_kernel.egg-info/top_level.txt +1 -0
  11. microsoft_agents_a365_observability_extensions_semantic_kernel-0.1.0/pyproject.toml +78 -0
  12. microsoft_agents_a365_observability_extensions_semantic_kernel-0.1.0/setup.cfg +4 -0
  13. microsoft_agents_a365_observability_extensions_semantic_kernel-0.1.0/setup.py +28 -0
@@ -0,0 +1,70 @@
1
+ Metadata-Version: 2.4
2
+ Name: microsoft-agents-a365-observability-extensions-semantic-kernel
3
+ Version: 0.1.0
4
+ Summary: Semantic Kernel observability and tracing extensions for Microsoft Agent 365
5
+ Author-email: Microsoft <support@microsoft.com>
6
+ License: MIT
7
+ Project-URL: Homepage, https://github.com/microsoft/Agent365-python
8
+ Project-URL: Repository, https://github.com/microsoft/Agent365-python
9
+ Project-URL: Issues, https://github.com/microsoft/Agent365-python/issues
10
+ Project-URL: Documentation, https://github.com/microsoft/Agent365-python/tree/main/libraries/microsoft-agents-a365-observability-extensions-semantickernel
11
+ Keywords: observability,telemetry,tracing,opentelemetry,semantic-kernel,agents,ai
12
+ Classifier: Development Status :: 3 - Alpha
13
+ Classifier: Intended Audience :: Developers
14
+ Classifier: Programming Language :: Python :: 3
15
+ Classifier: Programming Language :: Python :: 3.11
16
+ Classifier: Programming Language :: Python :: 3.12
17
+ Classifier: Operating System :: OS Independent
18
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
19
+ Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
20
+ Classifier: Topic :: System :: Monitoring
21
+ Requires-Python: >=3.11
22
+ Description-Content-Type: text/markdown
23
+ Requires-Dist: microsoft-agents-a365-observability-core>=0.0.0
24
+ Requires-Dist: semantic-kernel>=1.0.0
25
+ Requires-Dist: opentelemetry-api>=1.36.0
26
+ Requires-Dist: opentelemetry-sdk>=1.36.0
27
+ Requires-Dist: opentelemetry-instrumentation>=0.47b0
28
+ Provides-Extra: dev
29
+ Requires-Dist: pytest>=7.0.0; extra == "dev"
30
+ Requires-Dist: pytest-asyncio>=0.21.0; extra == "dev"
31
+ Requires-Dist: ruff>=0.1.0; extra == "dev"
32
+ Requires-Dist: black>=23.0.0; extra == "dev"
33
+ Requires-Dist: mypy>=1.0.0; extra == "dev"
34
+ Provides-Extra: test
35
+ Requires-Dist: pytest>=7.0.0; extra == "test"
36
+ Requires-Dist: pytest-asyncio>=0.21.0; extra == "test"
37
+
38
+ # microsoft-agents-a365-observability-extensions-semantickernel
39
+
40
+ [![PyPI](https://img.shields.io/pypi/v/microsoft-agents-a365-observability-extensions-semantickernel?label=PyPI&logo=pypi)](https://pypi.org/project/microsoft-agents-a365-observability-extensions-semantickernel)
41
+ [![PyPI Downloads](https://img.shields.io/pypi/dm/microsoft-agents-a365-observability-extensions-semantickernel?label=Downloads&logo=pypi)](https://pypi.org/project/microsoft-agents-a365-observability-extensions-semantickernel)
42
+
43
+ Observability extensions for Semantic Kernel framework. This package provides OpenTelemetry tracing integration for Semantic Kernel-based applications with automatic instrumentation for kernel functions, plugins, and planners.
44
+
45
+ ## Installation
46
+
47
+ ```bash
48
+ pip install microsoft-agents-a365-observability-extensions-semantickernel
49
+ ```
50
+
51
+ ## Usage
52
+
53
+ For usage examples and detailed documentation, see the [Observability documentation](https://learn.microsoft.com/microsoft-agent-365/developer/observability?tabs=python) on Microsoft Learn.
54
+
55
+ ## Support
56
+
57
+ For issues, questions, or feedback:
58
+
59
+ - File issues in the [GitHub Issues](https://github.com/microsoft/Agent365-python/issues) section
60
+ - See the [main documentation](../../../README.md) for more information
61
+
62
+ ## Trademarks
63
+
64
+ *Microsoft, Windows, Microsoft Azure and/or other Microsoft products and services referenced in the documentation may be either trademarks or registered trademarks of Microsoft in the United States and/or other countries. The licenses for this project do not grant you rights to use any Microsoft names, logos, or trademarks. Microsoft's general trademark guidelines can be found at http://go.microsoft.com/fwlink/?LinkID=254653.*
65
+
66
+ ## License
67
+
68
+ Copyright (c) Microsoft Corporation. All rights reserved.
69
+
70
+ Licensed under the MIT License - see the [LICENSE](../../../LICENSE.md) file for details.
@@ -0,0 +1,33 @@
1
+ # microsoft-agents-a365-observability-extensions-semantickernel
2
+
3
+ [![PyPI](https://img.shields.io/pypi/v/microsoft-agents-a365-observability-extensions-semantickernel?label=PyPI&logo=pypi)](https://pypi.org/project/microsoft-agents-a365-observability-extensions-semantickernel)
4
+ [![PyPI Downloads](https://img.shields.io/pypi/dm/microsoft-agents-a365-observability-extensions-semantickernel?label=Downloads&logo=pypi)](https://pypi.org/project/microsoft-agents-a365-observability-extensions-semantickernel)
5
+
6
+ Observability extensions for Semantic Kernel framework. This package provides OpenTelemetry tracing integration for Semantic Kernel-based applications with automatic instrumentation for kernel functions, plugins, and planners.
7
+
8
+ ## Installation
9
+
10
+ ```bash
11
+ pip install microsoft-agents-a365-observability-extensions-semantickernel
12
+ ```
13
+
14
+ ## Usage
15
+
16
+ For usage examples and detailed documentation, see the [Observability documentation](https://learn.microsoft.com/microsoft-agent-365/developer/observability?tabs=python) on Microsoft Learn.
17
+
18
+ ## Support
19
+
20
+ For issues, questions, or feedback:
21
+
22
+ - File issues in the [GitHub Issues](https://github.com/microsoft/Agent365-python/issues) section
23
+ - See the [main documentation](../../../README.md) for more information
24
+
25
+ ## Trademarks
26
+
27
+ *Microsoft, Windows, Microsoft Azure and/or other Microsoft products and services referenced in the documentation may be either trademarks or registered trademarks of Microsoft in the United States and/or other countries. The licenses for this project do not grant you rights to use any Microsoft names, logos, or trademarks. Microsoft's general trademark guidelines can be found at http://go.microsoft.com/fwlink/?LinkID=254653.*
28
+
29
+ ## License
30
+
31
+ Copyright (c) Microsoft Corporation. All rights reserved.
32
+
33
+ Licensed under the MIT License - see the [LICENSE](../../../LICENSE.md) file for details.
@@ -0,0 +1,26 @@
1
+ # Copyright (c) Microsoft. All rights reserved.
2
+
3
+ # Custom Span Processor
4
+
5
+ from microsoft_agents_a365.observability.core.constants import GEN_AI_OPERATION_NAME_KEY
6
+ from microsoft_agents_a365.observability.core.inference_operation_type import InferenceOperationType
7
+ from microsoft_agents_a365.observability.core.utils import extract_model_name
8
+ from opentelemetry.sdk.trace.export import SpanProcessor
9
+
10
+
11
+ class SemanticKernelSpanProcessor(SpanProcessor):
12
+ """
13
+ SpanProcessor for SK
14
+ """
15
+
16
+ def __init__(self, service_name: str | None = None):
17
+ self.service_name = service_name
18
+
19
+ def on_start(self, span, parent_context):
20
+ if span.name.startswith("chat."):
21
+ span.set_attribute(GEN_AI_OPERATION_NAME_KEY, InferenceOperationType.CHAT.value.lower())
22
+ model_name = extract_model_name(span.name)
23
+ span.update_name(f"{InferenceOperationType.CHAT.value.lower()} {model_name}")
24
+
25
+ def on_end(self, span):
26
+ pass
@@ -0,0 +1,49 @@
1
+ # Copyright (c) Microsoft. All rights reserved.
2
+
3
+ from __future__ import annotations
4
+
5
+ from collections.abc import Collection
6
+ from typing import Any
7
+
8
+ from microsoft_agents_a365.observability.core.config import get_tracer_provider, is_configured
9
+ from opentelemetry.instrumentation.instrumentor import BaseInstrumentor
10
+
11
+ from microsoft_agents_a365.observability.extensions.semantickernel.span_processor import (
12
+ SemanticKernelSpanProcessor,
13
+ )
14
+
15
+ # -----------------------------
16
+ # 3) The Instrumentor class
17
+ # -----------------------------
18
+ _instruments = ("semantic-kernel >= 1.0.0",)
19
+
20
+
21
+ class SemanticKernelInstrumentor(BaseInstrumentor):
22
+ """
23
+ Instruments Semantic Kernel:
24
+ • Installs your custom OTel SpanProcessor
25
+ • (Optionally) attaches an SK function-invocation filter to enrich spans
26
+ """
27
+
28
+ def __init__(self):
29
+ if not is_configured():
30
+ raise RuntimeError(
31
+ "Microsoft Agent 365 (or your telemetry config) is not initialized. Configure it before instrumenting."
32
+ )
33
+ super().__init__()
34
+
35
+ def instrumentation_dependencies(self) -> Collection[str]:
36
+ return _instruments
37
+
38
+ def _instrument(self, **kwargs: Any) -> None:
39
+ """
40
+ kwargs (all optional):
41
+ """
42
+
43
+ # Ensure we have an SDK TracerProvider
44
+ provider = get_tracer_provider()
45
+ self._processor = SemanticKernelSpanProcessor()
46
+ provider.add_span_processor(self._processor)
47
+
48
+ def _uninstrument(self, **kwargs: Any) -> None:
49
+ pass
@@ -0,0 +1,70 @@
1
+ Metadata-Version: 2.4
2
+ Name: microsoft-agents-a365-observability-extensions-semantic-kernel
3
+ Version: 0.1.0
4
+ Summary: Semantic Kernel observability and tracing extensions for Microsoft Agent 365
5
+ Author-email: Microsoft <support@microsoft.com>
6
+ License: MIT
7
+ Project-URL: Homepage, https://github.com/microsoft/Agent365-python
8
+ Project-URL: Repository, https://github.com/microsoft/Agent365-python
9
+ Project-URL: Issues, https://github.com/microsoft/Agent365-python/issues
10
+ Project-URL: Documentation, https://github.com/microsoft/Agent365-python/tree/main/libraries/microsoft-agents-a365-observability-extensions-semantickernel
11
+ Keywords: observability,telemetry,tracing,opentelemetry,semantic-kernel,agents,ai
12
+ Classifier: Development Status :: 3 - Alpha
13
+ Classifier: Intended Audience :: Developers
14
+ Classifier: Programming Language :: Python :: 3
15
+ Classifier: Programming Language :: Python :: 3.11
16
+ Classifier: Programming Language :: Python :: 3.12
17
+ Classifier: Operating System :: OS Independent
18
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
19
+ Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
20
+ Classifier: Topic :: System :: Monitoring
21
+ Requires-Python: >=3.11
22
+ Description-Content-Type: text/markdown
23
+ Requires-Dist: microsoft-agents-a365-observability-core>=0.0.0
24
+ Requires-Dist: semantic-kernel>=1.0.0
25
+ Requires-Dist: opentelemetry-api>=1.36.0
26
+ Requires-Dist: opentelemetry-sdk>=1.36.0
27
+ Requires-Dist: opentelemetry-instrumentation>=0.47b0
28
+ Provides-Extra: dev
29
+ Requires-Dist: pytest>=7.0.0; extra == "dev"
30
+ Requires-Dist: pytest-asyncio>=0.21.0; extra == "dev"
31
+ Requires-Dist: ruff>=0.1.0; extra == "dev"
32
+ Requires-Dist: black>=23.0.0; extra == "dev"
33
+ Requires-Dist: mypy>=1.0.0; extra == "dev"
34
+ Provides-Extra: test
35
+ Requires-Dist: pytest>=7.0.0; extra == "test"
36
+ Requires-Dist: pytest-asyncio>=0.21.0; extra == "test"
37
+
38
+ # microsoft-agents-a365-observability-extensions-semantickernel
39
+
40
+ [![PyPI](https://img.shields.io/pypi/v/microsoft-agents-a365-observability-extensions-semantickernel?label=PyPI&logo=pypi)](https://pypi.org/project/microsoft-agents-a365-observability-extensions-semantickernel)
41
+ [![PyPI Downloads](https://img.shields.io/pypi/dm/microsoft-agents-a365-observability-extensions-semantickernel?label=Downloads&logo=pypi)](https://pypi.org/project/microsoft-agents-a365-observability-extensions-semantickernel)
42
+
43
+ Observability extensions for Semantic Kernel framework. This package provides OpenTelemetry tracing integration for Semantic Kernel-based applications with automatic instrumentation for kernel functions, plugins, and planners.
44
+
45
+ ## Installation
46
+
47
+ ```bash
48
+ pip install microsoft-agents-a365-observability-extensions-semantickernel
49
+ ```
50
+
51
+ ## Usage
52
+
53
+ For usage examples and detailed documentation, see the [Observability documentation](https://learn.microsoft.com/microsoft-agent-365/developer/observability?tabs=python) on Microsoft Learn.
54
+
55
+ ## Support
56
+
57
+ For issues, questions, or feedback:
58
+
59
+ - File issues in the [GitHub Issues](https://github.com/microsoft/Agent365-python/issues) section
60
+ - See the [main documentation](../../../README.md) for more information
61
+
62
+ ## Trademarks
63
+
64
+ *Microsoft, Windows, Microsoft Azure and/or other Microsoft products and services referenced in the documentation may be either trademarks or registered trademarks of Microsoft in the United States and/or other countries. The licenses for this project do not grant you rights to use any Microsoft names, logos, or trademarks. Microsoft's general trademark guidelines can be found at http://go.microsoft.com/fwlink/?LinkID=254653.*
65
+
66
+ ## License
67
+
68
+ Copyright (c) Microsoft Corporation. All rights reserved.
69
+
70
+ Licensed under the MIT License - see the [LICENSE](../../../LICENSE.md) file for details.
@@ -0,0 +1,11 @@
1
+ README.md
2
+ pyproject.toml
3
+ setup.py
4
+ microsoft_agents_a365/observability/extensions/semantickernel/__init__.py
5
+ microsoft_agents_a365/observability/extensions/semantickernel/span_processor.py
6
+ microsoft_agents_a365/observability/extensions/semantickernel/trace_instrumentor.py
7
+ microsoft_agents_a365_observability_extensions_semantic_kernel.egg-info/PKG-INFO
8
+ microsoft_agents_a365_observability_extensions_semantic_kernel.egg-info/SOURCES.txt
9
+ microsoft_agents_a365_observability_extensions_semantic_kernel.egg-info/dependency_links.txt
10
+ microsoft_agents_a365_observability_extensions_semantic_kernel.egg-info/requires.txt
11
+ microsoft_agents_a365_observability_extensions_semantic_kernel.egg-info/top_level.txt
@@ -0,0 +1,16 @@
1
+ microsoft-agents-a365-observability-core>=0.0.0
2
+ semantic-kernel>=1.0.0
3
+ opentelemetry-api>=1.36.0
4
+ opentelemetry-sdk>=1.36.0
5
+ opentelemetry-instrumentation>=0.47b0
6
+
7
+ [dev]
8
+ pytest>=7.0.0
9
+ pytest-asyncio>=0.21.0
10
+ ruff>=0.1.0
11
+ black>=23.0.0
12
+ mypy>=1.0.0
13
+
14
+ [test]
15
+ pytest>=7.0.0
16
+ pytest-asyncio>=0.21.0
@@ -0,0 +1,78 @@
1
+ [build-system]
2
+ requires = ["setuptools>=68", "wheel", "tzdata"]
3
+ build-backend = "setuptools.build_meta"
4
+
5
+ [project]
6
+ name = "microsoft-agents-a365-observability-extensions-semantic-kernel"
7
+ dynamic = ["version"]
8
+ authors = [
9
+ { name = "Microsoft", email = "support@microsoft.com" },
10
+ ]
11
+ description = "Semantic Kernel observability and tracing extensions for Microsoft Agent 365"
12
+ readme = "README.md"
13
+ requires-python = ">=3.11"
14
+ classifiers = [
15
+ "Development Status :: 3 - Alpha",
16
+ "Intended Audience :: Developers",
17
+ "Programming Language :: Python :: 3",
18
+ "Programming Language :: Python :: 3.11",
19
+ "Programming Language :: Python :: 3.12",
20
+ "Operating System :: OS Independent",
21
+ "Topic :: Software Development :: Libraries :: Python Modules",
22
+ "Topic :: Scientific/Engineering :: Artificial Intelligence",
23
+ "Topic :: System :: Monitoring",
24
+ ]
25
+ license = {text = "MIT"}
26
+ keywords = ["observability", "telemetry", "tracing", "opentelemetry", "semantic-kernel", "agents", "ai"]
27
+ # Note: Internal package versions (microsoft-agents-a365-*) are automatically set at build time
28
+ # The placeholder below will be replaced with >= {current_version} by setup.py
29
+ dependencies = [
30
+ "microsoft-agents-a365-observability-core >= 0.0.0",
31
+ "semantic-kernel >= 1.0.0",
32
+ "opentelemetry-api >= 1.36.0",
33
+ "opentelemetry-sdk >= 1.36.0",
34
+ "opentelemetry-instrumentation >= 0.47b0",
35
+ ]
36
+
37
+ [project.urls]
38
+ Homepage = "https://github.com/microsoft/Agent365-python"
39
+ Repository = "https://github.com/microsoft/Agent365-python"
40
+ Issues = "https://github.com/microsoft/Agent365-python/issues"
41
+ Documentation = "https://github.com/microsoft/Agent365-python/tree/main/libraries/microsoft-agents-a365-observability-extensions-semantickernel"
42
+
43
+ [project.optional-dependencies]
44
+ dev = [
45
+ "pytest >= 7.0.0",
46
+ "pytest-asyncio >= 0.21.0",
47
+ "ruff >= 0.1.0",
48
+ "black >= 23.0.0",
49
+ "mypy >= 1.0.0",
50
+ ]
51
+ test = [
52
+ "pytest >= 7.0.0",
53
+ "pytest-asyncio >= 0.21.0",
54
+ ]
55
+
56
+ [tool.setuptools.packages.find]
57
+ where = ["."]
58
+
59
+ [tool.setuptools]
60
+ license-files = ["../../LICENSE"]
61
+ include-package-data = true
62
+
63
+ [tool.setuptools.package-data]
64
+ "*" = ["../../LICENSE"]
65
+
66
+ [tool.black]
67
+ line-length = 100
68
+ target-version = ['py311']
69
+
70
+ [tool.ruff]
71
+ line-length = 100
72
+ target-version = "py311"
73
+
74
+ [tool.mypy]
75
+ python_version = "3.11"
76
+ strict = true
77
+ warn_return_any = true
78
+ warn_unused_configs = true
@@ -0,0 +1,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+
@@ -0,0 +1,28 @@
1
+ # Copyright (c) Microsoft Corporation.
2
+ # Licensed under the MIT License.
3
+
4
+ import sys
5
+ from pathlib import Path
6
+ from os import environ
7
+ from setuptools import setup
8
+
9
+ # Get version from environment variable set by CI/CD
10
+ package_version = environ.get("AGENT365_PYTHON_SDK_PACKAGE_VERSION", "0.0.0")
11
+
12
+ # Add versioning helper to path
13
+ helper_path = Path(__file__).parent.parent.parent / "versioning" / "helper"
14
+ sys.path.insert(0, str(helper_path))
15
+
16
+ from setup_utils import get_dynamic_dependencies
17
+
18
+ # Use minimum version strategy:
19
+ # - Internal packages get: >= current_base_version (e.g., >= 0.1.0)
20
+ # - Automatically updates when you build new versions
21
+ # - Consumers can upgrade to any higher version
22
+ setup(
23
+ version=package_version,
24
+ install_requires=get_dynamic_dependencies(
25
+ use_compatible_release=False, # No upper bound
26
+ use_exact_match=False, # Not exact match
27
+ ),
28
+ )