Repository navigation
fix: allow pydantic-settings 2.14 - #75
Merged
Merged
Conversation
There was a problem hiding this comment.
No issues found across 3 files
Confidence score: 5/5
- Automated review surfaced no issues in the provided summaries.
- No files require special attention.
Architecture diagram
sequenceDiagram
participant App as Application Env
participant MCPServer as stacklet-mcp
participant PydSettings as pydantic-settings
participant Chainlit as Chainlit App
participant Lock as uv Lockfile
Note over App,Lock: Runtime Dependency Compatibility
App->>MCPServer: Install/import stacklet-mcp
MCPServer->>PydSettings: Load settings (v2.13 or v2.14)
PydSettings-->>MCPServer: Settings instance
MCPServer->>MCPServer: Nested-command dispatch (CLI)
alt Shared environment with Chainlit 2.12
App->>Chainlit: Install/import Chainlit
Chainlit->>PydSettings: Require pydantic-settings >=2.14.2
App->>Lock: Resolve dependency graph
Lock->>PydSettings: Satisfy both constraints (>=2.13,<2.15)
PydSettings-->>Lock: 2.14.2 selected
Lock-->>App: Single shared env
else No Chainlit present
App->>Lock: Resolve stacklet-mcp only
Lock->>PydSettings: Accept 2.13 or 2.14
PydSettings-->>Lock: Compatible version
end
Note over MCSP,Chainlit: Future versions excluded pending validation
MCPServer->>PydSettings: Constraint excludes >=2.15
Chainlit->>PydSettings: Constraint includes 2.14.x
PydSettings-->>MCPServer: 2.14.2 works (validated)
PydSettings-->>Chainlit: 2.14.2 works (required)
jtroup
approved these changes
Oct 30, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
what
Relax pydantic-settings from
>=2.13,<2.14to>=2.13,<2.15and update the lockfile to 2.14.2. Retain support for 2.13 and the direct nested-command dispatch introduced in #49. Keep 2.15 and later excluded pending validation.Update the Python and uv tool pins to 3.12.16 and 0.13.6.
why
Chainlit 2.12 requires pydantic-settings >=2.14.2, so the current cap prevents it from sharing an environment with stacklet-mcp. The existing CLI workaround remains compatible with 2.14.2. This allows stacklet/platform#5404 to replace its temporary dependency override after this change merges.
CI's shared bootstrap fails before lint or tests because Python 3.12.10 has no build for the current Ubuntu 26.04 runner. Python 3.12.16 has a supported build; uv 0.13.6 also knows how to provision that release.
testing
just test-coverage: 258 passed on Python 3.12.16, with 98.40% coverage, including nested CLI commands and settings.just lint,uv lock --checkandgit diff --checkpassed.uv pip compileresolved the candidate package alongside Chainlit 2.12.0 and pydantic-settings 2.14.2 without overrides.docs
Added a compatibility note under Next Release in NEWS.md.