v0.1.0
Released on October 18, 2022.
Key Features
- Updates the UI to provide a simplified, more responsive layout and surface
more information about workflow execution.- Adds details pages for operators, artifacts, checks, and metrics which
show the history and metadata (e.g., code preview, historical values)
for the relevant object. - Replaces old sidesheets with preview of the details pages when clicking
on a node in the workflow DAG. - Adds narrower, simplified navigation sidebar as well as breadcrumbs to
simplify navigation. - Makes page layout more responsive to narrow screens.
- Adds details pages for operators, artifacts, checks, and metrics which
- Adds Helm chart to deploy Aqueduct on Kubernetes servers; when running in
Kubernetes, there's a new integration mechanism to connect Aqueduct to the
current Kubernetes server that uses an in-cluster client rather than
kubeconfig
file. - When switching Aqueduct metadata stores from local to cloud-hosted,
automigrates all data to cloud storage.
Enhancements
- Allows operators to have multiple output artifacts. You can specify the
number of by using thenum_outputs
argument to the@op
decorator.
import aqueduct as aq
@aq.op(num_outputs=3)
def multi_output:
return 1, 2, 3
a, b, c = multi_output()
- Enables modifying version history retention policy from the settings pane of
the workflow page. - Adds documentation link to menu sidebar.
- Detects when SDK and server version are mismatched and surfaces an error when
creating SDK client. - Allows
publish_flow
to accept both a single artifact or a list of multiple
artifacts in theartifacts
parameter. - Moves retention policy parameter from
publish_flow
toFlowConfig
object.
Bugfixes
- Fixes bug where tuple return types in operators were not returned correctly.
- Sets minimum version requirements on
pydantic
andtyping-extensions
;
older versions caused inexplicable and confusing bugs. - Fixes bug where CSV upload dialog didn't show all rows in data upload
preview. - Fixes bug where parameters and checks were marked as canceled when there were
invalid inputs. - Fixes bug where Aqueduct logo was cut off on the welcome page on small
screens. - Fixes bug where long
stdout
orstderr
logs were truncated on the UI. - Fixes bug where SQLite inserts would fail because of an argument limit for
older versions of SQLite. - Fixes bug where running Aqueduct operators in temporary environments (e.g.,
IPython interpreter, VSCode notebooks) would fail because the operator
source file would not be detectable.
All Changes
All commits
- Update the parameter example notebook by @kenxu95 in #509
- Fix bug where tuples were being mishandled by @kenxu95 in #515
- Fix our API route to conform to the standard by @Fanjia-Yan in #513
- Fixes bug in our notebooks CI by @kenxu95 in #520
- Bump minimum version of pydantic and typing_extentions package by @cw75 in #516
- Downloads Airflow DAG template as part of pkg install by @saurav-c in #521
- Adds scikit-learn to all operators running on Airflow by @saurav-c in #522
- Allow user functions to have multiple output artifacts by @kenxu95 in #514
- Eng 1466 fix bug where csv upload modal doesnt show the full rows without scrolling by @eunice-chan in #518
- Fixes issue where Parameter and Check operators were marked as "Cancelled" incorrectly by @kenxu95 in #517
- Implement a server endpoint that returns its version number by @cw75 in #525
- Add new data to the repo by @cw75 in #535
- ENG-1606 enable users to change retention policy via UI by @likawind in #533
- ENG-1645 Fix for aqueduct logo appearing cut off on the home page. by @agiron123 in #527
- ENG-1457 Adds Documentation link to menu sidebar by @agiron123 in #528
- Provide better guidance when there is a version mismatch between SDK and server by @kenxu95 in #530
- Adds a Dockerfile for Aqueduct by @hsubbaraj-spiral in #541
- ENG-1787 Enable scroll for long stdout or stderr messages by @agiron123 in #545
- Implement script to add new tables to demo db for the next release by @cw75 in #542
- Requires workflow executor to check for paused workflow execution by @saurav-c in #540
- Accept both singular and multiple artifacts in publish_flow() by @kenxu95 in #532
- Bump the integration test timeout in github actions by @kenxu95 in #554
- [Testing Performance] Decrease polling interval of integration testing suite by @kenxu95 in #558
- Refines existing and adds new example notebooks by @vsreekanti in #303
- Chunk SQL insert for sqlite3 integration by @cw75 in #560
- Fix bug where kubeconfig placeholder is missing leading slash by @Fanjia-Yan in #559
- [ENG-1543] Adds links to GitHub at top of notebooks by @vsreekanti in #562
- Migrate the retention policy from publish_flow() to a parameter from flow_config by @Fanjia-Yan in #538
- Fix a bug where we errors when the script is running in python interpreter by @likawind in #565
- [1/2] Create Helm Chart for Aqueduct: creates in cluster k8s client for server by @hsubbaraj-spiral in #566
- [SDK] Link to the guide when throwing version mismatch error by @kenxu95 in #572
- Refactor vault pkg into helper methods by @saurav-c in #591
- Adds Persistent Volume to Aqueduct in-cluster Deployment by @hsubbaraj-spiral in #593
- Fix mypy errors that resulted from numpy version > 1.19 by @kenxu95 in #580
- Fix numpy mypy bug (again) by @kenxu95 in #597
- Fixes vault encryption bug by @saurav-c in #602
- ** UI Redesign ** by @agiron123 in #601
- Eng 1849 fix blank screen when switching workflow by @eunice-chan in #605
- Fix bug where artifact preview for non tabular types aren't working properly by @cw75 in #606
- Eng 1864 Fix UI bugs on showing nodes and render breadcrumb links by @likawind in #611
- Fixes broken README link by @vsreekanti in #614
- Create the Quickstart Tutorial Notebook and rename some notebooks by @kenxu95 in #575
- Add all example notebooks to the run_notebooks Github Action by @kenxu95 in #577
- Update package version number for the v0.1 release by @cw75 in #612