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.
- microsoft_agents_a365_observability_extensions_semantic_kernel-0.1.0/PKG-INFO +70 -0
- microsoft_agents_a365_observability_extensions_semantic_kernel-0.1.0/README.md +33 -0
- microsoft_agents_a365_observability_extensions_semantic_kernel-0.1.0/microsoft_agents_a365/observability/extensions/semantickernel/__init__.py +1 -0
- microsoft_agents_a365_observability_extensions_semantic_kernel-0.1.0/microsoft_agents_a365/observability/extensions/semantickernel/span_processor.py +26 -0
- microsoft_agents_a365_observability_extensions_semantic_kernel-0.1.0/microsoft_agents_a365/observability/extensions/semantickernel/trace_instrumentor.py +49 -0
- microsoft_agents_a365_observability_extensions_semantic_kernel-0.1.0/microsoft_agents_a365_observability_extensions_semantic_kernel.egg-info/PKG-INFO +70 -0
- microsoft_agents_a365_observability_extensions_semantic_kernel-0.1.0/microsoft_agents_a365_observability_extensions_semantic_kernel.egg-info/SOURCES.txt +11 -0
- microsoft_agents_a365_observability_extensions_semantic_kernel-0.1.0/microsoft_agents_a365_observability_extensions_semantic_kernel.egg-info/dependency_links.txt +1 -0
- microsoft_agents_a365_observability_extensions_semantic_kernel-0.1.0/microsoft_agents_a365_observability_extensions_semantic_kernel.egg-info/requires.txt +16 -0
- microsoft_agents_a365_observability_extensions_semantic_kernel-0.1.0/microsoft_agents_a365_observability_extensions_semantic_kernel.egg-info/top_level.txt +1 -0
- microsoft_agents_a365_observability_extensions_semantic_kernel-0.1.0/pyproject.toml +78 -0
- microsoft_agents_a365_observability_extensions_semantic_kernel-0.1.0/setup.cfg +4 -0
- 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
|
+
[](https://pypi.org/project/microsoft-agents-a365-observability-extensions-semantickernel)
|
|
41
|
+
[](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
|
+
[](https://pypi.org/project/microsoft-agents-a365-observability-extensions-semantickernel)
|
|
4
|
+
[](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 @@
|
|
|
1
|
+
# Copyright (c) Microsoft. All rights reserved.
|
|
@@ -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
|
+
[](https://pypi.org/project/microsoft-agents-a365-observability-extensions-semantickernel)
|
|
41
|
+
[](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 @@
|
|
|
1
|
+
|
|
@@ -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 @@
|
|
|
1
|
+
microsoft_agents_a365
|
|
@@ -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,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
|
+
)
|