| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| README.md | 2025-12-30 | 2.7 kB | |
| Rio 0.12 source code.tar.gz | 2025-12-30 | 5.3 MB | |
| Rio 0.12 source code.zip | 2025-12-30 | 5.7 MB | |
| Totals: 3 Items | 11.0 MB | 0 | |
Rio 0.12 makes it easier than ever to keep your GUI up-to-date with your program state. Previously, components were only rebuilt when their own state changed. But now, Rio keeps track of everything you access in your build function - whether that is the component's own state, session state like active_page_url or window_width, or session attachments. We've also added rio.List (rio.dev), rio.Dict (rio.dev), rio.Set (rio.dev) and rio.Dataclass (rio.dev), which function similar to python's list, dict, set, and @dataclass but will automatically trigger a rebuild when their content changes.
Please note that rio.List, rio.Dict, rio.Set and rio.Dataclass are currently considered "experimental". They are an attempt to solve Rio's problems with mutable data structures, but we would like to collect some usage information and user feedback before we settle on them as the final solution. Please let us know how they work for you!
Changes
- Components are now rebuilt immediately after a state change, not just after event handlers
TextStyleno longer has default values, omitted values are left unchanged instead
Deprecations
- The
CursorStyleenum is deprecated in favor of string literals
Accessibility ♿
- Added
accessibility_roleparameter to all components - Added 'accessibility_relationship' parameter to
Linkcomponent - Various internal accessibility improvements
Styling 🎨
- Added
text_styleparameter torio.TextInput - Fonts can now be loaded directly from Google Fonts via
Font.from_google_fonts - Fonts can now be loaded from CSS font definitions via
Font.from_css_file
Other Additions
NumberInputcan now evaluate math expressionsPointerEventListenercan now listen to only specific button events by passing a dict as inputKeyEventListenercan now listen to only specifc hotkeys by passing a dict as inputPointerEventListenerandKeyEventListenernow support theevent_orderparameter to control whether events are handled before or after child componentsCalendarnow has ais_sensitiveparameter- New component:
rio.PdfViewer(rio.dev) rio.Imagenow has a loading animation- Added
auto_focusparameter to input components - Added
Session.pick_folder - Added
rio.HttpOnly(stores user settings in http-only cookies instead of localStorage)
Install 🛠️
Get the latest version from PyPI:
pip install --upgrade rio-ui