[AdvancedLayouts] Add width to st.pydeck_chart#12576
Merged
sfc-gh-lwilby merged 5 commits intodevelopfrom Sep 22, 2025
Merged
Conversation
Contributor
🎉 Snyk checks have passed. No issues have been found so far.✅ security/snyk check is complete. No issues have been found. (View Details) ✅ license/snyk check is complete. No issues have been found. (View Details) |
Contributor
✅ PR preview is ready!
|
Contributor
📈 Frontend coverage change detectedThe frontend unit test (vitest) coverage has increased by 0.0300%
🎉 Great job on improving test coverage! |
sfc-gh-bnisco
approved these changes
Sep 19, 2025
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.
Describe your changes
Modernizes
st.pydeck_chartwidth parameter to use the newWidthtype system ("stretch"or pixel values) and deprecates theuse_container_widthparameter for consistency with other chart elements.This PR also begins the process of deprecating
use_container_width. The default is updated toNone, andwidthwill be used instead. If the user explicitly passes a value foruse_container_widththen that will take precedence.use_container_width=Trueis equivalent towidth="stretch"and setting the width to an integer can be done without settinguse_container_width. The user will be given a warning and suggestion to usewidthinstead. We will removeuse_container_widthafter 12-31-2025.Changes Made:
width: int | None = Nonetowidth: WidthWithoutContent = "stretch"use_container_width: Changed frombool = Truetobool | None = Nonewith deprecation warningsuse_container_widthbehavior still workLayoutConfig(width=width)instead of direct proto field assignmentKey Implementation Details:
Width Parameter Modernization:
width=Nonetowidth="stretch"use_container_width=False, preserves existing integer width values instead of converting to"content"Backward Compatibility & Deprecation:
Deprecation Timeline:
use_container_widthwill be removed after 12-31-2025.Parameter Precedence: If user explicitly passes
use_container_width, it takes precedence overwidth:use_container_width=True→width="stretch"(overrides width parameter)use_container_width=False→width="content"(overrides width parameter)Intelligent Fallback: When
use_container_width=Falsewith existing integer widths:use_container_width=False+width=400→width=400(preserves integer)use_container_width=False+width="content"→width="content"use_container_width=False+width="stretch"→width="content"(fallback)User Experience: Users receive deprecation warnings with suggestions to use
widthparameter instead.GitHub Issue Link (if applicable)
Testing Plan
use_container_widthbackward compatibility with deprecation warningsAdditional Notes:
This follows the established pattern from
st.vega_lite_chart,st.line_chart, andst.plotly_chart. Part of the broader AdvancedLayouts initiative to provide consistent width APIs across all chart elements.Contribution License Agreement
By submitting this pull request you agree that all contributions to this project are made under the Apache 2.0 license.