Skip to content

Tecton 0.3

Tecton 0.3 was released in February 2022. The following release notes provide information about Tecton 0.3.

New Features

Python Mode for On-Demand Feature Views

On-demand Feature Views can now be used with mode=python transformations. Compared to the existing mode=pandas option, On Demand Feature Views with mode=python will deliver significantly faster request-time latency.

When implementing a transformation with mode=python, the inputs and outputs will be python dictionaries instead of dataframes. Removing the overhead of creating dataframes allows for faster request-time execution. See an implementation example in the documentation.

We recommend using python instead of pandas in most cases.

Delete keys from a Feature View

Previously, the only way to delete feature data was to remove the entire feature view. The new delete_keys() method for Feature Views makes it simple to delete feature values for specific keys from a materialized Feature View. This capability can be helpful for handling user data deletion requests or cleaning up erroneous data.

See a usage example in the key deletion guide.

New unit testing framework for Feature Views

Previously, unit testing with Tecton required implementing your own test harness using "plan hooks". The new framework makes it much simpler to get started unit testing feature views, especially for Spark transformations.

When running tecton plan, tecton apply, or tecton test, the Tecton CLI will use pytest to execute any files matching matching the pattern **/tests/*.py.

See the unit testing guide for an example.

Improvements and Bug Fixes

Adds supports for Python 3.9 and Mac M1 native builds See the Tecton CLI setup

Improved support for release automation with tecton apply

  • Protect critical objects from accidental deletion with the prevent_destroy tag
  • apply a previously validated plan output based on the plan id
  • tecton restore now shows the SDK version for that apply

See the CI/CD integration guide for more detail.

Warnings during tecton plan

Warnings will now be shown for each object modified or created during tecton plan. These warnings help promote best practices in your feature repo, but do not block applying the changes.

Fixed data input filtering for aggregateFeatureView.run()

Prior to the fix, aggregate Feature Views run() filter inputs down to feature_start_time and feature_end_time window. This may result in inaccurately output because the aggregation feature result may require input data from before feature_start_time to perform a correct computation. The fix read just the input filter to use the correct filter window relative to aggregation window size.

Patch Updates

0.3.2

  • Filters out hidden directories from tecton test globbing (to support .tox and any other tool that places virtualenvs into the source directory)
  • Fixes a bug in tecton_pytest_spark_session where the tecton_spark_jars fixture did not exist.

0.3.1

  • Fixes a bug in FeatureService.get_historical_features() where features that were excluded via a FeaturesConfig were not properly filtered out of training datasets.