wave

Realtime Web Apps and Dashboards for Python and R

APACHE-2.0 License

Downloads
229.8K
Stars
4K
Committers
47

Bot releases are visible (Hide)

wave - v0.18.0

Published by github-actions[bot] about 3 years ago

  • Added
    • Persona component.
    • Add support for streaming/multipart endpoints.
    • Read command line args from env if available.
    • Allow public/private directories to be hosted by the Wave daemon.
    • Side panel component.
    • Custom inline / external CSS support.
    • Allow controlling width of form items.
    • Icon button component.
    • Allow submitting text phrases within markdown.
    • Allow using markdown / HTML within message bar.
    • Add inline prop to checklist component.
    • Add trigger attribute for spinbox component.
    • OIDC: Update default scopes and add -oidc-scopes command line argument.
  • Changed
    • Sort table group titles by default when grouped.
    • Range slider replaced with native Fluent component.
    • Report HTTP error 413 instead of 500 if request is too large.
    • Disable async function validation (failed under Cython).
  • Fixed
    • Submit range slider values on releasing mouse.
    • Datepicker color contrast for date selection.
    • Unify ui.picker label with th rest of the form components, add 'required' prop to picker.
    • Expander ignoring expanded attr on initial render.
    • Prevent floating-point precision display in spinbox.
    • Redirect only once, not on every render.
    • Stretch slider for available space within ui.inline and ui.section.
    • Update form items client side if possible instead of recreate on data change.
    • Meta redirect for Firefox.
    • Set location hash when script events are triggered.
    • Download files in new tab to prevent FF dropping WS connection.
    • Increase tab card min height to prevent overflow.
    • Safari title overflow in grey dashboard.
    • Ensure that first column in tables functions properly when non-text.
wave - v0.17.0

