Update dependency textual to v3 #550
Open
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.
This PR contains the following updates:
==0.42.0
->==3.2.0
Release Notes
Textualize/textual (textual)
v3.2.0
Compare Source
Fixed
OptionList
causing excessive redrawing https://github.com/Textualize/textual/pull/5766TEXTUAL_DEBUG
is set https://github.com/Textualize/textual/pull/5782Added
:first-child
and:last-child
pseudo classes https://github.com/Textualize/textual/pull/5776toggle_class
parameter to reactives https://github.com/Textualize/textual/pull/5778compact
parameter and reactive toButton
,Input
,ToggleButton
,RadioSet
,OptionList
,TextArea
https://github.com/Textualize/textual/pull/5778HORIZONTAL_BREAKPOINTS
andVERTICAL_BREAKPOINTS
toApp
andScreen
https://github.com/Textualize/textual/pull/5779Changed
RadioSet
now has a default width of1fr
https://github.com/Textualize/textual/pull/5778v3.1.1
Compare Source
Fixed
v3.1.0
Compare Source
Fixed
OptionList
size after removing or clearing options https://github.com/Textualize/textual/issues/5728can_focus()
https://github.com/Textualize/textual/pull/5737Changed
Added
TEXTUAL_DIM_FACTOR
env var to set the opacity of the 'dim' ANSI attribute https://github.com/Textualize/textual/pull/5715notify()
now accepts amarkup
parameter to disable rendering the message as markup https://github.com/Textualize/textual/pull/5719Screen.text_selection_started_signal
https://github.com/Textualize/textual/pull/5739App.clear_selection()
helper method to clear arbitrary text selection of active screen https://github.com/Textualize/textual/pull/5739v3.0.1
Compare Source
Fixed
v3.0.0
Compare Source
Changed
App.query
and friends will now always query the default (first) screen, not necessarily the active screen.Content()
is equivalent toContent("")
textual-input
,textual-output
. These should become visible in monitoring tools (ps, top, htop) as of Python 3.14. https://github.com/Textualize/textual/pull/5654Fixed
scroll_end
parameter to theLog.write_line
method https://github.com/Textualize/textual/pull/5672overflow: hidden
https://github.com/Textualize/textual/pull/5681Added
Content.first_line
property https://github.com/Textualize/textual/pull/5657Content.from_text
constructor https://github.com/Textualize/textual/pull/5657Content.empty
constructor https://github.com/Textualize/textual/pull/5657Content.pad
method https://github.com/Textualize/textual/pull/5657Style.has_transparent_foreground
property https://github.com/Textualize/textual/pull/5657v2.1.2
Compare Source
Fixed
v2.1.1
Compare Source
Fixed
Link
binding to open the link https://github.com/Textualize/textual/issues/5564v2.1.0
Compare Source
Fixed
Content.from_markup
not stripping control codes https://github.com/Textualize/textual/pull/5557delta_x
anddelta_y
in mouse events when smooth scrolling is enabled https://github.com/Textualize/textual/pull/5556Added
pointer_x
,pointer_y
,pointer_screen_x
, andpointer_screen_y
attributes to mouse events https://github.com/Textualize/textual/pull/5556Changed
TerminalSupportsInBandWindowResize
toInBandWindowResize
https://github.com/Textualize/textual/pull/5558v2.0.4
Compare Source
Fixed
v2.0.3
Compare Source
Fixed
v2.0.2
Compare Source
Fixed
v2.0.1
Compare Source
Fixed
v2.0.0
Compare Source
Added
Select.type_to_search
which allows you to type to move the cursor to a matching option https://github.com/Textualize/textual/pull/5403from_app_focus
toFocus
event to indicate if a widget is being focused because the app itself has regained focus or not https://github.com/Textualize/textual/pull/5379Blurred
message toInput
widget (matchingSubmitted
andChanged
) to make it easier to synchronize withvalidate_on
parameter when set to 'blur'.Offset.transpose
https://github.com/Textualize/textual/pull/5409screen--selection
component class to define style for selection https://github.com/Textualize/textual/pull/5409Widget.select_container
property https://github.com/Textualize/textual/pull/5409Widget.select_all
https://github.com/Textualize/textual/pull/5409Region.bottom_right_inclusive
https://github.com/Textualize/textual/pull/5409DOMNode.query_ancestor
https://github.com/Textualize/textual/pull/5409text-wrap
andtext-overflow
CSS values https://github.com/Textualize/textual/pull/5485Content.from_markup
https://github.com/Textualize/textual/pull/5485Fixed
Pilot.click
not working withtimes
parameter https://github.com/Textualize/textual/pull/5398Input
will now only be automatically selected when the widget is focused by the user, not when the app itself has regained focus (similar to web browsers). https://github.com/Textualize/textual/pull/5379TextArea
andInput
behavior when there is a selection and the user presses left or right https://github.com/Textualize/textual/pull/5400shift
https://github.com/Textualize/textual/pull/5404Input
to post aBlurred
messageHeader
icon showing command palette tooltip when disabled https://github.com/Textualize/textual/pull/5427Changed
Separator
, a separator may be specified withNone
TEXTUAL_SMOOTH_SCROLL=0
to disable.Removed
wrap
argument from OptionList (use CSStext-wrap: nowrap; text-overflow: ellipsis
)tooltip
argument from OptionList. Usetooltip
attribute orwith_tooltip(...)
method.v1.0.0
Compare Source
Added
App.clipboard
https://github.com/Textualize/textual/pull/5352system
boolean to Binding, which hides the binding from the help panel https://github.com/Textualize/textual/pull/5352chain
attribute onClick
events https://github.com/Textualize/textual/pull/5369times
parameter toPilot.click
method, for simulating rapid clicks https://github.com/Textualize/textual/pull/5369Changed
ctrl+q
https://github.com/Textualize/textual/pull/5352ctrl+shift+k
now deletes the current line inTextArea
, andctrl+x
will cutthe selection if there is one, otherwise it will cut the current lhttps://github.com/Textualize/textual/pull/53745374
Fixed
v0.89.1
Compare Source
Fixed
v0.89.0
Compare Source
v0.88.1
Compare Source
Fixed
v0.88.0
Compare Source
Fixed
Widget.anchor
https://github.com/Textualize/textual/pull/5290ListView
not updating its index or highlighting after removing items https://github.com/Textualize/textual/issues/5114Changed
ListView.pop
now returnsAwaitComplete
rather thanAwaitRemove
https://github.com/Textualize/textual/pull/5135ListView.remove_items
now returnsAwaitComplete
rather thanAwaitRemove
https://github.com/Textualize/textual/pull/5135v0.87.1
Compare Source
v0.87.0
Compare Source
Added
position
CSS rule. https://github.com/Textualize/textual/pull/5278Widget.set_scroll
https://github.com/Textualize/textual/pull/5278Select.selection
https://github.com/Textualize/textual/pull/5278Fixed
v0.86.3
Compare Source
Changed
Fixed
a
to add stopwatches in the tutorial app https://github.com/Textualize/textual/pull/5257v0.86.2
Compare Source
Fixed
v0.86.1
Compare Source
Fixed
v0.86.0
Compare Source
Fixed
TextArea
mouse selection with tab characters https://github.com/Textualize/textual/issues/5212Tabs
not updating the highlighting after removing a tab https://github.com/Textualize/textual/issues/5218Added
App.theme
reactive attribute https://github.com/Textualize/textual/pull/5087variant
parameter toLabel
widget for quick access to common styles https://github.com/Textualize/textual/pull/5087App.get_theme
which returns a theme by name https://github.com/Textualize/textual/pull/5087App.register_theme
andApp.unregister_theme
https://github.com/Textualize/textual/pull/5087App.theme_changed_signal
https://github.com/Textualize/textual/pull/5087App.available_themes
property which returns a mapping of theme names toTheme
instances https://github.com/Textualize/textual/pull/5087App.current_theme
property which returns the currently active theme object https://github.com/Textualize/textual/pull/5087App.get_theme_variable_defaults
which returns a mapping of theme variables to their default values https://github.com/Textualize/textual/pull/5087App.search
which allows bringing up a fuzzy search list of commands on-demand https://github.com/Textualize/textual/pull/5087App.search_themes
which allows bringing up a fuzzy search list of themes on-demand https://github.com/Textualize/textual/pull/5087textual.theme.ThemeProvider
, a command palette provider which returns all registered themes https://github.com/Textualize/textual/pull/5087Widget.is_scrolling
https://github.com/Textualize/textual/pull/5238Tree.add_json
https://github.com/Textualize/textual/pull/5238Changed
Driver.process_event
is nowDriver.process_message
https://github.com/Textualize/textual/pull/5217Driver.send_event
is nowDriver.send_message
https://github.com/Textualize/textual/pull/5217can_focus
andcan_focus_children
parameters to scrollable container types. https://github.com/Textualize/textual/pull/5226textual.lazy.Reveal
https://github.com/Textualize/textual/pull/5226Screen.action_blur
https://github.com/Textualize/textual/pull/5226Click
events can now be used with the on decorator to match the originally clicked widget https://github.com/Textualize/textual/pull/5238App.dark
reactive attribute https://github.com/Textualize/textual/pull/5087Removed
App.HOVER_EFFECTS_SCROLL_PAUSE
https://github.com/Textualize/textual/pull/5238v0.85.2
Compare Source
v0.85.1
Compare Source
Fixed
v0.85.0
Compare Source
Changed
App.open_url
automatically https://github.com/Textualize/textual/pull/5113*
) will now not match widgets with the class-textual-system
(scrollbars, notifications etc) https://github.com/Textualize/textual/pull/5113Screen.can_view
andWidget.can_view
toScreen.can_view_entire
andWidget.can_view_entire
https://github.com/Textualize/textual/pull/5174Added
open_links
toMarkdown
andMarkdownViewer
widgets https://github.com/Textualize/textual/pull/5113App.DEFAULT_MODE
https://github.com/Textualize/textual/pull/5113Containers.HorizontalGroup
andContainers.VerticalGroup
https://github.com/Textualize/textual/pull/5113$
,£
,€
,(
,)
symbols to Digits https://github.com/Textualize/textual/pull/5113Button.action
parameter to invoke action when clicked https://github.com/Textualize/textual/pull/5113immediate
parameter to scroll methods https://github.com/Textualize/textual/pull/5164textual._loop.loop_from_index
https://github.com/Textualize/textual/pull/5164min_color
andmax_color
to Sparklines constructor, which take precedence over CSS https://github.com/Textualize/textual/pull/5174python -m textual
, not quite finished but better than the old one https://github.com/Textualize/textual/pull/5174Screen.can_view_partial
andWidget.can_view_partial
https://github.com/Textualize/textual/pull/5174App.is_web
property to indicate if the app is running via a web browser https://github.com/Textualize/textual/pull/5128Enter
andLeave
events can now be used with theon
decorator https://github.com/Textualize/textual/pull/5159Fixed
v0.84.0
Compare Source
Fixed
RadioSet
not being scrollable https://github.com/Textualize/textual/issues/5100Added
background-tint
CSS rule https://github.com/Textualize/textual/pull/5117:first-of-type
,:last-of-type
,:odd
, and:even
pseudo classes https://github.com/Textualize/textual/pull/5139v0.83.0
Compare Source
Added
Region.constrain
https://github.com/Textualize/textual/pull/5097Changed
Screen.ALLOW_IN_MAXIMIZED_VIEW
will now default toApp.ALLOW_IN_MAXIMIZED_VIEW
https://github.com/Textualize/textual/pull/5088.-textual-system
will now be included in the maximize view by default https://github.com/Textualize/textual/pull/5088Widget.absolute_offset
public https://github.com/Textualize/textual/pull/5097Region.inflect
will now assume that margins overlap https://github.com/Textualize/textual/pull/5097Pilot.click
and friends will now accept a widget, in addition to a selector https://github.com/Textualize/textual/pull/5095v0.82.0
Compare Source
Fixed
Added
DOMNode.is_on_screen
property https://github.com/Textualize/textual/pull/5063Changed
Widget.set_loading
no longer return an awaitable https://github.com/Textualize/textual/pull/5079v0.81.0
Compare Source
Added
x_axis
andy_axis
parameters toWidget.scroll_to_region
https://github.com/Textualize/textual/pull/5047Tree.move_cursor_to_line
https://github.com/Textualize/textual/pull/5052Screen.pop_until_active
https://github.com/Textualize/textual/pull/5069Changed
Fixed
v0.80.1
Compare Source
Fixed
v0.80.0
Compare Source
Added
MaskedInput
widget https://github.com/Textualize/textual/pull/4783"none"
value added todock
,hatch
andsplit
styles https://github.com/Textualize/textual/pull/4982"none"
added to box and border style properties (e.gwidget.style.border = "none"
) https://github.com/Textualize/textual/pull/4982ansi_color
switch to App to permit ANSI (themed) colors https://github.com/Textualize/textual/pull/5000:ansi
pseudo class https://github.com/Textualize/textual/pull/5000-ansi-scrollbar
style to widgets https://github.com/Textualize/textual/pull/5000App.INLINE_PADDING
to define the number of spaces above inline apps https://github.com/Textualize/textual/pull/5000nocolor
psuedoclass when NO_COLOR env var is set-BINDING_GROUP_TITLE
now defaults toNone
https://github.com/Textualize/textual/pull/5023TreeNode.siblings
,TreeNode.next_sibling
,TreeNode.previous_sibling
,TreeNode.is_collapsed
https://github.com/Textualize/textual/pull/5023Tree.center_scroll
https://github.com/Textualize/textual/pull/5023Tree.unselect
https://github.com/Textualize/textual/pull/5023Changed
scrollbar-size-vertical
changed to2
in inline styles to match Widget default CSS (unlikely to affect users) https://github.com/Textualize/textual/pull/4982Toast
https://github.com/Textualize/textual/pull/4984RichLog
result in slightly different semantics, see docstrings for details https://github.com/Textualize/textual/pull/4978enabled
switch to filters (mostly used internally) https://github.com/Textualize/textual/pull/5000BINDING_GROUP_TITLE
now defaults toNone
https://github.com/Textualize/textual/pull/5023Fixed
RichLog.write
not respectingwidth
parameter https://github.com/Textualize/textual/pull/4978RichLog
writing at wrong width whenwrite
occurs before width is known (e.g. incompose
oron_mount
) https://github.com/Textualize/textual/pull/4978RichLog.write
incorrectly shrinking width toRichLog.min_width
whenshrink=True
(now shrinks to fit content area instead) https://github.com/Textualize/textual/pull/4978dark
reactive on startup https://github.com/Textualize/textual/pull/4989DataTable
cached height issue on re-populating the table when using auto-height rows https://github.com/Textualize/textual/pull/4992inline_no_clear=True
https://github.com/Textualize/textual/issues/5019v0.79.1
Compare Source
Fixed
v0.79.0
Compare Source
Added
DOMNode.check_consume_key
https://github.com/Textualize/textual/pull/4940App.ESCAPE_TO_MINIMIZE
,App.screen_to_minimize
, andScreen.ESCAPE_TO_MINIMIZE
https://github.com/Textualize/textual/pull/4951DOMNode.query_exactly_one
https://github.com/Textualize/textual/pull/4950SelectorSet.is_simple
https://github.com/Textualize/textual/pull/4950Changed
DOMNode.query_one
will notraise TooManyMatches
https://github.com/Textualize/textual/pull/4950v0.78.0
Compare Source
Added
Screen.maximize
,Screen.minimize
,Screen.action_maximize
,Screen.action_minimize
,Widget.is_maximized
,Widget.allow_maximize
. https://github.com/Textualize/textual/pull/4931Widget.ALLOW_MAXIMIZE
,Screen.ALLOW_IN_MAXIMIZED_VIEW
classvars https://github.com/Textualize/textual/pull/4931v0.77.0
Compare Source
Added
tooltip
to Binding https://github.com/Textualize/textual/pull/4859show_command_palette=False
to disable) https://github.com/Textualize/textual/pull/4867TOOLTIP_DELAY
to App to customize time until a tooltip is displayedRegion.get_spacing_between
https://github.com/Textualize/textual/pull/4876App.COMMAND_PALETTE_KEY
to change default command palette key binding https://github.com/Textualize/textual/pull/4867App.get_key_display
https://github.com/Textualize/textual/pull/4890DOMNode.BINDING_GROUP
https://github.com/Textualize/textual/pull/4906DOMNode.HELP
classvar which contains Markdown help to be shown in the help panel https://github.com/Textualize/textual/pull/4915App.get_system_commands
https://github.com/Textualize/textual/pull/4920Changed
ctrl+p
https://github.com/Textualize/textual/pull/4867ctrl_to_caret
andupper_case_keys
from Footer. These can be implemented inApp.get_key_display
.SystemCommands
toSystemCommandsProvider
https://github.com/Textualize/textual/pull/4920ClassicFooter
widget (please use newFooter
widget) https://github.com/Textualize/textual/pull/4921App.get_key_display
now requirestextual.binding.Binding
instead ofstr
.Screen
instances inApp.SCREENS
andApp.MODES
Fixed
validate_on
value isn't a set https://github.com/Textualize/textual/pull/4868Input.cursor_blink
having no effect on the blink cycle after mounting https://github.com/Textualize/textual/pull/4869App.MODES
being the same for all instances -- per-instance modes now exist internallyv0.76.0
Compare Source
Changed
Size.cip_size
, which was a clone ofcrop_size
DOMNode._automatic_refresh
toDOMNode.automatic_refresh
to allow for customization https://github.com/Textualize/textual/pull/4847Fixed
Added
ESCDELAY
env var when detecting escape keys https://github.com/Textualize/textual/pull/4848v0.75.1
Compare Source
Fixed
v0.75.0
Compare Source
Added
App.open_url
to open URLs in the web browser. When running via the WebDriver, the URL will be opened in the browser that is controlling the app https://github.com/Textualize/textual/pull/4819Widget.is_mouse_over
https://github.com/Textualize/textual/pull/4818node
attribute toevents.Enter
andevents.Leave
https://github.com/Textualize/textual/pull/4818Changed
events.Enter
andevents.Leave
events now bubble. https://github.com/Textualize/textual/pull/4818Widget.mouse_over
toWidget.mouse_hover
https://github.com/Textualize/textual/pull/4818Fixed
Configuration
📅 Schedule: Branch creation - "after 7am and before 4pm on monday" in timezone Europe/London, Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.