Description
This is a living document. Check back for updates!
Goal
H2O Wave aims to be the quickest way to build beautiful, realtime, high-performance web apps and dashboards entirely in Python (and soon R) without using HTML, Javascript, or CSS.
Our roadmap this year focuses on production-readiness, ease of use, expanding our palette of cards/components, better integration with third-party libraries, and R language support.
The initiatives marked 🔬 require us to have a better understanding of the problem and potential solutions before committing to actual feature work. We continuously tune the plan based on research, feedback, and lessons learned from shipping each release.
Legend
Icon | Status |
---|---|
🚧 | In Progress |
⛔ | Blocked |
⌛ | Not shipped |
🎈 | Shipped, Experimental |
💪 | Stretch Goal |
🔬 | Research |
Core
- Security fixes. Fix all known security issues; GA release. Add whitelist to proxy #294
- 🎈 URI prefix / base URI. Make it easier to deploy the Wave server behind proxies. Allow prefixes to URL #59
- Multi-worker. Support pre-forking for better scalability. Support deploying apps using multiple workers #277
- App database. Bundle cross-compiled, networked SQLite with Wave. Package and ship application database server #694
- 🔬 Selector API. A simpler syntax to update existing content. Allow by-name access to page elements #148
Cards/Components
- 🎈 Chat (Discussions)
- 🎈 Canvas (Whiteboard)
- 🚧 Other (Approx 40 new cards)
Extensions
- 🎈 Machine Learning (WaveML). Easily build and include AI/ML models in Wave apps. Repo.
- Analytics. Easily include search/ad-hoc visualization in Wave apps (Clickhouse integration). Make search+vis a UI component in Wave #18
Extensibility
- 🚧 Support loading and event-handling for arbitrary Javascript libraries. Support loading and event-handing for arbitrary javascript libs #297
- 🚧 Extension API (WaveX). Publish mechanism for third-party Python+Javascript extensions to Wave. Third party components for SDK #35
Themes
- 🎈 Make native plots theme-able. Adapt plot colors to active theme #664
- Official Themes. Ship a dozen additional themes. Include more light/dark themes #696
- 🎈 User-defined Themes. Allow users to dynamically define and use themes. User defined themes #604
WYSIWYG
- 🎈 Page Editor. Allow end-users to edit page content and use Wave for collaboration (wiki, chat, whiteboard, etc.) WYSIWYG - GA #697
- ⌛ IDE Make. Browser-based Python live-coding environment for developing Wave apps. IDE UI #278
Python Driver
- Quick install.
pip install
also installs Wave server. Package server binaries with PyPI package #250 - Quick start.
wave init
sets up starter apps. Provide pre-defined layout templates for various use cases. #38 - ⌛ IDE / Code Snippets. Code snippets for IDEs #506 Pycharm snippets #561
R Driver
- 🚧 R Scripts. Author realtime dashboards and reports using R. Preview release of R client #612
- R Apps. Author interactive web apps using R. Add support for R language #15
- 💪 Get package into CRAN. Submit Wave R package to CRAN #698
Documentation
- Showcase. Expand into a comprehensive demo of what’s possible in Wave - all cards, all components. Improve Showcase #699
- Examples. Make current examples more comprehensible, add new examples. Add examples for realtime graphical UIs #49
- Tour. Rework to use responsive layout; make it easier to use as an online reference. Switch tour app to responsive layout #701
- Guide. Expand documentation; rework confusing parts; include FAQs from past Q&A / discussions / Slack.
QA
- 🔬 Improve front-end test coverage. Feat/visual testing ci #531
- Improve server test coverage. Improve Wave daemon test coverage #700
- Improve Python driver test coverage.
Disclaimer
Any statement in this document that is not purely historical is considered a forward-looking statement. Forward-looking statements included in this document are based on information available as of the date they are made, and H2O.ai assumes no obligation to update any forward-looking statements. The forward-looking roadmap does not represent a commitment, guarantee, obligation or promise to deliver any feature, or to deliver any feature by any particular date, and is intended to outline the general development plans. Customers should not rely on this roadmap to make any purchasing decision.