Published by github-actions[bot] over 3 years ago

  • Added
    • The location hash (q.args['#']) is now always available, regardless of whether it has changed.
    • @on() annotations now support handling events.
    • @on() handlers can now have 0-n formal parameters, and are supplied arguments accordingly.
    • ui.inline_script() can use CSS selectors (e.g. #foo, .foo, table > td.foo) as targets
wave - v0.16.0

Published by github-actions[bot] over 3 years ago

  • Added
    • New Ability to load and execute third party Javascript libraries at runtime.
    • WaveDB: Add -benchmark command line flag for running benchmarks.
    • WaveDB: Add example for database-backed to-do list app.
    • WaveML: Add several examples demonstrating configuring, building, saving models, including hyperparameter tuning and SHAP.
  • Changed
    • Upgrade Cypress (test framework) to 7.2.0.
    • Make (anon) subject ID and username available in development mode.
    • Closable dialogs now emit a dismissed event when closed.
  • Fixed
    • WaveDB: Return empty array instead of None if resultset is empty.
wave - v0.15.0

Published by github-actions[bot] over 3 years ago

  • Added
    • New: WaveDB: a companion database to Wave apps, based on SQLite 3.
    • More routing power: Match multiple routing conditions using @on predicates.
    • New card: ui.wide_info_card().
    • New component: ui.image(), similar in behavior to the image card.
  • Changed
    • The Wave Tour now uses a responsive layout.
    • Display underlying error in the file upload component on failures.
    • Set a default label for the upload button in the file upload component.
  • Fixed
    • Submit toolbar command value when clicked, if available.
    • Make Wave Tour work when server and tour are launched on separate machines / docker containers.
    • Fix Card/component deserialization (Card.load()).
    • Use latest static assets in front-end when the server is upgraded.
wave - v0.14.1

Published by github-actions[bot] over 3 years ago

  • Fixed
    • Allow file uploads if auth is disabled (assume development mode).
wave - v0.14.0

Published by github-actions[bot] over 3 years ago

  • Added
    • New: The Wave server now provides command line utilities for managing access key/secret pairs (see Security docs).
    • Python app servers only process requests originating from the Wave server.
    • Add -max-request-size to control maximum allowed HTTP request size.
    • Add -max-cache-request-size to control maximum allowed cache request size.
    • Add -max-proxy-request-size to control maximum allowed proxy request size.
    • Add -max-proxy-response-size to control maximum allowed proxy response size.
    • Add tutorial on local development using OIDC / Keycloak.
    • Allow skipping OIDC login if required when -oidc-skip-login is set.
    • Add version/author dunders to Python module.
    • Set id_token_hint for OIDC using Okta during logout.
  • Changed
    • Buttons are not special-cased / displayed in a dialog's footer anymore.
    • Don't automatically zoom into plots on mouse scroll.
    • The default (development-time) user name/subject are now anonymous/anonymous.
    • Login/logout endpoints are now _auth/login and _auth/logout instead of _login and _logout.
    • File uploads from UI are disabled if auth is not enabled.
    • Proxy is enabled only if -proxy is set.
    • IDE (experimental/in-progress) is enabled only if -ide is set.
    • Browser-browser communication is enabled only if -editable (experimental) is set.
    • All open browser tabs redirect to login when a user logs out of any tab.
    • Wave docs are now hosted at https://wave.h2o.ai/
  • Fixed
    • All known security issues fixed/closed.
    • Display overflow menu in table footer only when space-constrained.
    • Trigger plot events only if marks are selected.
    • Submit a toolbar command's value instead of True, if available.
    • Refresh OIDC access token during WS communication if expired.
    • Use unique OIDC subject ID instead of preferred-username for sync'ing UIs.
wave - v0.13.0

Published by github-actions[bot] over 3 years ago

  • Added
    • New: Start the server with -editable to allow visitors to edit pages - turns the Wave server into a realtime collaborative wiki.
    • New: Add a whiteboard (ui.canvas_card()) to a page to enable collaborative drawing between the page's visitors.
    • New: Add a chat room (ui.chat_card()) to a page to enable discussions between the page's visitors.
    • Checkpointing: Save and restore application and session state on restart.
  • Changed
    • Display Wave logo on empty pages instead of spinner.
    • Reduce size of h2o_wave wheel file.
  • Fixed
    • Display scrollbars if content overflows in flex layout.
    • Fix flex layout viz rendering issues in Safari.
    • Fix form layout issues in Safari.
    • Improve tab_card example.
    • Improve visual design of footer in uitable.
    • Invalidate page when layouts or a card's box is changed.
    • Make stats cards not overflow 1-unit high zones.
    • Prevent iframes from overlapping other elements in forms.
    • Remove hard-coded "main" default zone in flex layouts
wave - v0.12.1

Published by github-actions[bot] over 3 years ago

  • Fixed
    • Fix ui.frame() overlapping other components inside a form card.
    • Fix form card component layout issues in Safari.
    • Improve layout of stats cards when 1-unit high.
wave - v0.12.0

Published by github-actions[bot] over 3 years ago

  • Added
    • Add on and handle_on APIs for query-handling and routing.
    • Add support for usage tracking via Google Analytics.
    • Use H2O_WAVE_APP_MODE environment variable to determine app sync behavior (as an alternative to @app(mode=...)).
    • Add experimental support for switching theme to a dark-mode "neon" theme.
  • Changed
    • Stricter type validation for ui.* API parameters.
    • Stricter validation for non-empty strings when required (name of components, etc.)
  • Fixed
    • Center breadcrumbs vertically in alloted space.
    • Fix breakages in Cypress test runner.
    • Fix ui.frame() sizing in Safari.
    • Fix rendering in Safari for cards that display circular progress bars.
    • Allow special characters in column names while using template strings for ui.plot()
wave - v0.11.0

Published by github-actions[bot] almost 4 years ago

  • Added
    • Make all cards render responsively in both grid and flex layouts.
    • Add demo application that showcases various dashboards using flexible/responsive layouts.
    • Add ui.stats() and ui.stat() for displaying metrics inline in forms.
    • Add ui.section_card() to demarcate sections on a page, with optional nested components.
    • Add ui.stat_list_card() to display lists of metrics, with optional icons and links.
    • Add ui.stat_table_card() to display tables of metrics, with optional icons and links.
    • Add ui.inline() to nest and display components horizontally inside a form.
    • Add ui.footer_card() to display footers at the bottom of pages.
    • Allow form cards to have titles.
    • Allow disabling nav items.
    • Add support for color variable in plot color ranges.
    • Add support for color variable in plot shape/text fills and strokes.
    • Allow tabs inside forms to trigger hash change navigation.
    • Allow a tab card's selected tab to be accessed using the card's name.
    • Publish h2o-wave package to Conda.
    • Example for displaying background task completion using a progress bar.
    • Example for displaying Pandas frames as markdown tables.
    • Example for plotting Pandas frames.
    • OIDC refresh token is now accessible in the Python client.
    • Make documentation searchable.
    • Add table of contents for all Wave examples.
    • Add tags to all examples; show tag on an index page.
  • Changed
    • Stats cards now dynamically resize to fit card size.
    • Picker now displays suggestion list in advance.
    • Center breadcrumbs vertically in flex layouts.
    • Plot cards now dynamically resize to fit.
    • Improve markdown rendering consistency across components.
    • Center tabs vertically when used in flex layouts.
    • Display tab cards without a background/padding.
    • Display toolbar cards without a background/padding.
    • Vega cards now dynamically resize to fit.
    • Improve spacing between components contained in an expander.
  • Fixed
    • Fix Wave tour on Windows.
    • Fix responsive layout in Safari.
    • Fix bug where --no-reload of apps was using incorrect port.
    • Fix client-side warnings when using components nested recursively.
    • Close dialogs properly when the top X button is clicked.
wave -

Published by lo5 almost 4 years ago

wave - v0.10.0

Published by lo5 almost 4 years ago

  • Added
    • Add support for responsive layouts.
    • Add support for modal dialogs.
    • Add ability to handle events from UI (q.events).
    • Allow handling mark selection events on plots.
    • Allow apps to handle server startup/shutdown events via on_startup and on_shutdown hooks.
    • Allow color picker to submit values immediately when changed (trigger attribute).
    • Allow collapsing nav items during initialization.
    • Handle display and sorting of numeric and time valued columns in ui.table().
    • Allow links/link-buttons to open links in new windows/tabs.
    • API now ships with enums for functions expecting predefined constants as parameters.
    • Read OIDC flags from env vars when available.
    • Automatically refresh OAuth2 access token in the background if expired.
    • Allow accessing OIDC access tokens in Python client.
    • Allow icons on navigation items.
    • Automatically transpose columns to rows in data() if not packed.
    • Allow adjust multiline textbox height.
    • Allow picker to submit values immediately when changed (trigger attribute).
    • Treat wave run foo/bar/baz.py as wave run foo.bar.baz.
    • Allow selecting nav links during initialization.
  • Changed
    • Cards display a "raised" effect on mouse over; Header, tab, toolbar and navbar have alternate styles.
    • Display loading spinner automatically when a request is in flight.
    • Mark ui.command(data=...) as deprecated (use ui.command(value=...) instead, similar to ui.button(...).)
    • Remove redundant ui.* API for discriminated unions (ui.component(), etc.),
    • Add column headers to CSVs downloaded from ui.table(); remove row names.
    • Change default Wave server port from 55555 to 10101 (55555 is special on OSX Big Sur).
    • Center image in image card and preserve aspect ratio.
  • Fixed
    • Improve ability of ui.frame() and ui.frame_card() to handle large HTML content.
    • Fix tour on Windows.
    • Use ellipsis on long column labels in ui.table()
wave - v0.8.2

Published by lo5 almost 4 years ago

Changed

  • Product icons.
wave - v0.9.1

Published by lo5 almost 4 years ago

  • Fixed
    • Make wave run behave identical to python -m h2o_wave run.
wave - v0.9.0

Published by lo5 almost 4 years ago

  • Added
    • ASGI compatibility: Wave apps can now be run using an ASGI server.
    • @app decorator to identify primary query handler in an app.
    • Live-reload for apps.
    • New wave CLI and wave run command.
    • q.run() and q.exec() APIs for running background tasks.
    • Display server version/build at startup.
    • AsyncSite for updating other pages from an app without blocking the main thread.
    • Drop or clear pages from a site using del site[route].
  • Changed
    • All HTTP calls now use non-blocking asyncio using the httpx library.
    • listen() is deprecated.
    • H2O_WAVE_INTERNAL_ADDRESS and H2O_WAVE_EXTERNAL_ADDRESS are deprecated.
    • An app's UI is now cleared when an app crashes or is terminated.
    • All examples migrated to use @app instead of listen().
    • Server binary renamed to waved (as in wave daemon).
    • Apps using @app must be run using wave run.
  • Fixed
    • Performance and concurrency improvements across the board.
    • Stability improvements to the Wave Tour.
wave - v0.8.1

Published by lo5 almost 4 years ago

  • Fixed
    • Enable visible properly on text_* components.
    • Fix checkbox value unchecking.
    • Improve stepper component layout.
wave - v0.8.0

Published by lo5 almost 4 years ago

  • Added
    • Escape Cypress test functions using leading underscore _ if they overlap with Python reserved keywords.
    • Add data-test attribute to all form components for browser testing.
    • Add trigger property to the date picker component.
    • Allow pre-selecting rows in the table component.
    • Add visible property to all components to show/hide them on demand.
    • Add support for OpenID Connect (OIDC).
    • Add documentation on security.
  • Fixed
    • Default HTML page title set to Wave.
    • Make % heights work properly for frames inside forms
wave - v0.7.0

Published by lo5 about 4 years ago

  • Added
    • Hash navigation using context menus.
    • Allow handling location hash when an open app page is reloaded.
    • Allow pre-selecting a tab in a tab_card.
    • Allow setting a height on the file upload component.
    • Allow justifying buttons left/center/right/spread.
    • Add data-test attribute to all cards for browser testing.
    • New documentation website, gallery, guides and tutorials.
  • Changed
    • Fit table height to content height whenever possible.
    • Improve spacing between form components.
    • data-test attribute is set based on the names of cards.
  • Fixed
    • Quote CSV data properly while downloading a table component's data.
    • Don't auto-hide axis labels in plots when data is missing.
    • Display labels instead of names when a pickers initial values are set.
    • Handle numeric column sorting in the table component.
    • Handle icon column sorting in the table component
wave - v0.6.0

Published by lo5 about 4 years ago

  • Added
    • Apps when launched now automatically use an available free port instead of 55556.
    • Client-side redirects to URLs and hashes using meta_card.redirect.
    • Context menus inside forms: ui.text_xl() and ui.text_l() now support optional context menus.
    • Plots now support specifying data values for predictable color encoding and legends.
    • ui.markup component for rendering HTML inline in forms.
    • ui.template component for rendering templated HTML inline in forms.
    • The height of tables can now be controlled using the height attribute.
    • Both sorting and group-by now work on the same table column if specified.
    • Lots of examples on how to use ui.table sorting, grouping, search, download, etc.
    • Ability to specify which column in a ui.table is the primary column, or disable altogether.
  • Changed
    • ui.text() now unconditionally allows embedded HTML tags.
    • App host now defaults to 127.0.0.1 instead of localhost.
    • Footer display in ui.table is now inferred from usage and displayed automatically.
    • The min_width and max_width attributes for table columns are now strings (consistency).
  • Fixed
    • Background color rendering bug when page overflows after loading.
    • Render tooltip properly on toolbar command buttons.
    • ui.table() rendering bug: remove stray 0.
    • Python error stack trace, if any, is displayed on top of all other cards on page
wave - v0.5.0

Published by lo5 about 4 years ago

  • Added
    • Example for controlling cards with tabs.
    • Cypress test runner for CI.
    • Search, sort, filter, group-by, export and custom cell types for table component.
  • Changed
    • Remove semantic validation for stepper component.
  • Fixed
    • Value synchronization bug in textbox component