This is a major rework of Vizier, featuring a significant update to the Vizier frontend, as well as substantial behind-the-scenes infrastructure changes.
Full Details: https://github.com/VizierDB/vizier-scala/milestone/6
Installing
Prerequisites
- JDK 11 (later versions break Spark)
- Python3.9+
Manual
- Download the
vizier
release binary and add it to in your path
Updating
Note: This release WILL very likely break the 1.x vizier.db
file format. To migrate to the 2.x format:
- Export your 1.x project using Vizier 1.x
- Go to Export Project in the Project menu, OR
- use the
vizierdb export
command
- Import your project with Vizier 2.x
There is a small chance that your project will work without issues. Make sure to back up your vizier.db directory. You will almost certainly need to re-execute the entire workflow.
Release Summary
User-Facing Features
- A completely redesigned, cleaner, snappier, faster interface
- The interface is now reactive. See cell output as it is generated, and get immediate feedback when a cell completes.
- Vizier is now based off of Spark 3.2 (#103)
- "infinite-scroll" style spreadsheets and data tables (#51 #8 #44)
- Fully-featured spreadsheets w/arbitrary cell references (#55)
- No longer a single-page app. That means, among other things, that browser-based navigation works correctly.
- Table of Contents is now faster and more prominent.
- Quick-access to artifacts and related actions (e.g., download, jump-to-cell, etc...)
- Significant performance improvements in the backend (#182 )
- Python cells now have a 'environment' option, allowing them to be run in non-system environments configured by vizier (#58 #164 #58)
- Python cells now try to infer the return type of an exported method for use with Spark from type annotations (#219 )
- Completely redesigned 'New Cell' UX, using icons to highlight prominent cell types. (#191 )
- Support for JDK 11 (#214 )
- Added a Documentation area (#278 )
- Data visualization tools are now quicker and easier to access; Standard plotting types are now directly accessible from the new cell picker, each with plot-specific interfaces. (#264 , #281, #233 ; thanks to @marysunc , @cameronjtoy, @naiyyirh )
Bug-Fixes
- Exported Python functions now work with SQL cells (#143)
- No more crashes when displaying doubles
- Python module warnings no longer include spurious blanks (#144)
- When downloading a dataset as CSV, convert Geometry objects to WKT strings (#138)
Developer-Facing Features
- All code now uses a single language (Scala), with a single source of truth about API formats
- Migrated to
mill
(#96). It's faster, and writing build scripts does not require learning a brand new DSL written over scala. - Eliminated dependency on mimir-api (#85 #147). Bugs with lenses no longer need fiddly lock-step updates to multiple packages.
- Migrated the server backend to akka-http. This should break jetty dependency hell, and make integration with Vizier Server easier (#149 #216 )