Recent Releases of https://github.com/routelit/routelit
https://github.com/routelit/routelit - 0.5.9
Full Changelog: https://github.com/routelit/routelit/compare/0.5.8...0.5.9
- Python
Published by rolangom 10 months ago
https://github.com/routelit/routelit - 0.5.8
Full Changelog: https://github.com/routelit/routelit/compare/0.5.7...0.5.8
- Python
Published by rolangom 10 months ago
https://github.com/routelit/routelit - 0.5.1
What's Changed
Highlights - Improved async streaming and cancellation - Fresh boundary event emitted on stream start. - Robust cancellation with cancelandwaitviewtask and safer task cleanup. - JSON Lines responses use json_default for datetime/date/time.
Element tree and diffing
- Session now stores a single root RouteLitElement (not a list).
- New comparesingleelements for root-level comparisons; recursive diffs still use compare_elements.
- Address helpers: getelementataddress, setelementataddress.
Overlay/fragment ergonomics
- Generic createoverlaydecorator(overlaytype, buildermethod_name?) to build custom overlays (e.g., popup, sheet).
- dialog() reworked on top of generic overlay decorator infra.
Builder and utilities
- RouteLitBuilder: improvements to event scheduling and property handling; support for RLOption-style options.
- format_options utility to standardize options into RLOption.
- asynctosync_gen cleans up pending tasks and async generators on loop close.
- PropertyDict attribute writes funnel through setitem; safe deletes via pop.
Breaking changes
- Session UI storage now holds a root RouteLitElement instead of a list.
- Replace code expecting lists with rootelement.getchildren().
- Internal APIs renamed
- Many prevelements/elements params replaced by prevrootelement/rootelement.
- Use comparesingleelements at the root level.
Fixes and hardening
- Suppress ContextVar reset errors when context diverges.
- Consistent event queue handling and safe exception propagation from view tasks.
- Python
Published by rolangom 10 months ago
https://github.com/routelit/routelit - 0.4.6
Full Changelog: https://github.com/routelit/routelit/compare/0.4.5...0.4.6
- Python
Published by rolangom 11 months ago
https://github.com/routelit/routelit - 0.4.4
Builder Refactor Abstract common component for reusability, such as button, input, etc. Integration with new client 0.4.2 that has better support for new UI component libraries
- Python
Published by rolangom 11 months ago
https://github.com/routelit/routelit - 0.4.2
Fix to support properly python 3.9.
- Python
Published by rolangom 11 months ago
https://github.com/routelit/routelit - 0.4.1
New client version
- Python
Published by rolangom 11 months ago
https://github.com/routelit/routelit - 0.4.0
** Major Features**
Streaming Support with Generators
- Added comprehensive streaming support using Python generators
- New async_to_sync_generator utility for seamless async-to-sync conversion
- Enhanced event handling with asynchronous event scheduling capabilities
Enhanced Builder Architecture
- Refactored RouteLitBuilder with improved event queue management
- Added inject_builder parameter to RouteLit class for enhanced builder injection flexibility
- Introduced parent-child builder relationships for better component composition
New Action Types
- FreshBoundaryAction: Marks fresh boundaries for streaming operations, ensuring proper stale element handling
- LastAction: Indicates the final action in a sequence, optimizing rendering performance
- ViewTaskDoneAction: Signals task completion for better state management
- SetAction: Provides direct element setting capabilities
🛠️ Developer Experience Improvements
PropertyDict Utility
- New PropertyDict class for intuitive session state management
- Attribute-style access to dictionary data (e.g., session_state.name instead of session_state["name"])
- Built-in cancellation support with StopException integration
- Automatic cleanup and error handling
Enhanced Event Handling
- Asynchronous event scheduling with _schedule_event method
- Improved event queue management for better performance
- Better integration between sync and async contexts
🔧 Technical Enhancements
Code Quality & Maintainability
- Comprehensive refactoring of core classes for better maintainability
- Updated test suite with improved coverage and consistency
- Enhanced type safety and error handling throughout the codebase
Performance Optimizations
- Reduced test file sizes significantly (from 3,244 deletions to 1,861 additions)
- Optimized element creation and management
- Improved memory usage with better resource cleanup
📦 Dependencies & Build
- Updated to version 0.4.0 in pyproject.toml and uv.lock
- Updated client build script to use latest client version (0.4.0)
- Enhanced build process with better dependency management
🐛 Bug Fixes & Improvements
- Fixed event handling inconsistencies in builder injection
- Improved error handling in async operations
- Enhanced session state management reliability
- Better cleanup of resources in streaming scenarios
�� Breaking Changes
- should_inject_builder parameter replaced with inject_builder in RouteLit class for better clarity
- Enhanced event handling may require updates to custom event handlers
- Session state now uses PropertyDict instead of plain dictionaries
📚 Migration Guide
For users upgrading from 0.3.1:
- Session State: Update code to use PropertyDict for session state management
- Builder Injection: Replace should_inject_builder with inject_builder parameter
- Event Handling: Review custom event handlers for compatibility with new async scheduling
- Streaming: Take advantage of new streaming capabilities with generators
This release represents a significant step forward in RouteLit's capabilities, particularly in streaming support and developer experience, while maintaining backward compatibility where possible.
- Python
Published by rolangom 11 months ago
https://github.com/routelit/routelit - 0.2.2
Support for python >= 3.9
- Python
Published by rolangom 12 months ago
https://github.com/routelit/routelit - 0.2.1
Build fix.
- Python
Published by rolangom 12 months ago
https://github.com/routelit/routelit - 0.2.0
🎉 What's New in v0.2.0
This release introduces significant improvements to the RouteLit framework, focusing on enhanced session state management, improved response handling, and better developer experience.
✨ Key Features & Improvements
🔧 Enhanced Session State Management
- New PropertyDict Class: Introduced a structured approach to session state management with attribute-style access, making it more intuitive and developer-friendly
- Improved RouteLitBuilder: Refactored to utilize PropertyDict for session state, providing better clarity and consistency in state handling
- Context Management: Enhanced RouteLit class with context management for builder instances, offering greater flexibility in view functions
🚀 Flexible Response Handling
- Variable Arguments Support: Updated response method and request handling to accept variable positional arguments (*args) alongside keyword arguments (**kwargs)
- Dynamic Parameter Handling: Enhanced flexibility in view function calls, supporting more dynamic handling of request parameters across GET and POST methods
📚 Documentation & Configuration Updates
- Improved Documentation: Expanded project documentation with comprehensive overview of the RouteLit framework, including detailed feature descriptions and installation instructions
- Enhanced Project Configuration: Updated project URLs and configuration for better accessibility and discoverability
- Better Code Documentation: Added comprehensive docstrings to core classes for improved developer experience
🔨 Technical Improvements
- Maintainability: Significant refactoring improves code maintainability and reduces technical debt
- Test Coverage: Extensive test additions ensure reliability and stability of new features
- Developer Experience: Enhanced API design makes the framework more intuitive and easier to work with
📊 Statistics
- 7 files changed with 2,028 additions and 95 deletions
- Extensive test coverage with new comprehensive test suites
- Enhanced core functionality across builder, domain, and main RouteLit classes
🎯 Migration Notes
This release maintains backward compatibility while introducing new capabilities. Existing code should continue to work without modifications, while new projects can take advantage of the enhanced features.
Full Changelog: v0.1.2...v0.2.0This release represents a significant step forward in making RouteLit a more powerful and developer-friendly framework for building HTTP framework-agnostic user interfaces in Python.
- Python
Published by rolangom 12 months ago
https://github.com/routelit/routelit - 0.1.2
Better readme and workflow fix to publish docs site.
- Python
Published by rolangom about 1 year ago
https://github.com/routelit/routelit - 0.1.1
Release
- Python
Published by rolangom about 1 year ago
https://github.com/routelit/routelit - 0.1.0
First version
- Python
Published by rolangom about 1 year ago