2024-08-26 13:34:29 +02:00
|
|
|
[project]
|
2023-03-16 19:54:34 -07:00
|
|
|
name = "semantic-kernel"
|
2023-12-14 08:38:36 -08:00
|
|
|
description = "Semantic Kernel Python SDK"
|
2024-08-26 13:34:29 +02:00
|
|
|
authors = [{ name = "Microsoft", email = "SK-Support@microsoft.com"}]
|
2025-04-04 22:32:26 +09:00
|
|
|
readme = "README.md"
|
2024-08-26 20:22:26 +02:00
|
|
|
# Version read from __version__ field in __init__.py by Flit
|
|
|
|
|
dynamic = ["version"]
|
2024-11-07 12:33:41 +01:00
|
|
|
requires-python = ">=3.10"
|
2024-08-27 18:45:09 +02:00
|
|
|
license = {file = "LICENSE"}
|
2024-08-26 13:34:29 +02:00
|
|
|
urls.homepage = "https://learn.microsoft.com/en-us/semantic-kernel/overview/"
|
|
|
|
|
urls.source = "https://github.com/microsoft/semantic-kernel/tree/main/python"
|
|
|
|
|
urls.release_notes = "https://github.com/microsoft/semantic-kernel/releases?q=tag%3Apython-1&expanded=true"
|
|
|
|
|
urls.issues = "https://github.com/microsoft/semantic-kernel/issues"
|
2024-08-26 20:22:26 +02:00
|
|
|
classifiers = [
|
2024-08-28 10:30:38 +02:00
|
|
|
"License :: OSI Approved :: MIT License",
|
2024-08-26 20:22:26 +02:00
|
|
|
"Development Status :: 5 - Production/Stable",
|
|
|
|
|
"Intended Audience :: Developers",
|
|
|
|
|
"Programming Language :: Python :: 3",
|
|
|
|
|
"Programming Language :: Python :: 3.10",
|
|
|
|
|
"Programming Language :: Python :: 3.11",
|
|
|
|
|
"Programming Language :: Python :: 3.12",
|
|
|
|
|
"Framework :: Pydantic :: 2",
|
|
|
|
|
"Typing :: Typed",
|
|
|
|
|
]
|
2024-08-26 13:34:29 +02:00
|
|
|
dependencies = [
|
Python: Fix for AzureAIAgent streaming func call invocations. Other fixes/improvements for tool call content types, and logging. (#12335)
### Motivation and Context
The AzureAIAgent streaming function call invocation is broken when
handling more than one required function call from the service. There is
nested logic to handle passing the tool calls back to the service
because it requires one to pass in a handler.
In this PR, we're now controlling everything from the main loop and are
passing back the handler as the event stream for further processing.
This does require some logic to determine if we have an initial async
context manager (based on the first call to create the run stream) or if
we're now using the handler from submitting tool calls. We can now see
that when we have multiple functions involved, we are able to get the
results as we expect:
```
Sample Output:
# User: 'What is the price of the special drink and then special food item added together?'
Function Call:> MenuPlugin-get_specials with arguments: {}
Function Result:>
Special Soup: Clam Chowder
Special Salad: Cobb Salad
Special Drink: Chai Tea
for function: MenuPlugin-get_specials
Function Call:> MenuPlugin-get_item_price with arguments: {"menu_item": "Chai Tea"}
Function Call:> MenuPlugin-get_item_price with arguments: {"menu_item": "Clam Chowder"}
Function Result:> $9.99 for function: MenuPlugin-get_item_price
Function Result:> $9.99 for function: MenuPlugin-get_item_price
Function Call:> MathPlugin-Add with arguments: {"input":9.99,"amount":9.99}
Function Result:> 19.98 for function: MathPlugin-Add
# AuthorRole.ASSISTANT: The price of the special drink, Chai Tea, is $9.99 and the price of the special food
item, Clam Chowder, is $9.99. Added together, the total price is $19.98.
```
<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
1. Why is this change required?
2. What problem does it solve?
3. What scenario does it contribute to?
4. If it fixes an open issue, please link to the issue here.
-->
### Description
Fix handling multiple function calls for the streaming AzureAIAgent.
- Fixes a missing `quote` from the url citation for streaming annotation
content
- Shows the correct way to retrieve Bing Grounding tool calls in the two
concept samples.
- Adds handling for tool content content for OpenAPI plugins.
- Adds logging for streaming agent invocation tool calls.
- Relaxes the handling of the `FunctionResultContent` id attribute to be
`str | None` similar to that of `FunctionCallContent`. The type hints
for `id` have always been `str | None`, but the actual type hint on the
attribute has been `str`. We don't always get a `FunctionResultContent`
id from the Azure Agent Service during streaming invocations - message
addition via the overide `__add__` method still work properly.
- Move the AzureAIAgent pkg dependencies to be installed by default,
instead of requiring the `azure` extra.
- Closes #12312
- Closes #12328
- Closes #12331
- Closes #12324
<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->
### Contribution Checklist
<!-- Before submitting this PR, please make sure: -->
- [X] The code builds clean without any errors or warnings
- [X] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [X] All unit tests pass, and I have added new tests where possible
- [X] I didn't break anyone :smile:
2025-06-03 10:11:56 +09:00
|
|
|
# azure agents
|
2025-11-24 13:53:57 -08:00
|
|
|
"azure-ai-projects ~= 1.0.0b12",
|
2025-09-01 11:35:56 +09:00
|
|
|
"azure-ai-agents >= 1.2.0b3",
|
2024-08-26 13:34:29 +02:00
|
|
|
"aiohttp ~= 3.8",
|
Python: Add the Python process framework (#9363)
### Motivation and Context
An initial PR to add the foundational pieces of the Python Process
framework, which holds it design to be similar to dotnet in that step
types are added to a process builder, and later on, when the step is
run, it is first instantiated and the proper state is provided.
<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
1. Why is this change required?
2. What problem does it solve?
3. What scenario does it contribute to?
4. If it fixes an open issue, please link to the issue here.
-->
### Description
Adding the initial process framework components:
- Closes #9354
**TODO**
- more unit tests will be added to increase the code coverage. Currently
there are several files with no (or low) code coverage.
- more samples will either be added to this PR or a subsequent PR
<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->
### Contribution Checklist
<!-- Before submitting this PR, please make sure: -->
- [X] The code builds clean without any errors or warnings
- [X] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [X] All unit tests pass, and I have added new tests where possible
- [X] I didn't break anyone :smile:
2024-10-24 13:37:45 -04:00
|
|
|
"cloudevents ~=1.0",
|
Python: Update pydantic requirement from !=2.10.0,!=2.10.1,!=2.10.2,!=2.10.3,<2.12,>=2.0 to >=2.0,!=2.10.0,!=2.10.1,!=2.10.2,!=2.10.3,<2.13 in /python (#13246)
Updates the requirements on
[pydantic](https://github.com/pydantic/pydantic) to permit the latest
version.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/pydantic/pydantic/releases">pydantic's
releases</a>.</em></p>
<blockquote>
<h2>v2.12.1 2025-10-13</h2>
<h2>v2.12.1 (2025-10-13)</h2>
<p><a
href="https://github.com/pydantic/pydantic/releases/tag/v2.12.1">GitHub
release</a></p>
<h3>What's Changed</h3>
<p>This is the first 2.12 patch release, addressing most (but not all
yet) regressions from the initial 2.12.0 release.</p>
<h4>Fixes</h4>
<ul>
<li>Do not evaluate annotations when inspecting validators and
serializers by <a
href="https://github.com/Viicos"><code>@Viicos</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic/pull/12355">#12355</a></li>
<li>Make sure <code>None</code> is converted as <code>NoneType</code> in
Python 3.14 by <a
href="https://github.com/Viicos"><code>@Viicos</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic/pull/12370">#12370</a></li>
<li>Backport V1 runtime warning when using Python 3.14 by <a
href="https://github.com/Viicos"><code>@Viicos</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic/pull/12367">#12367</a></li>
<li>Fix error message for invalid validator signatures by <a
href="https://github.com/Viicos"><code>@Viicos</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic/pull/12366">#12366</a></li>
<li>Populate field name in <code>ValidationInfo</code> for validation of
default value by <a
href="https://github.com/Viicos"><code>@Viicos</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic-core/pull/1826">pydantic-core#1826</a></li>
<li>Encode credentials in <code>MultiHostUrl</code> builder by <a
href="https://github.com/willswire"><code>@willswire</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic-core/pull/1829">pydantic-core#1829</a></li>
<li>Respect field serializers when using <code>serialize_as_any</code>
serialization flag by <a
href="https://github.com/davidhewitt"><code>@davidhewitt</code></a> in
<a
href="https://redirect.github.com/pydantic/pydantic-core/pull/1829">pydantic-core#1829</a></li>
<li>Fix various <code>RootModel</code> serialization issues by <a
href="https://github.com/davidhewitt"><code>@davidhewitt</code></a> in
<a
href="https://redirect.github.com/pydantic/pydantic-core/pull/1836">pydantic-core#1836</a></li>
</ul>
<h3>New Contributors</h3>
<ul>
<li><a href="https://github.com/willswire"><code>@willswire</code></a>
made their first contribution in <a
href="https://redirect.github.com/pydantic/pydantic-core/pull/1829">pydantic-core#1829</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/pydantic/pydantic/compare/v2.12.0...v2.12.1">https://github.com/pydantic/pydantic/compare/v2.12.0...v2.12.1</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/pydantic/pydantic/blob/v2.12.1/HISTORY.md">pydantic's
changelog</a>.</em></p>
<blockquote>
<h2>v2.12.1 (2025-10-13)</h2>
<p><a
href="https://github.com/pydantic/pydantic/releases/tag/v2.12.1">GitHub
release</a></p>
<h3>What's Changed</h3>
<p>This is the first 2.12 patch release, addressing most (but not all
yet) regressions from the initial 2.12.0 release.</p>
<h4>Fixes</h4>
<ul>
<li>Do not evaluate annotations when inspecting validators and
serializers by <a
href="https://github.com/Viicos"><code>@Viicos</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic/pull/12355">#12355</a></li>
<li>Make sure <code>None</code> is converted as <code>NoneType</code> in
Python 3.14 by <a
href="https://github.com/Viicos"><code>@Viicos</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic/pull/12370">#12370</a></li>
<li>Backport V1 runtime warning when using Python 3.14 by <a
href="https://github.com/Viicos"><code>@Viicos</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic/pull/12367">#12367</a></li>
<li>Fix error message for invalid validator signatures by <a
href="https://github.com/Viicos"><code>@Viicos</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic/pull/12366">#12366</a></li>
<li>Populate field name in <code>ValidationInfo</code> for validation of
default value by <a
href="https://github.com/Viicos"><code>@Viicos</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic-core/pull/1826">pydantic-core#1826</a></li>
<li>Encode credentials in <code>MultiHostUrl</code> builder by <a
href="https://github.com/willswire"><code>@willswire</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic-core/pull/1829">pydantic-core#1829</a></li>
<li>Respect field serializers when using <code>serialize_as_any</code>
serialization flag by <a
href="https://github.com/davidhewitt"><code>@davidhewitt</code></a> in
<a
href="https://redirect.github.com/pydantic/pydantic-core/pull/1829">pydantic-core#1829</a></li>
<li>Fix various <code>RootModel</code> serialization issues by <a
href="https://github.com/davidhewitt"><code>@davidhewitt</code></a> in
<a
href="https://redirect.github.com/pydantic/pydantic-core/pull/1836">pydantic-core#1836</a></li>
</ul>
<h3>New Contributors</h3>
<ul>
<li><a href="https://github.com/willswire"><code>@willswire</code></a>
made their first contribution in <a
href="https://redirect.github.com/pydantic/pydantic-core/pull/1829">pydantic-core#1829</a></li>
</ul>
<h2>v2.12.0 (2025-10-07)</h2>
<p><a
href="https://github.com/pydantic/pydantic/releases/tag/v2.12.0">GitHub
release</a></p>
<h3>What's Changed</h3>
<p>This is the final 2.12 release. It features the work of 20 external
contributors and provides useful new features, along with initial Python
3.14 support.
Several minor changes (considered non-breaking changes according to our
<a
href="https://docs.pydantic.dev/2.12/version-policy/#pydantic-v2">versioning
policy</a>)
are also included in this release. Make sure to look into them before
upgrading.</p>
<p><strong>Note that Pydantic V1 is not compatible with Python 3.14 and
greater</strong>.</p>
<p>Changes (see the alpha and beta releases for additional changes since
2.11):</p>
<h4>Packaging</h4>
<ul>
<li>Update V1 copy to v1.10.24 by <a
href="https://github.com/Viicos"><code>@Viicos</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic/pull/12338">#12338</a></li>
</ul>
<h4>New Features</h4>
<ul>
<li>Add <code>extra</code> parameter to the validate functions by <a
href="https://github.com/anvilpete"><code>@anvilpete</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic/pull/12233">#12233</a></li>
<li>Add <code>exclude_computed_fields</code> serialization option by <a
href="https://github.com/Viicos"><code>@Viicos</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic/pull/12334">#12334</a></li>
<li>Add <code>preverse_empty_path</code> URL options by <a
href="https://github.com/Viicos"><code>@Viicos</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic/pull/12336">#12336</a></li>
<li>Add <code>union_format</code> parameter to JSON Schema generation by
<a href="https://github.com/Viicos"><code>@Viicos</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic/pull/12147">#12147</a></li>
<li>Add <code>__qualname__</code> parameter for
<code>create_model</code> by <a
href="https://github.com/Atry"><code>@Atry</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic/pull/12001">#12001</a></li>
</ul>
<h4>Fixes</h4>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/pydantic/pydantic/commit/b4076c66773b514d4891f036a4cc562b8ff0ff21"><code>b4076c6</code></a>
Prepare release 2.12.1</li>
<li><a
href="https://github.com/pydantic/pydantic/commit/b67f07291167b4005a6eeee05fcad67b43a53f41"><code>b67f072</code></a>
Bump <code>pydantic-core</code> to v2.41.3</li>
<li><a
href="https://github.com/pydantic/pydantic/commit/529f7ddc4a2eac8eb41b39d8b4d6c07997de46f8"><code>529f7dd</code></a>
Fix error message for invalid validator signatures</li>
<li><a
href="https://github.com/pydantic/pydantic/commit/445fa79f2eda31e2a1922f9736f7613bbd9680b5"><code>445fa79</code></a>
Backport V1 runtime warning</li>
<li><a
href="https://github.com/pydantic/pydantic/commit/b3dba9be0705293019c368d8acc5b8b60dcf5148"><code>b3dba9b</code></a>
Make sure <code>None</code> is converted as <code>NoneType</code> in
Python 3.14</li>
<li><a
href="https://github.com/pydantic/pydantic/commit/1e8c41ee1327c153c713f47feb98a5fa7bb8ce89"><code>1e8c41e</code></a>
Do not evaluate annotations when inspecting validators and
serializers</li>
<li><a
href="https://github.com/pydantic/pydantic/commit/e2a199fe4fc5f8cbc32c93840c9783b332b4f112"><code>e2a199f</code></a>
Upgrade dependencies for 3.14</li>
<li><a
href="https://github.com/pydantic/pydantic/commit/79353e6a6b9fc7a34304d5981b670832044caa99"><code>79353e6</code></a>
Fix spelling in <code>model_dump()</code> docstring</li>
<li><a
href="https://github.com/pydantic/pydantic/commit/aa6b6cd206253c24a46a5fb830e2ff029d21fb95"><code>aa6b6cd</code></a>
Fix typo in experimental.md documentation</li>
<li><a
href="https://github.com/pydantic/pydantic/commit/a7928e692e5a7841c4379d1af1fd37966941dade"><code>a7928e6</code></a>
Update Python version in documentation publishing CI job (<a
href="https://redirect.github.com/pydantic/pydantic/issues/12344">#12344</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/pydantic/pydantic/compare/v2.0...v2.12.1">compare
view</a></li>
</ul>
</details>
<br />
You can trigger a rebase of this PR by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
</details>
> **Note**
> Automatic rebases have been disabled on this pull request as it has
been open for over 30 days.
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-08 10:04:47 +09:00
|
|
|
"pydantic >=2.0,!=2.10.0,!=2.10.1,!=2.10.2,!=2.10.3,<2.13",
|
2024-08-26 13:34:29 +02:00
|
|
|
"pydantic-settings ~= 2.0",
|
|
|
|
|
"defusedxml ~= 0.7",
|
2024-09-30 11:01:30 -04:00
|
|
|
# azure identity
|
Python: Common agent invocation API updates (#11224)
### Motivation and Context
After this week's release of the common agent invocation API, there are
some things that we can do as further improvements.
<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
1. Why is this change required?
2. What problem does it solve?
3. What scenario does it contribute to?
4. If it fixes an open issue, please link to the issue here.
-->
### Description
This PR includes updates for:
- Right now we force any agent invocation to provide some type of input,
whether a str, a CMC, or a list of str | CMC. At times, there could be a
reason, based on using an existing thread or just providing instructions
to the agent, that one doesn't need to provide a message to invoke the
agent. Updating to make messages optional. Updating the ABC contracts as
well.
- For `invoke_stream` calls on agents, there's no need to call
`thread.on_new_message` that contains a streaming chunks -- once we move
to support memory, this is where the "hook" will be. Removing this call.
- The `get_messages(...)` methods on the `AutoGenConversableAgentThread`
and the `ChatHistoryAgentThread` returned concrete `ChatHistory`
objects, whereas the `AssistantAgentThread` and `AzureAIAgentThread`
returned `AsyncIterable[ChatMessageContent]`. To align to a common API,
the `AutoGenConversableAgentThread` and `ChatHistoryAgentThread`'s
`get_messages(...)` methods were moved to return
`AsyncIterable[ChatMessageContent]`.
- Removing a public facing `output_messages` for streaming invoke, and
replacing it with a callback to get a chat history back of "full"
messages. Two samples are added in `samples/concepts/agents`:
- `azure_ai_agent/azure_ai_agent_streaming_chat_history_callback.py`
- `openai_assistant_streaming_chat_history_callback.py`
- Update the README for OpenAI Assistants to showcase new thread
abstraction.
- Include unit tests for chat history (`on_complete`) callback.
<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->
### Contribution Checklist
<!-- Before submitting this PR, please make sure: -->
- [X] The code builds clean without any errors or warnings
- [X] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [X] All unit tests pass, and I have added new tests where possible
- [ ] I didn't break anyone :smile:
2025-03-28 00:59:46 +09:00
|
|
|
"azure-identity >= 1.13",
|
2024-08-26 13:34:29 +02:00
|
|
|
# embeddings
|
2024-09-16 14:13:23 -04:00
|
|
|
"numpy >= 1.25.0; python_version < '3.12'",
|
|
|
|
|
"numpy >= 1.26.0; python_version >= '3.12'",
|
2024-08-26 13:34:29 +02:00
|
|
|
# openai connector
|
Python: support (Azure) OpenAI realtime audio models (#13291)
### Motivation and Context
As of 2/27/2026, revived the PR, and the latest code is working for both
Azure OpenAI realtime models and OpenAI realtime models.
SK has support for realtime-preview models; however, since they've gone
to GA we have not added support for the latest library abstractions.
This PR brings in the changes to support running models like
`gpt-realtime-1.5`, `gpt-realtime`, `gpt-realtime-mini` or `gpt-audio`.
<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
1. Why is this change required?
2. What problem does it solve?
3. What scenario does it contribute to?
4. If it fixes an open issue, please link to the issue here.
-->
### Description
- Closes #13267
- Code now relies on `openai` >= 2.0
- Considered a breaking change due some new config added to the
execution settings.
<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->
### Contribution Checklist
<!-- Before submitting this PR, please make sure: -->
- [X] The code builds clean without any errors or warnings
- [X] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [X] All unit tests pass, and I have added new tests where possible
- [ ] I didn't break anyone :smile:
2026-02-28 09:01:03 +09:00
|
|
|
"openai >= 2.0.0",
|
2024-08-26 13:34:29 +02:00
|
|
|
# openapi and swagger
|
|
|
|
|
"openapi_core >= 0.18,<0.20",
|
2025-03-12 21:49:50 +01:00
|
|
|
"websockets >= 13, < 16",
|
2025-03-07 18:15:59 +01:00
|
|
|
"aiortc>=1.9.0",
|
2024-08-26 13:34:29 +02:00
|
|
|
# OpenTelemetry
|
|
|
|
|
"opentelemetry-api ~= 1.24",
|
|
|
|
|
"opentelemetry-sdk ~= 1.24",
|
2025-04-22 16:38:30 +02:00
|
|
|
"prance >= 23.6.21,< 25.4.9",
|
2024-08-26 13:34:29 +02:00
|
|
|
# templating
|
|
|
|
|
"pybars4 ~= 0.9",
|
|
|
|
|
"jinja2 ~= 3.1",
|
2024-10-17 10:46:11 -07:00
|
|
|
"nest-asyncio ~= 1.6",
|
2025-02-12 14:05:39 +01:00
|
|
|
"scipy>=1.15.1",
|
2025-04-03 14:29:28 +02:00
|
|
|
"websockets >= 13, < 16",
|
2025-03-12 21:14:45 +01:00
|
|
|
"aiortc>=1.9.0",
|
2025-05-07 05:33:36 -07:00
|
|
|
# Protobuf
|
2025-05-13 19:20:56 +02:00
|
|
|
# explicit typing extensions
|
|
|
|
|
"typing-extensions>=4.13",
|
2026-02-10 11:05:13 +01:00
|
|
|
"mcp>=1.26.0",
|
2024-03-12 10:27:55 +01:00
|
|
|
]
|
2024-06-29 01:03:07 +02:00
|
|
|
|
|
|
|
|
### Optional dependencies
|
2024-08-26 13:34:29 +02:00
|
|
|
[project.optional-dependencies]
|
2025-05-06 19:29:29 +09:00
|
|
|
anthropic = [
|
|
|
|
|
"anthropic ~= 0.32"
|
|
|
|
|
]
|
2025-02-20 20:11:05 +09:00
|
|
|
autogen = [
|
|
|
|
|
"autogen-agentchat >= 0.2, <0.4"
|
|
|
|
|
]
|
2025-05-06 19:29:29 +09:00
|
|
|
aws = [
|
2025-08-06 02:42:11 +00:00
|
|
|
"boto3>=1.36.4,<1.41.0",
|
2025-05-06 19:29:29 +09:00
|
|
|
]
|
2024-08-26 13:34:29 +02:00
|
|
|
azure = [
|
2024-11-19 11:25:25 -08:00
|
|
|
"azure-ai-inference >= 1.0.0b6",
|
|
|
|
|
"azure-core-tracing-opentelemetry >= 1.0.0b11",
|
2024-08-26 13:34:29 +02:00
|
|
|
"azure-search-documents >= 11.6.0b4",
|
|
|
|
|
"azure-cosmos ~= 4.7"
|
|
|
|
|
]
|
|
|
|
|
chroma = [
|
2026-04-08 00:43:12 +00:00
|
|
|
"chromadb >= 0.5,< 1.4"
|
2024-08-26 13:34:29 +02:00
|
|
|
]
|
2025-09-22 18:01:51 -07:00
|
|
|
copilotstudio = [
|
|
|
|
|
"microsoft-agents-copilotstudio-client >= 0.3.1",
|
|
|
|
|
"microsoft-agents-activity >= 0.3.1"
|
|
|
|
|
]
|
2025-03-11 10:19:49 +01:00
|
|
|
faiss = [
|
|
|
|
|
"faiss-cpu>=1.10.0"
|
|
|
|
|
]
|
2025-05-06 19:29:29 +09:00
|
|
|
google = [
|
2025-10-29 21:22:14 -07:00
|
|
|
"google-cloud-aiplatform ~= 1.114.0",
|
2025-11-24 13:53:57 -08:00
|
|
|
"google-genai ~= 1.51.0"
|
2025-05-06 19:29:29 +09:00
|
|
|
]
|
2024-08-26 13:34:29 +02:00
|
|
|
hugging_face = [
|
|
|
|
|
"transformers[torch] ~= 4.28",
|
Python: Update sentence-transformers requirement from <5.0,>=2.2 to >=2.2,<6.0 in /python (#12679)
Updates the requirements on
[sentence-transformers](https://github.com/UKPLab/sentence-transformers)
to permit the latest version.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/UKPLab/sentence-transformers/releases">sentence-transformers's
releases</a>.</em></p>
<blockquote>
<h2>v5.0.0 - SparseEncoder support; encode_query & encode_document;
multi-processing in encode; Router; and more</h2>
<p>This release consists of significant updates including the
introduction of Sparse Encoder models, new methods
<code>encode_query</code> and <code>encode_document</code>,
multi-processing support in <code>encode</code>, the <code>Router</code>
module for asymmetric models, custom learning rates for parameter
groups, composite loss logging, and various small improvements and bug
fixes.</p>
<p>Install this version with</p>
<pre lang="bash"><code># Training + Inference
pip install sentence-transformers[train]==5.0.0
<h1>Inference only, use one of:</h1>
<p>pip install sentence-transformers==5.0.0
pip install sentence-transformers[onnx-gpu]==5.0.0
pip install sentence-transformers[onnx]==5.0.0
pip install sentence-transformers[openvino]==5.0.0
</code></pre></p>
<blockquote>
<p>[!TIP]
Our <a href="https://huggingface.co/blog/train-sparse-encoder">Training
and Finetuning Sparse Embedding Models with Sentence Transformers v5
blogpost</a> is an excellent place to learn about finetuning sparse
embedding models!</p>
</blockquote>
<blockquote>
<p>[!NOTE]
This release is designed to be fully backwards compatible, meaning that
you should be able to upgrade from older versions to v5.x without any
issues. If you are running into issues when upgrading, feel free to open
<a href="https://github.com/uKPLab/sentence-transformers/issues/new">an
issue</a>. Also see the <a
href="https://sbert.net/docs/migration_guide.html">Migration Guide</a>
for changes that we would recommend.</p>
</blockquote>
<h2>Sparse Encoder models</h2>
<p>The Sentence Transformers v5.0 release introduces Sparse Embedding
models, also known as Sparse Encoders. These models generate
high-dimensional embeddings, often with 30,000+ dimensions, where often
only <1% of dimensions are non-zero. This is in contrast to the
standard dense embedding models, which produce low-dimensional
embeddings (e.g., 384, 768, or 1024 dimensions) where all values are
non-zero.</p>
<p>Usually, each active dimension (i.e. the dimension with a non-zero
value) in a sparse embedding corresponds to a specific token in the
model's vocabulary, allowing for interpretability. This means that you
can e.g. see exactly which words/tokens are important in an embedding,
and that you can inspect exactly because of which words/tokens two texts
are deemed similar.</p>
<p>Let's have a look at <a
href="https://huggingface.co/naver/splade-v3">naver/splade-v3</a>, a
strong sparse embedding model, as an example:</p>
<pre lang="python"><code>from sentence_transformers import SparseEncoder
<h1>Download from the 🤗 Hub</h1>
<p>model = SparseEncoder("naver/splade-v3")</p>
<h1>Run inference</h1>
<p>sentences = [
"The weather is lovely today.",
"It's so sunny outside!",
"He drove to the stadium.",
]
embeddings = model.encode(sentences)
print(embeddings.shape)</p>
<h1>(3, 30522)</h1>
<h1>Get the similarity scores for the embeddings</h1>
<p>similarities = model.similarity(embeddings, embeddings)
print(similarities)</p>
<h1>tensor([[ 32.4323, 5.8528, 0.0258],</h1>
<p></tr></table>
</code></pre></p>
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/UKPLab/sentence-transformers/commit/8dc0fca767afd74208764fd28f89dd83e8743241"><code>8dc0fca</code></a>
Release v5.0.0</li>
<li><a
href="https://github.com/UKPLab/sentence-transformers/commit/e91af6ac3e160aa0d610ea32aeb295f3ff648e67"><code>e91af6a</code></a>
Update links for SPLADE and Inference-Free SPLADE models collections in
docum...</li>
<li><a
href="https://github.com/UKPLab/sentence-transformers/commit/4c00aea59d4b25061ba03761804a4266c3e8fd33"><code>4c00aea</code></a>
[<code>fix</code>] Remove hub_kwargs in SparseStaticEmbedding.from_json
in favor of more...</li>
<li><a
href="https://github.com/UKPLab/sentence-transformers/commit/28685bb1d771b8609c5e4d4115a8b862267358ce"><code>28685bb</code></a>
Clean up gitignore (<a
href="https://redirect.github.com/UKPLab/sentence-transformers/issues/3409">#3409</a>)</li>
<li><a
href="https://github.com/UKPLab/sentence-transformers/commit/85dd17518f15a8466ec131a4f82e1e93e4ada631"><code>85dd175</code></a>
Fix formatting of docstring arguments in
SpladeRegularizerWeightSchedulerCall...</li>
<li><a
href="https://github.com/UKPLab/sentence-transformers/commit/14afc4b6681f0b83bded05fe91a8fd3320d453f9"><code>14afc4b</code></a>
Merge PR <a
href="https://redirect.github.com/UKPLab/sentence-transformers/issues/3401">#3401</a>:
[<code>v5</code>] Add support for Sparse Embedding models</li>
<li><a
href="https://github.com/UKPLab/sentence-transformers/commit/2d248419eb47c3710d50fa560d41e7fd17459846"><code>2d24841</code></a>
Update tip phrasing and fix links</li>
<li><a
href="https://github.com/UKPLab/sentence-transformers/commit/ed043c56b21d4a6c8f600e9d2a74523e522d6823"><code>ed043c5</code></a>
typo</li>
<li><a
href="https://github.com/UKPLab/sentence-transformers/commit/b2679d12294f9e0e5a2250cbcb400e9b4111f856"><code>b2679d1</code></a>
fix broken link</li>
<li><a
href="https://github.com/UKPLab/sentence-transformers/commit/d30341ec2f3a8fa50eb41f924273e414bb7c0db7"><code>d30341e</code></a>
Update tips to prepared for v5.0</li>
<li>Additional commits viewable in <a
href="https://github.com/UKPLab/sentence-transformers/compare/v2.2.0...v5.0.0">compare
view</a></li>
</ul>
</details>
<br />
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
</details>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Evan Mattson <35585003+moonbox3@users.noreply.github.com>
2025-07-17 15:01:11 +09:00
|
|
|
"sentence-transformers >= 2.2,< 6.0",
|
2025-09-03 17:07:16 +00:00
|
|
|
"torch == 2.8.0"
|
2024-08-26 13:34:29 +02:00
|
|
|
]
|
2025-04-03 20:08:45 +02:00
|
|
|
mcp = [
|
Python: fixes and updates for MCP (#12039)
### Motivation and Context
<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
1. Why is this change required?
2. What problem does it solve?
3. What scenario does it contribute to?
4. If it fixes an open issue, please link to the issue here.
-->
Removes the two surpressed calls for extra info out of a MCP server,
since they seemed to hang every now and then.
Updated the package version spec
Added one of the samples as a integration test
Added:
- load_tools flag on the constructor, default = true
- load_prompt flag on the constructor, default = true
- request_timeout param, optional, default None
### Description
<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->
### Contribution Checklist
<!-- Before submitting this PR, please make sure: -->
- [x] The code builds clean without any errors or warnings
- [x] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [x] All unit tests pass, and I have added new tests where possible
- [x] I didn't break anyone :smile:
2025-05-15 00:12:34 +02:00
|
|
|
"mcp>=1.8",
|
2025-04-03 20:08:45 +02:00
|
|
|
]
|
2024-08-26 13:34:29 +02:00
|
|
|
milvus = [
|
2025-09-03 17:07:53 +00:00
|
|
|
"pymilvus >= 2.3,< 2.7",
|
2024-08-26 13:34:29 +02:00
|
|
|
"milvus >= 2.3,<2.3.8; platform_system != 'Windows'"
|
|
|
|
|
]
|
|
|
|
|
mistralai = [
|
2024-11-13 17:52:54 +01:00
|
|
|
"mistralai >= 1.2,< 2.0"
|
2024-08-26 13:34:29 +02:00
|
|
|
]
|
2025-05-06 19:29:29 +09:00
|
|
|
mongo = [
|
Python: Update pymongo requirement from <4.15,>=4.8.0 to >=4.8.0,<4.16 in /python (#13124)
[//]: # (dependabot-start)
⚠️ **Dependabot is rebasing this PR** ⚠️
Rebasing might not happen immediately, so don't worry if this takes some
time.
Note: if you make any changes to this PR yourself, they will take
precedence over the rebase.
---
[//]: # (dependabot-end)
Updates the requirements on
[pymongo](https://github.com/mongodb/mongo-python-driver) to permit the
latest version.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/mongodb/mongo-python-driver/releases">pymongo's
releases</a>.</em></p>
<blockquote>
<h2>PyMongo 4.15.0</h2>
<p>Community notes: <a
href="https://www.mongodb.com/community/forums/t/pymongo-4-15-released/328574">https://www.mongodb.com/community/forums/t/pymongo-4-15-released/328574</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/mongodb/mongo-python-driver/blob/master/doc/changelog.rst">pymongo's
changelog</a>.</em></p>
<blockquote>
<h2>Changes in Version 4.15.0 (2025/09/10)</h2>
<p>PyMongo 4.15 brings a number of changes including:</p>
<ul>
<li>Added :class:<code>~pymongo.encryption_options.TextOpts</code>,
:attr:<code>~pymongo.encryption.Algorithm.TEXTPREVIEW</code>,
:attr:<code>~pymongo.encryption.QueryType.PREFIXPREVIEW</code>,
:attr:<code>~pymongo.encryption.QueryType.SUFFIXPREVIEW</code>,
:attr:<code>~pymongo.encryption.QueryType.SUBSTRINGPREVIEW</code>,
as part of the experimental Queryable Encryption text queries beta.
<code>pymongocrypt>=1.16</code> is required for text query
support.</li>
<li>Added :class:<code>bson.decimal128.DecimalEncoder</code> and
:class:<code>bson.decimal128.DecimalDecoder</code>
to support encoding and decoding of BSON Decimal128 values to
decimal.Decimal values using the TypeRegistry API.</li>
<li>Added support for Windows <code>arm64</code> wheels.</li>
</ul>
<h2>Changes in Version 4.14.1 (2025/08/19)</h2>
<p>Version 4.14.1 is a bug fix release.</p>
<ul>
<li>Fixed a bug in <code>MongoClient.append_metadata()</code> and
<code>AsyncMongoClient.append_metadata()</code>
that allowed duplicate <code>DriverInfo.name</code> to be appended to
the metadata.</li>
</ul>
<p>Issues Resolved
...............</p>
<p>See the <code>PyMongo 4.14.1 release notes in JIRA</code>_ for the
list of resolved issues
in this release.</p>
<p>.. _PyMongo 4.14.1 release notes in JIRA: <a
href="https://jira.mongodb.org/secure/ReleaseNote.jspa?projectId=10004&version=45256">https://jira.mongodb.org/secure/ReleaseNote.jspa?projectId=10004&version=45256</a></p>
<h2>Changes in Version 4.14.0 (2025/08/06)</h2>
<p>.. warning:: PyMongo 4.14 drops support for MongoDB 4.0. PyMongo now
supports
MongoDB 4.2+.</p>
<p>PyMongo 4.14 brings a number of changes including:</p>
<ul>
<li>
<p>Dropped support for MongoDB 4.0.</p>
</li>
<li>
<p>Added preliminary support for Python 3.14 and 3.14 with
free-threading. We do
not yet support the following with Python 3.14:</p>
<ul>
<li>Subinterpreters (<code>concurrent.interpreters</code>)</li>
<li>Free-threading with Encryption</li>
<li>mod_wsgi</li>
</ul>
</li>
<li>
<p>Removed experimental support for free-threading support in Python
3.13.</p>
</li>
<li>
<p>Added :attr:<code>bson.codec_options.TypeRegistry.codecs</code>
and</p>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/mongodb/mongo-python-driver/commit/1514e9b784ed395e7dad806c7b722fef531ecb15"><code>1514e9b</code></a>
Prepare 4.15 release (<a
href="https://redirect.github.com/mongodb/mongo-python-driver/issues/2523">#2523</a>)</li>
<li><a
href="https://github.com/mongodb/mongo-python-driver/commit/98e9f5ecc1396abf2fafe070de36e1bed5691930"><code>98e9f5e</code></a>
PYTHON-5538 Clean up uv lock file handling (<a
href="https://redirect.github.com/mongodb/mongo-python-driver/issues/2522">#2522</a>)</li>
<li><a
href="https://github.com/mongodb/mongo-python-driver/commit/d7316afb632fb16e23214ec2a404b308a1054896"><code>d7316af</code></a>
PYTHON-5328 CRUD Support in Driver for Prefix/Suffix/Substring Indexes
(<a
href="https://redirect.github.com/mongodb/mongo-python-driver/issues/2521">#2521</a>)</li>
<li><a
href="https://github.com/mongodb/mongo-python-driver/commit/7580309e993fdda26dc4ea38ccfd0178e78c99e7"><code>7580309</code></a>
PYTHON-4928 Convert CSFLE spec tests to unified test format (<a
href="https://redirect.github.com/mongodb/mongo-python-driver/issues/2520">#2520</a>)</li>
<li><a
href="https://github.com/mongodb/mongo-python-driver/commit/47c5460d2ec7eced587add33cb6ab0d717218f49"><code>47c5460</code></a>
Bump pyright from 1.1.404 to 1.1.405 (<a
href="https://redirect.github.com/mongodb/mongo-python-driver/issues/2518">#2518</a>)</li>
<li><a
href="https://github.com/mongodb/mongo-python-driver/commit/b84e1a7ce4f53faf3b4898fdf8b5b89251f8c047"><code>b84e1a7</code></a>
PYTHON-5527 - Unified test typo in 'Expected error' (<a
href="https://redirect.github.com/mongodb/mongo-python-driver/issues/2517">#2517</a>)</li>
<li><a
href="https://github.com/mongodb/mongo-python-driver/commit/c0e0554a3b69b7c3140a792934682c19b43fc269"><code>c0e0554</code></a>
PYTHON-5521 - Update TestBsonSizeBatches.test_06_insert_fails_over_16MiB
erro...</li>
<li><a
href="https://github.com/mongodb/mongo-python-driver/commit/d63edf7aea260be286a3bc98e28f961db43a71b0"><code>d63edf7</code></a>
PYTHON-5524 - Fix CSFLE spec test min version checks (<a
href="https://redirect.github.com/mongodb/mongo-python-driver/issues/2516">#2516</a>)</li>
<li><a
href="https://github.com/mongodb/mongo-python-driver/commit/b756bbd2a392ee9a810dd9b5df97fc4e16cfae37"><code>b756bbd</code></a>
Bump the actions group with 2 updates (<a
href="https://redirect.github.com/mongodb/mongo-python-driver/issues/2513">#2513</a>)</li>
<li><a
href="https://github.com/mongodb/mongo-python-driver/commit/b2bba67b61f033be5360bebc1ea260164ae75bb2"><code>b2bba67</code></a>
Update coverage requirement from <=7.10.5,>=5 to
>=5,<=7.10.6 (<a
href="https://redirect.github.com/mongodb/mongo-python-driver/issues/2512">#2512</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/mongodb/mongo-python-driver/compare/4.8.0...4.15.0">compare
view</a></li>
</ul>
</details>
<br />
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
</details>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Mark Wallace <127216156+markwallace-microsoft@users.noreply.github.com>
2026-04-08 10:04:28 +09:00
|
|
|
"pymongo >= 4.8.0, < 4.16",
|
2025-05-06 19:29:29 +09:00
|
|
|
"motor >= 3.3.2,< 3.8.0"
|
|
|
|
|
]
|
|
|
|
|
notebooks = [
|
Python: Update ipykernel requirement from ~=6.29 to >=6.29,<8.0 in /python (#13330)
Updates the requirements on
[ipykernel](https://github.com/ipython/ipykernel) to permit the latest
version.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/ipython/ipykernel/releases">ipykernel's
releases</a>.</em></p>
<blockquote>
<h2>v7.1.0</h2>
<h2>7.1.0</h2>
<p>IPykernel 7.1.0 fixes an issue where display outputs such as
Matplotlib plots were not included when using <code>%notebook</code>
magic to save sessions as <code>.ipynb</code> files (<a
href="https://redirect.github.com/ipython/ipykernel/issues/1435">#1435</a>).
This is enabled using the traitlet
<code>ZMQDisplayPublisher.store_display_history</code> which defaults to
the previous behaviour of False. This is a minor release rather than a
patch release due to the addition of the new traitlet.</p>
<p>Output from threads is restored to the pre-6.29 behavior by default
(route to latest cell, unless <code>get_ipython().set_parent()</code> is
called explicitly from the thread. If it is called, output from that
thread will continue to be routed to the same cell). This behavior is
now opt-in, instead of unconditional (<a
href="https://redirect.github.com/ipython/ipykernel/issues/1451">#1451</a>).</p>
<p>This release also fixes bugs that were introduced into the 7.x branch
relating to Matplotlib plots in separate windows not being displayed
correctly (<a
href="https://redirect.github.com/ipython/ipykernel/issues/1458">#1458</a>),
kernels launched in new threads failing asserts (<a
href="https://redirect.github.com/ipython/ipykernel/issues/1455">#1455</a>),
and <code>ContextVar</code>s persisting between cells (<a
href="https://redirect.github.com/ipython/ipykernel/issues/1462">#1462</a>).
There is also a fix for keyboard interrupts on Windows (<a
href="https://redirect.github.com/ipython/ipykernel/issues/1434">#1434</a>).</p>
<p>(<a
href="https://github.com/ipython/ipykernel/compare/v7.0.1...6f61a6835c217e42c406ee01b359e2fa235baf43">Full
Changelog</a>)</p>
<h3>Enhancements made</h3>
<ul>
<li>Store display outputs in history for <code>%notebook</code> magic <a
href="https://redirect.github.com/ipython/ipykernel/pull/1435">#1435</a>
(<a
href="https://github.com/Darshan808"><code>@Darshan808</code></a>)</li>
</ul>
<h3>Bugs fixed</h3>
<ul>
<li>fix ContextVar persistence across cells <a
href="https://redirect.github.com/ipython/ipykernel/pull/1462">#1462</a>
(<a href="https://github.com/minrk"><code>@minrk</code></a>)</li>
<li>Fix matplotlib eventloops <a
href="https://redirect.github.com/ipython/ipykernel/pull/1458">#1458</a>
(<a
href="https://github.com/ianthomas23"><code>@ianthomas23</code></a>)</li>
<li>Refer to kernel launching thread instead of assuming the main thread
<a
href="https://redirect.github.com/ipython/ipykernel/pull/1455">#1455</a>
(<a href="https://github.com/dfalbel"><code>@dfalbel</code></a>)</li>
<li>Fix routing of background thread output when no parent is set
explicitly <a
href="https://redirect.github.com/ipython/ipykernel/pull/1451">#1451</a>
(<a href="https://github.com/minrk"><code>@minrk</code></a>)</li>
<li>Fix KeyboardInterrupt on Windows by manually resetting interrupt
event <a
href="https://redirect.github.com/ipython/ipykernel/pull/1434">#1434</a>
(<a href="https://github.com/ptosco"><code>@ptosco</code></a>)</li>
</ul>
<h3>Maintenance and upkeep improvements</h3>
<ul>
<li>update pre-commit and related <a
href="https://redirect.github.com/ipython/ipykernel/pull/1465">#1465</a>
(<a href="https://github.com/Carreau"><code>@Carreau</code></a>)</li>
<li>test that matplotlib event loop integration is responsive <a
href="https://redirect.github.com/ipython/ipykernel/pull/1463">#1463</a>
(<a href="https://github.com/minrk"><code>@minrk</code></a>)</li>
<li>update tests for 3.14 <a
href="https://redirect.github.com/ipython/ipykernel/pull/1453">#1453</a>
(<a href="https://github.com/minrk"><code>@minrk</code></a>)</li>
</ul>
<h3>Contributors to this release</h3>
<p>(<a
href="https://github.com/ipython/ipykernel/graphs/contributors?from=2025-10-14&to=2025-10-27&type=c">GitHub
contributors page for this release</a>)</p>
<p><a
href="https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3ACarreau+updated%3A2025-10-14..2025-10-27&type=Issues"><code>@Carreau</code></a>
| <a
href="https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3ADarshan808+updated%3A2025-10-14..2025-10-27&type=Issues"><code>@Darshan808</code></a>
| <a
href="https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3Adfalbel+updated%3A2025-10-14..2025-10-27&type=Issues"><code>@dfalbel</code></a>
| <a
href="https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3Aianthomas23+updated%3A2025-10-14..2025-10-27&type=Issues"><code>@ianthomas23</code></a>
| <a
href="https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3Akrassowski+updated%3A2025-10-14..2025-10-27&type=Issues"><code>@krassowski</code></a>
| <a
href="https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3Alumberbot-app+updated%3A2025-10-14..2025-10-27&type=Issues"><code>@lumberbot-app</code></a>
| <a
href="https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3Aminrk+updated%3A2025-10-14..2025-10-27&type=Issues"><code>@minrk</code></a>
| <a
href="https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3Aptosco+updated%3A2025-10-14..2025-10-27&type=Issues"><code>@ptosco</code></a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/ipython/ipykernel/blob/main/CHANGELOG.md">ipykernel's
changelog</a>.</em></p>
<blockquote>
<h2>7.1.0</h2>
<p>IPykernel 7.1.0 fixes an issue where display outputs such as
Matplotlib plots were not included when using <code>%notebook</code>
magic to save sessions as <code>.ipynb</code> files (<a
href="https://redirect.github.com/ipython/ipykernel/issues/1435">#1435</a>).
This is enabled using the traitlet
<code>ZMQDisplayPublisher.store_display_history</code> which defaults to
the previous behaviour of False. This is a minor release rather than a
patch release due to the addition of the new traitlet.</p>
<p>Output from threads is restored to the pre-6.29 behavior by default
(route to latest cell, unless <code>get_ipython().set_parent()</code> is
called explicitly from the thread. If it is called, output from that
thread will continue to be routed to the same cell). This behavior is
now opt-in, instead of unconditional (<a
href="https://redirect.github.com/ipython/ipykernel/issues/1451">#1451</a>).</p>
<p>This release also fixes bugs that were introduced into the 7.x branch
relating to Matplotlib plots in separate windows not being displayed
correctly (<a
href="https://redirect.github.com/ipython/ipykernel/issues/1458">#1458</a>),
kernels launched in new threads failing asserts (<a
href="https://redirect.github.com/ipython/ipykernel/issues/1455">#1455</a>),
and <code>ContextVar</code>s persisting between cells (<a
href="https://redirect.github.com/ipython/ipykernel/issues/1462">#1462</a>).
There is also a fix for keyboard interrupts on Windows (<a
href="https://redirect.github.com/ipython/ipykernel/issues/1434">#1434</a>).</p>
<p>(<a
href="https://github.com/ipython/ipykernel/compare/v7.0.1...6f61a6835c217e42c406ee01b359e2fa235baf43">Full
Changelog</a>)</p>
<h3>Enhancements made</h3>
<ul>
<li>Store display outputs in history for <code>%notebook</code> magic <a
href="https://redirect.github.com/ipython/ipykernel/pull/1435">#1435</a>
(<a
href="https://github.com/Darshan808"><code>@Darshan808</code></a>)</li>
</ul>
<h3>Bugs fixed</h3>
<ul>
<li>fix ContextVar persistence across cells <a
href="https://redirect.github.com/ipython/ipykernel/pull/1462">#1462</a>
(<a href="https://github.com/minrk"><code>@minrk</code></a>)</li>
<li>Fix matplotlib eventloops <a
href="https://redirect.github.com/ipython/ipykernel/pull/1458">#1458</a>
(<a
href="https://github.com/ianthomas23"><code>@ianthomas23</code></a>)</li>
<li>Refer to kernel launching thread instead of assuming the main thread
<a
href="https://redirect.github.com/ipython/ipykernel/pull/1455">#1455</a>
(<a href="https://github.com/dfalbel"><code>@dfalbel</code></a>)</li>
<li>Fix routing of background thread output when no parent is set
explicitly <a
href="https://redirect.github.com/ipython/ipykernel/pull/1451">#1451</a>
(<a href="https://github.com/minrk"><code>@minrk</code></a>)</li>
<li>Fix KeyboardInterrupt on Windows by manually resetting interrupt
event <a
href="https://redirect.github.com/ipython/ipykernel/pull/1434">#1434</a>
(<a href="https://github.com/ptosco"><code>@ptosco</code></a>)</li>
</ul>
<h3>Maintenance and upkeep improvements</h3>
<ul>
<li>update pre-commit and related <a
href="https://redirect.github.com/ipython/ipykernel/pull/1465">#1465</a>
(<a href="https://github.com/Carreau"><code>@Carreau</code></a>)</li>
<li>test that matplotlib event loop integration is responsive <a
href="https://redirect.github.com/ipython/ipykernel/pull/1463">#1463</a>
(<a href="https://github.com/minrk"><code>@minrk</code></a>)</li>
<li>update tests for 3.14 <a
href="https://redirect.github.com/ipython/ipykernel/pull/1453">#1453</a>
(<a href="https://github.com/minrk"><code>@minrk</code></a>)</li>
</ul>
<h3>Contributors to this release</h3>
<p>(<a
href="https://github.com/ipython/ipykernel/graphs/contributors?from=2025-10-14&to=2025-10-27&type=c">GitHub
contributors page for this release</a>)</p>
<p><a
href="https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3ACarreau+updated%3A2025-10-14..2025-10-27&type=Issues"><code>@Carreau</code></a>
| <a
href="https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3ADarshan808+updated%3A2025-10-14..2025-10-27&type=Issues"><code>@Darshan808</code></a>
| <a
href="https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3Adfalbel+updated%3A2025-10-14..2025-10-27&type=Issues"><code>@dfalbel</code></a>
| <a
href="https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3Aianthomas23+updated%3A2025-10-14..2025-10-27&type=Issues"><code>@ianthomas23</code></a>
| <a
href="https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3Akrassowski+updated%3A2025-10-14..2025-10-27&type=Issues"><code>@krassowski</code></a>
| <a
href="https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3Alumberbot-app+updated%3A2025-10-14..2025-10-27&type=Issues"><code>@lumberbot-app</code></a>
| <a
href="https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3Aminrk+updated%3A2025-10-14..2025-10-27&type=Issues"><code>@minrk</code></a>
| <a
href="https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3Aptosco+updated%3A2025-10-14..2025-10-27&type=Issues"><code>@ptosco</code></a></p>
<!-- raw HTML omitted -->
<h2>7.0.1</h2>
<p>IPykernel 7.0.1 is a bug fix release to support CPython 3.14.</p>
<p>(<a
href="https://github.com/ipython/ipykernel/compare/v7.0.0...6d9a14a21a8e328e384ebac48e4ccbaad85b1d45">Full
Changelog</a>)</p>
<h3>Bugs fixed</h3>
<ul>
<li>Avoid overriding Thread._context in Python 3.14 <a
href="https://redirect.github.com/ipython/ipykernel/pull/1447">#1447</a>
(<a
href="https://github.com/ianthomas23"><code>@ianthomas23</code></a>)</li>
</ul>
<h3>Maintenance and upkeep improvements</h3>
<ul>
<li>Fix 7.x license warnings <a
href="https://redirect.github.com/ipython/ipykernel/pull/1448">#1448</a>
(<a href="https://github.com/bollwyvl"><code>@bollwyvl</code></a>)</li>
<li>ci: Test on PyPy 3.11 instead of 3.10 <a
href="https://redirect.github.com/ipython/ipykernel/pull/1444">#1444</a>
(<a href="https://github.com/cclauss"><code>@cclauss</code></a>)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/ipython/ipykernel/commit/39eaf96ab6db0d0ff9ad269831384c53a11e11d8"><code>39eaf96</code></a>
Publish 7.1.0</li>
<li><a
href="https://github.com/ipython/ipykernel/commit/6f61a6835c217e42c406ee01b359e2fa235baf43"><code>6f61a68</code></a>
test that matplotlib event loop integration is responsive (<a
href="https://redirect.github.com/ipython/ipykernel/issues/1463">#1463</a>)</li>
<li><a
href="https://github.com/ipython/ipykernel/commit/8446e02948c390793e129affeceedfa30ed5080f"><code>8446e02</code></a>
Fix KeyboardInterrupt on Windows by manually resetting interrupt event
(<a
href="https://redirect.github.com/ipython/ipykernel/issues/1434">#1434</a>)</li>
<li><a
href="https://github.com/ipython/ipykernel/commit/dd1e09484854c8dedcd98436bc01b6b8e1cc9034"><code>dd1e094</code></a>
update pre-commit and related (<a
href="https://redirect.github.com/ipython/ipykernel/issues/1465">#1465</a>)</li>
<li><a
href="https://github.com/ipython/ipykernel/commit/95f245138589db4f723b8af06107cdfeadc53314"><code>95f2451</code></a>
fix ContextVar persistence across cells (<a
href="https://redirect.github.com/ipython/ipykernel/issues/1462">#1462</a>)</li>
<li><a
href="https://github.com/ipython/ipykernel/commit/c56a7aab3cad1fb91f7e7185dc7403d561ecd667"><code>c56a7aa</code></a>
Fix matplotlib eventloops (<a
href="https://redirect.github.com/ipython/ipykernel/issues/1458">#1458</a>)</li>
<li><a
href="https://github.com/ipython/ipykernel/commit/c7af34cd19ebcd43f5aafe1919909feb6e898387"><code>c7af34c</code></a>
Refer to kernel laucnhing thread instead of assuming the main thread (<a
href="https://redirect.github.com/ipython/ipykernel/issues/1455">#1455</a>)</li>
<li><a
href="https://github.com/ipython/ipykernel/commit/7193d14de447a18470a18d60b81eda5f0048b6aa"><code>7193d14</code></a>
Fix routing of background thread output when no parent is set explicitly
(<a
href="https://redirect.github.com/ipython/ipykernel/issues/1451">#1451</a>)</li>
<li><a
href="https://github.com/ipython/ipykernel/commit/b8f5dfc3a35a658c66b85213e60f634bd8a44488"><code>b8f5dfc</code></a>
Store display outputs in history for <code>%notebook</code> magic (<a
href="https://redirect.github.com/ipython/ipykernel/issues/1435">#1435</a>)</li>
<li><a
href="https://github.com/ipython/ipykernel/commit/93f11dbb02692a7922cb6fdb4ebadffdb8b691c0"><code>93f11db</code></a>
update tests for 3.14 (<a
href="https://redirect.github.com/ipython/ipykernel/issues/1453">#1453</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/ipython/ipykernel/compare/v6.29.0...v7.1.0">compare
view</a></li>
</ul>
</details>
<br />
You can trigger a rebase of this PR by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
</details>
> **Note**
> Automatic rebases have been disabled on this pull request as it has
been open for over 30 days.
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-08 10:25:57 +09:00
|
|
|
"ipykernel >= 6.29,< 8.0"
|
2025-05-06 19:29:29 +09:00
|
|
|
]
|
2024-08-26 13:34:29 +02:00
|
|
|
ollama = [
|
Python: enable ollama streaming tool calls (#9890)
### Motivation and Context
<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
1. Why is this change required?
2. What problem does it solve?
3. What scenario does it contribute to?
4. If it fixes an open issue, please link to the issue here.
-->
Ollama has enabled streaming tool calling, and so we add that too!
See release notes: https://github.com/ollama/ollama/releases/tag/v0.4.6
Also encountered a bug when passing generic PromptExecutionSettings to
all ChatCompletions with Function calling enabled, the
_verify_function_choice_settings often check if something is a type of
PES matching the service, that is not the case and throws even though it
should work (for instance when using a yaml based function), this fixes
that as well by casting in the public methods of chat completion base.
### Description
<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->
### Contribution Checklist
<!-- Before submitting this PR, please make sure: -->
- [x] The code builds clean without any errors or warnings
- [x] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [x] All unit tests pass, and I have added new tests where possible
- [x] I didn't break anyone :smile:
2024-12-09 16:58:57 +01:00
|
|
|
"ollama ~= 0.4"
|
2024-08-26 13:34:29 +02:00
|
|
|
]
|
2024-10-10 19:41:21 +02:00
|
|
|
onnx = [
|
2025-10-24 11:23:08 +09:00
|
|
|
# Pinning due to uv tag-resolution issues on macOS.
|
|
|
|
|
"onnxruntime==1.22.1",
|
|
|
|
|
"onnxruntime-genai==0.9.0"
|
2024-10-10 19:41:21 +02:00
|
|
|
]
|
Python: feat(oracle): add new Oracle connector for Semantic Kernel (#13229)
…ync support
### Motivation and Context
<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
1. Why is this change required?
2. What problem does it solve?
3. What scenario does it contribute to?
4. If it fixes an open issue, please link to the issue here.
-->
This change is required to enable Semantic Kernel users to store and
retrieve embeddings using Oracle databases. Currently, Semantic Kernel
supports vector storage for several backends, but Oracle was missing.
This connector solves that gap by providing full async support, native
VECTOR type handling, and vector index management.
### Description
<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->
This PR introduces a new Oracle connector for Semantic Kernel with the
following features:
- Asynchronous upsert, get, delete and search operations for memory
records.
- Native Oracle VECTOR type support for storing embeddings efficiently.
- Support for HNSW and IVFFLAT vector indexes for similarity search.
- Integration with Semantic Kernel collections, enabling semantic search
and memory operations.
- Comprehensive unit tests to ensure correctness and stability.
The connector is designed to work seamlessly with existing Semantic
Kernel memory abstractions and follows the same async patterns as other
vector stores.
Integration tests have also been implemented and verified locally;
however, they are not included in this PR because the current CI
environment setup for Oracle Database support is unknown.
Once guidance is provided on Oracle DB availability in the CI pipeline,
integration tests can be enabled and added in a follow-up PR.
### Contribution Checklist
<!-- Before submitting this PR, please make sure: -->
- [x] The code builds clean without any errors or warnings
- [x] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [x] All unit tests pass, and I have added new tests where possible
- [x] I didn't break anyone :smile:
2025-11-27 01:38:16 +05:30
|
|
|
oracledb = [
|
|
|
|
|
"oracledb >= 3.4.1"
|
|
|
|
|
]
|
2025-05-06 19:29:29 +09:00
|
|
|
pandas = [
|
|
|
|
|
"pandas ~= 2.2"
|
2024-08-26 13:34:29 +02:00
|
|
|
]
|
|
|
|
|
pinecone = [
|
2025-06-19 20:34:59 +02:00
|
|
|
"pinecone[asyncio, grpc] ~= 7.0"
|
2024-08-26 13:34:29 +02:00
|
|
|
]
|
|
|
|
|
postgres = [
|
|
|
|
|
"psycopg[binary,pool] ~= 3.2"
|
|
|
|
|
]
|
|
|
|
|
qdrant = [
|
|
|
|
|
"qdrant-client ~= 1.9"
|
|
|
|
|
]
|
|
|
|
|
redis = [
|
2026-04-08 09:42:34 +09:00
|
|
|
"redis[hiredis] >= 6,< 8",
|
2024-11-15 15:08:30 +01:00
|
|
|
"types-redis ~= 4.6.0.20240425",
|
2025-04-03 20:08:45 +02:00
|
|
|
"redisvl ~= 0.4"
|
2024-08-26 13:34:29 +02:00
|
|
|
]
|
2025-03-04 08:44:10 +01:00
|
|
|
realtime = [
|
2025-03-12 21:49:50 +01:00
|
|
|
"websockets >= 13, < 16",
|
2025-03-04 08:44:10 +01:00
|
|
|
"aiortc>=1.9.0",
|
|
|
|
|
]
|
2025-04-03 12:47:35 +02:00
|
|
|
sql = [
|
|
|
|
|
"pyodbc >= 5.2"
|
|
|
|
|
]
|
2025-05-06 19:29:29 +09:00
|
|
|
usearch = [
|
|
|
|
|
"usearch ~= 2.16",
|
2025-08-04 18:33:57 -07:00
|
|
|
"pyarrow >= 12.0,< 22.0"
|
2025-05-06 19:29:29 +09:00
|
|
|
]
|
|
|
|
|
weaviate = [
|
2025-10-29 21:22:14 -07:00
|
|
|
"weaviate-client>=4.17.0,<5.0",
|
2025-05-06 19:29:29 +09:00
|
|
|
]
|
2024-08-26 13:34:29 +02:00
|
|
|
|
2026-01-22 04:52:56 +01:00
|
|
|
[dependency-groups]
|
|
|
|
|
dev = [
|
2024-08-26 13:34:29 +02:00
|
|
|
"pre-commit ~= 3.7",
|
Python: Update ipykernel requirement from ~=6.29 to >=6.29,<8.0 in /python (#13330)
Updates the requirements on
[ipykernel](https://github.com/ipython/ipykernel) to permit the latest
version.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/ipython/ipykernel/releases">ipykernel's
releases</a>.</em></p>
<blockquote>
<h2>v7.1.0</h2>
<h2>7.1.0</h2>
<p>IPykernel 7.1.0 fixes an issue where display outputs such as
Matplotlib plots were not included when using <code>%notebook</code>
magic to save sessions as <code>.ipynb</code> files (<a
href="https://redirect.github.com/ipython/ipykernel/issues/1435">#1435</a>).
This is enabled using the traitlet
<code>ZMQDisplayPublisher.store_display_history</code> which defaults to
the previous behaviour of False. This is a minor release rather than a
patch release due to the addition of the new traitlet.</p>
<p>Output from threads is restored to the pre-6.29 behavior by default
(route to latest cell, unless <code>get_ipython().set_parent()</code> is
called explicitly from the thread. If it is called, output from that
thread will continue to be routed to the same cell). This behavior is
now opt-in, instead of unconditional (<a
href="https://redirect.github.com/ipython/ipykernel/issues/1451">#1451</a>).</p>
<p>This release also fixes bugs that were introduced into the 7.x branch
relating to Matplotlib plots in separate windows not being displayed
correctly (<a
href="https://redirect.github.com/ipython/ipykernel/issues/1458">#1458</a>),
kernels launched in new threads failing asserts (<a
href="https://redirect.github.com/ipython/ipykernel/issues/1455">#1455</a>),
and <code>ContextVar</code>s persisting between cells (<a
href="https://redirect.github.com/ipython/ipykernel/issues/1462">#1462</a>).
There is also a fix for keyboard interrupts on Windows (<a
href="https://redirect.github.com/ipython/ipykernel/issues/1434">#1434</a>).</p>
<p>(<a
href="https://github.com/ipython/ipykernel/compare/v7.0.1...6f61a6835c217e42c406ee01b359e2fa235baf43">Full
Changelog</a>)</p>
<h3>Enhancements made</h3>
<ul>
<li>Store display outputs in history for <code>%notebook</code> magic <a
href="https://redirect.github.com/ipython/ipykernel/pull/1435">#1435</a>
(<a
href="https://github.com/Darshan808"><code>@Darshan808</code></a>)</li>
</ul>
<h3>Bugs fixed</h3>
<ul>
<li>fix ContextVar persistence across cells <a
href="https://redirect.github.com/ipython/ipykernel/pull/1462">#1462</a>
(<a href="https://github.com/minrk"><code>@minrk</code></a>)</li>
<li>Fix matplotlib eventloops <a
href="https://redirect.github.com/ipython/ipykernel/pull/1458">#1458</a>
(<a
href="https://github.com/ianthomas23"><code>@ianthomas23</code></a>)</li>
<li>Refer to kernel launching thread instead of assuming the main thread
<a
href="https://redirect.github.com/ipython/ipykernel/pull/1455">#1455</a>
(<a href="https://github.com/dfalbel"><code>@dfalbel</code></a>)</li>
<li>Fix routing of background thread output when no parent is set
explicitly <a
href="https://redirect.github.com/ipython/ipykernel/pull/1451">#1451</a>
(<a href="https://github.com/minrk"><code>@minrk</code></a>)</li>
<li>Fix KeyboardInterrupt on Windows by manually resetting interrupt
event <a
href="https://redirect.github.com/ipython/ipykernel/pull/1434">#1434</a>
(<a href="https://github.com/ptosco"><code>@ptosco</code></a>)</li>
</ul>
<h3>Maintenance and upkeep improvements</h3>
<ul>
<li>update pre-commit and related <a
href="https://redirect.github.com/ipython/ipykernel/pull/1465">#1465</a>
(<a href="https://github.com/Carreau"><code>@Carreau</code></a>)</li>
<li>test that matplotlib event loop integration is responsive <a
href="https://redirect.github.com/ipython/ipykernel/pull/1463">#1463</a>
(<a href="https://github.com/minrk"><code>@minrk</code></a>)</li>
<li>update tests for 3.14 <a
href="https://redirect.github.com/ipython/ipykernel/pull/1453">#1453</a>
(<a href="https://github.com/minrk"><code>@minrk</code></a>)</li>
</ul>
<h3>Contributors to this release</h3>
<p>(<a
href="https://github.com/ipython/ipykernel/graphs/contributors?from=2025-10-14&to=2025-10-27&type=c">GitHub
contributors page for this release</a>)</p>
<p><a
href="https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3ACarreau+updated%3A2025-10-14..2025-10-27&type=Issues"><code>@Carreau</code></a>
| <a
href="https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3ADarshan808+updated%3A2025-10-14..2025-10-27&type=Issues"><code>@Darshan808</code></a>
| <a
href="https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3Adfalbel+updated%3A2025-10-14..2025-10-27&type=Issues"><code>@dfalbel</code></a>
| <a
href="https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3Aianthomas23+updated%3A2025-10-14..2025-10-27&type=Issues"><code>@ianthomas23</code></a>
| <a
href="https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3Akrassowski+updated%3A2025-10-14..2025-10-27&type=Issues"><code>@krassowski</code></a>
| <a
href="https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3Alumberbot-app+updated%3A2025-10-14..2025-10-27&type=Issues"><code>@lumberbot-app</code></a>
| <a
href="https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3Aminrk+updated%3A2025-10-14..2025-10-27&type=Issues"><code>@minrk</code></a>
| <a
href="https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3Aptosco+updated%3A2025-10-14..2025-10-27&type=Issues"><code>@ptosco</code></a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/ipython/ipykernel/blob/main/CHANGELOG.md">ipykernel's
changelog</a>.</em></p>
<blockquote>
<h2>7.1.0</h2>
<p>IPykernel 7.1.0 fixes an issue where display outputs such as
Matplotlib plots were not included when using <code>%notebook</code>
magic to save sessions as <code>.ipynb</code> files (<a
href="https://redirect.github.com/ipython/ipykernel/issues/1435">#1435</a>).
This is enabled using the traitlet
<code>ZMQDisplayPublisher.store_display_history</code> which defaults to
the previous behaviour of False. This is a minor release rather than a
patch release due to the addition of the new traitlet.</p>
<p>Output from threads is restored to the pre-6.29 behavior by default
(route to latest cell, unless <code>get_ipython().set_parent()</code> is
called explicitly from the thread. If it is called, output from that
thread will continue to be routed to the same cell). This behavior is
now opt-in, instead of unconditional (<a
href="https://redirect.github.com/ipython/ipykernel/issues/1451">#1451</a>).</p>
<p>This release also fixes bugs that were introduced into the 7.x branch
relating to Matplotlib plots in separate windows not being displayed
correctly (<a
href="https://redirect.github.com/ipython/ipykernel/issues/1458">#1458</a>),
kernels launched in new threads failing asserts (<a
href="https://redirect.github.com/ipython/ipykernel/issues/1455">#1455</a>),
and <code>ContextVar</code>s persisting between cells (<a
href="https://redirect.github.com/ipython/ipykernel/issues/1462">#1462</a>).
There is also a fix for keyboard interrupts on Windows (<a
href="https://redirect.github.com/ipython/ipykernel/issues/1434">#1434</a>).</p>
<p>(<a
href="https://github.com/ipython/ipykernel/compare/v7.0.1...6f61a6835c217e42c406ee01b359e2fa235baf43">Full
Changelog</a>)</p>
<h3>Enhancements made</h3>
<ul>
<li>Store display outputs in history for <code>%notebook</code> magic <a
href="https://redirect.github.com/ipython/ipykernel/pull/1435">#1435</a>
(<a
href="https://github.com/Darshan808"><code>@Darshan808</code></a>)</li>
</ul>
<h3>Bugs fixed</h3>
<ul>
<li>fix ContextVar persistence across cells <a
href="https://redirect.github.com/ipython/ipykernel/pull/1462">#1462</a>
(<a href="https://github.com/minrk"><code>@minrk</code></a>)</li>
<li>Fix matplotlib eventloops <a
href="https://redirect.github.com/ipython/ipykernel/pull/1458">#1458</a>
(<a
href="https://github.com/ianthomas23"><code>@ianthomas23</code></a>)</li>
<li>Refer to kernel launching thread instead of assuming the main thread
<a
href="https://redirect.github.com/ipython/ipykernel/pull/1455">#1455</a>
(<a href="https://github.com/dfalbel"><code>@dfalbel</code></a>)</li>
<li>Fix routing of background thread output when no parent is set
explicitly <a
href="https://redirect.github.com/ipython/ipykernel/pull/1451">#1451</a>
(<a href="https://github.com/minrk"><code>@minrk</code></a>)</li>
<li>Fix KeyboardInterrupt on Windows by manually resetting interrupt
event <a
href="https://redirect.github.com/ipython/ipykernel/pull/1434">#1434</a>
(<a href="https://github.com/ptosco"><code>@ptosco</code></a>)</li>
</ul>
<h3>Maintenance and upkeep improvements</h3>
<ul>
<li>update pre-commit and related <a
href="https://redirect.github.com/ipython/ipykernel/pull/1465">#1465</a>
(<a href="https://github.com/Carreau"><code>@Carreau</code></a>)</li>
<li>test that matplotlib event loop integration is responsive <a
href="https://redirect.github.com/ipython/ipykernel/pull/1463">#1463</a>
(<a href="https://github.com/minrk"><code>@minrk</code></a>)</li>
<li>update tests for 3.14 <a
href="https://redirect.github.com/ipython/ipykernel/pull/1453">#1453</a>
(<a href="https://github.com/minrk"><code>@minrk</code></a>)</li>
</ul>
<h3>Contributors to this release</h3>
<p>(<a
href="https://github.com/ipython/ipykernel/graphs/contributors?from=2025-10-14&to=2025-10-27&type=c">GitHub
contributors page for this release</a>)</p>
<p><a
href="https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3ACarreau+updated%3A2025-10-14..2025-10-27&type=Issues"><code>@Carreau</code></a>
| <a
href="https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3ADarshan808+updated%3A2025-10-14..2025-10-27&type=Issues"><code>@Darshan808</code></a>
| <a
href="https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3Adfalbel+updated%3A2025-10-14..2025-10-27&type=Issues"><code>@dfalbel</code></a>
| <a
href="https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3Aianthomas23+updated%3A2025-10-14..2025-10-27&type=Issues"><code>@ianthomas23</code></a>
| <a
href="https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3Akrassowski+updated%3A2025-10-14..2025-10-27&type=Issues"><code>@krassowski</code></a>
| <a
href="https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3Alumberbot-app+updated%3A2025-10-14..2025-10-27&type=Issues"><code>@lumberbot-app</code></a>
| <a
href="https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3Aminrk+updated%3A2025-10-14..2025-10-27&type=Issues"><code>@minrk</code></a>
| <a
href="https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3Aptosco+updated%3A2025-10-14..2025-10-27&type=Issues"><code>@ptosco</code></a></p>
<!-- raw HTML omitted -->
<h2>7.0.1</h2>
<p>IPykernel 7.0.1 is a bug fix release to support CPython 3.14.</p>
<p>(<a
href="https://github.com/ipython/ipykernel/compare/v7.0.0...6d9a14a21a8e328e384ebac48e4ccbaad85b1d45">Full
Changelog</a>)</p>
<h3>Bugs fixed</h3>
<ul>
<li>Avoid overriding Thread._context in Python 3.14 <a
href="https://redirect.github.com/ipython/ipykernel/pull/1447">#1447</a>
(<a
href="https://github.com/ianthomas23"><code>@ianthomas23</code></a>)</li>
</ul>
<h3>Maintenance and upkeep improvements</h3>
<ul>
<li>Fix 7.x license warnings <a
href="https://redirect.github.com/ipython/ipykernel/pull/1448">#1448</a>
(<a href="https://github.com/bollwyvl"><code>@bollwyvl</code></a>)</li>
<li>ci: Test on PyPy 3.11 instead of 3.10 <a
href="https://redirect.github.com/ipython/ipykernel/pull/1444">#1444</a>
(<a href="https://github.com/cclauss"><code>@cclauss</code></a>)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/ipython/ipykernel/commit/39eaf96ab6db0d0ff9ad269831384c53a11e11d8"><code>39eaf96</code></a>
Publish 7.1.0</li>
<li><a
href="https://github.com/ipython/ipykernel/commit/6f61a6835c217e42c406ee01b359e2fa235baf43"><code>6f61a68</code></a>
test that matplotlib event loop integration is responsive (<a
href="https://redirect.github.com/ipython/ipykernel/issues/1463">#1463</a>)</li>
<li><a
href="https://github.com/ipython/ipykernel/commit/8446e02948c390793e129affeceedfa30ed5080f"><code>8446e02</code></a>
Fix KeyboardInterrupt on Windows by manually resetting interrupt event
(<a
href="https://redirect.github.com/ipython/ipykernel/issues/1434">#1434</a>)</li>
<li><a
href="https://github.com/ipython/ipykernel/commit/dd1e09484854c8dedcd98436bc01b6b8e1cc9034"><code>dd1e094</code></a>
update pre-commit and related (<a
href="https://redirect.github.com/ipython/ipykernel/issues/1465">#1465</a>)</li>
<li><a
href="https://github.com/ipython/ipykernel/commit/95f245138589db4f723b8af06107cdfeadc53314"><code>95f2451</code></a>
fix ContextVar persistence across cells (<a
href="https://redirect.github.com/ipython/ipykernel/issues/1462">#1462</a>)</li>
<li><a
href="https://github.com/ipython/ipykernel/commit/c56a7aab3cad1fb91f7e7185dc7403d561ecd667"><code>c56a7aa</code></a>
Fix matplotlib eventloops (<a
href="https://redirect.github.com/ipython/ipykernel/issues/1458">#1458</a>)</li>
<li><a
href="https://github.com/ipython/ipykernel/commit/c7af34cd19ebcd43f5aafe1919909feb6e898387"><code>c7af34c</code></a>
Refer to kernel laucnhing thread instead of assuming the main thread (<a
href="https://redirect.github.com/ipython/ipykernel/issues/1455">#1455</a>)</li>
<li><a
href="https://github.com/ipython/ipykernel/commit/7193d14de447a18470a18d60b81eda5f0048b6aa"><code>7193d14</code></a>
Fix routing of background thread output when no parent is set explicitly
(<a
href="https://redirect.github.com/ipython/ipykernel/issues/1451">#1451</a>)</li>
<li><a
href="https://github.com/ipython/ipykernel/commit/b8f5dfc3a35a658c66b85213e60f634bd8a44488"><code>b8f5dfc</code></a>
Store display outputs in history for <code>%notebook</code> magic (<a
href="https://redirect.github.com/ipython/ipykernel/issues/1435">#1435</a>)</li>
<li><a
href="https://github.com/ipython/ipykernel/commit/93f11dbb02692a7922cb6fdb4ebadffdb8b691c0"><code>93f11db</code></a>
update tests for 3.14 (<a
href="https://redirect.github.com/ipython/ipykernel/issues/1453">#1453</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/ipython/ipykernel/compare/v6.29.0...v7.1.0">compare
view</a></li>
</ul>
</details>
<br />
You can trigger a rebase of this PR by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
</details>
> **Note**
> Automatic rebases have been disabled on this pull request as it has
been open for over 30 days.
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-08 10:25:57 +09:00
|
|
|
"ipykernel >= 6.29,< 8.0",
|
2024-08-26 13:34:29 +02:00
|
|
|
"nbconvert ~= 7.16",
|
|
|
|
|
"pytest ~= 8.2",
|
|
|
|
|
"pytest-xdist[psutil] ~= 3.6",
|
|
|
|
|
"pytest-cov >= 5.0",
|
2024-12-12 22:08:46 +01:00
|
|
|
"pytest-asyncio ~= 0.24",
|
|
|
|
|
"pytest-timeout>=2.3.1",
|
2024-08-26 13:34:29 +02:00
|
|
|
"snoop ~= 0.4",
|
|
|
|
|
"mypy >= 1.10",
|
|
|
|
|
"types-PyYAML ~= 6.0.12.20240311",
|
2025-02-25 18:38:30 +01:00
|
|
|
"ruff ~= 0.9"
|
2024-08-26 13:34:29 +02:00
|
|
|
]
|
2026-01-22 04:52:56 +01:00
|
|
|
|
|
|
|
|
[tool.uv]
|
|
|
|
|
prerelease = "if-necessary-or-explicit"
|
2024-08-26 13:34:29 +02:00
|
|
|
environments = [
|
|
|
|
|
"sys_platform == 'darwin'",
|
|
|
|
|
"sys_platform == 'linux'",
|
|
|
|
|
"sys_platform == 'win32'"
|
|
|
|
|
]
|
Python: Add extras and minor package updates (#5440)
### Motivation and Context
<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
1. Why is this change required?
2. What problem does it solve?
3. What scenario does it contribute to?
4. If it fixes an open issue, please link to the issue here.
-->
Poetry groups are not the same as pip extras, so I removed the
individual groups per service, replaced with the ones needed for unit
tests and for integration tests (all).
Then added Extras, for each connector, as well as a `all` extra. Also
added a notebooks extra, this can be used instead of the first cell in
the notebooks as `pip install -U semantic-kernel[notebooks]` closing
#4713
Made all dependencies part of the main, tagged with optional.
Closes #5322
### Contribution Checklist
<!-- Before submitting this PR, please make sure: -->
- [x] The code builds clean without any errors or warnings
- [x] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [x] All unit tests pass, and I have added new tests where possible
- [x] I didn't break anyone :smile:
2024-03-12 16:25:24 +01:00
|
|
|
|
2024-08-01 14:18:10 +02:00
|
|
|
[tool.pytest.ini_options]
|
2024-12-03 18:40:01 +01:00
|
|
|
testpaths = 'tests'
|
2024-08-14 10:06:46 +02:00
|
|
|
addopts = "-ra -q -r fEX"
|
2024-12-12 22:08:46 +01:00
|
|
|
asyncio_mode = "auto"
|
Python: Introducing vector and text search (#9345)
### Motivation and Context
<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
1. Why is this change required?
2. What problem does it solve?
3. What scenario does it contribute to?
4. If it fixes an open issue, please link to the issue here.
-->
This PR does the following things:
- Introduces TextSearch abstractions, including implementation for Bing
- This consists of the TextSearch class, which implements three public
search methods, and handles the internals, the search methods are:
'search' returns a string, 'get_text_search_results' returns a
TextSearchResult object and 'get_search_results' returns a object native
to the search service (i.e. BingWebPages for Bing)
- This also has a method called "create_{search_method}' which returns a
KernelFunction based on the search method. This function can be adapted
by setting the parameters and has several adaptability options and
allows you to create a RAG pipeline easily with custom names and
descriptions of both the functions and the parameters!
- Introduces VectorSearch abstractions, including implementation for
Azure AI Search
- This consists of a VectorStoreBase class which handles all the
internal and three public interfaces, vectorized_search (supply a
vector), vectorizable_text_search (supply a string that get's vectorized
downstream), vector_text_search (supply a string), each vector store
record collection can pick and choose which ones they need to support by
importing one or more next to the VectorSearchBase class.
- Introduces VectorStoreTextSearch as a way to leverage text search
against vector stores
- Since this builds on TextSearch this is now the best way to create a
super powerfull RAG setup with your own data model!
- Adds all the related classes, samples and tests for the above.
- Also reorders the data folder, which might cause some slight breaking
changes for the few stores that have the new vector store model.
- Adds additional IndexKinds and DistanceFunctions to stay in sync with
dotnet.
- Renames VolatileStore and VolatileCollection to InMemoryVectorStore
and InMemoryVectorCollection.
Closes #6832 #6833
### Contribution Checklist
<!-- Before submitting this PR, please make sure: -->
- [x] The code builds clean without any errors or warnings
- [x] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [x] All unit tests pass, and I have added new tests where possible
- [ ] I didn't break anyone :smile:
---------
Co-authored-by: Tao Chen <taochen@microsoft.com>
2024-11-06 14:22:50 +01:00
|
|
|
asyncio_default_fixture_loop_scope = "function"
|
2024-11-07 12:33:41 +01:00
|
|
|
filterwarnings = [
|
|
|
|
|
'ignore:.*FunctionChoiceBehavior.*:DeprecationWarning'
|
|
|
|
|
]
|
2024-12-12 22:08:46 +01:00
|
|
|
timeout = 120
|
|
|
|
|
markers = [
|
2024-12-19 10:34:05 +01:00
|
|
|
"ollama: mark a test as requiring the Ollama service (use \"not ollama\" to skip those tests)",
|
|
|
|
|
"onnx: mark a test as requiring the Onnx service (use \"not onnx\" to skip those tests)"
|
2024-12-12 22:08:46 +01:00
|
|
|
]
|
2024-08-01 14:18:10 +02:00
|
|
|
|
2023-04-13 14:13:19 -07:00
|
|
|
[tool.ruff]
|
|
|
|
|
line-length = 120
|
2024-05-28 17:28:04 +02:00
|
|
|
target-version = "py310"
|
|
|
|
|
include = ["*.py", "*.pyi", "**/pyproject.toml", "*.ipynb"]
|
2024-08-26 13:34:29 +02:00
|
|
|
preview = true
|
2023-04-13 14:13:19 -07:00
|
|
|
|
2024-05-28 17:28:04 +02:00
|
|
|
[tool.ruff.lint]
|
2024-08-05 18:33:49 +02:00
|
|
|
fixable = ["ALL"]
|
|
|
|
|
unfixable = []
|
|
|
|
|
select = [
|
|
|
|
|
"D", #pydocstyle checks
|
|
|
|
|
"E", #error checks
|
|
|
|
|
"F", #pyflakes checks
|
|
|
|
|
"I", #isort
|
|
|
|
|
"CPY", #copyright
|
|
|
|
|
"ISC", #implicit string concat
|
|
|
|
|
"INP", #implicit namespace package
|
|
|
|
|
"RSE", #raise exception parantheses check
|
|
|
|
|
"RET", #flake8-return check
|
|
|
|
|
"SIM", #flake8-simplify check
|
|
|
|
|
"TD", #todos
|
2025-05-13 17:31:32 +09:00
|
|
|
"FIX", #fixme checks
|
2024-08-05 18:33:49 +02:00
|
|
|
"ERA", #remove connected out code
|
|
|
|
|
"RUF" #RUF specific rules
|
|
|
|
|
]
|
|
|
|
|
ignore = [
|
|
|
|
|
"D100", #allow missing docstring in public module
|
|
|
|
|
"D104", #allow missing docstring in public package
|
2025-06-19 20:34:59 +02:00
|
|
|
"D418", #allow docstring on overloaded function
|
2024-08-05 18:33:49 +02:00
|
|
|
"TD003", #allow missing link to todo issue
|
|
|
|
|
"FIX002" #allow todo
|
|
|
|
|
]
|
|
|
|
|
|
|
|
|
|
[tool.ruff.format]
|
|
|
|
|
docstring-code-format = true
|
2024-05-28 17:28:04 +02:00
|
|
|
|
|
|
|
|
[tool.ruff.lint.pydocstyle]
|
|
|
|
|
convention = "google"
|
|
|
|
|
|
|
|
|
|
[tool.ruff.lint.per-file-ignores]
|
2024-05-31 15:06:41 +02:00
|
|
|
# Ignore all directories named `tests` and `samples`.
|
|
|
|
|
"tests/**" = ["D", "INP", "TD", "ERA001", "RUF"]
|
|
|
|
|
"samples/**" = ["D", "INP", "ERA001", "RUF"]
|
2024-05-28 17:28:04 +02:00
|
|
|
# Ignore all files that end in `_test.py`.
|
|
|
|
|
"*_test.py" = ["D"]
|
2024-05-31 15:06:41 +02:00
|
|
|
"*.ipynb" = ["CPY", "E501"]
|
|
|
|
|
|
|
|
|
|
[tool.ruff.lint.flake8-copyright]
|
|
|
|
|
notice-rgx = "^# Copyright \\(c\\) Microsoft\\. All rights reserved\\."
|
|
|
|
|
min-file-size = 1
|
2024-05-28 17:28:04 +02:00
|
|
|
|
|
|
|
|
[tool.bandit]
|
2024-08-26 13:34:29 +02:00
|
|
|
targets = ["semantic_kernel"]
|
2025-07-22 17:14:32 +02:00
|
|
|
exclude_dirs = ["tests", "samples/demos/mcp_with_oauth"]
|
Python: set line-length for black in sync with Ruff, run black. (#4396)
### Motivation and Context
<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
1. Why is this change required?
2. What problem does it solve?
3. What scenario does it contribute to?
4. If it fixes an open issue, please link to the issue here.
-->
As we are tightening the formatting and linting setups, this was
missing, now the line-length for black and ruff are the same, thereby no
longer running into black issues as often.
### Description
<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->
### Contribution Checklist
<!-- Before submitting this PR, please make sure: -->
- [x] The code builds clean without any errors or warnings
- [x] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [x] All unit tests pass, and I have added new tests where possible
- [x] I didn't break anyone :smile:
2024-01-04 15:28:20 +01:00
|
|
|
|
2024-08-27 18:45:09 +02:00
|
|
|
[tool.flit.module]
|
|
|
|
|
name = "semantic_kernel"
|
|
|
|
|
|
2023-03-16 19:54:34 -07:00
|
|
|
[build-system]
|
2024-08-27 18:45:09 +02:00
|
|
|
requires = ["flit-core >= 3.9,<4.0"]
|
2025-05-13 17:31:32 +09:00
|
|
|
build-backend = "flit_core.buildapi"
|