Skip to content

tdfs4ds

A temporal feature store for Teradata Vantage with full time-travel, lineage, LLM-powered documentation, a conversational agent and an automated query optimizer — built for data scientists.

Get started Training User guide AI capabilities Deployment Recipes API reference

Why tdfs4ds

tdfs4ds lets you register, store, and serve features inside a Teradata Vantage database while keeping the full history of every feature value, every process, and every dataset. All catalogs are temporal — point-in-time queries, re-runs, and audit are first-class.

On top of the storage layer, the package adds:

  • Auto-documentation of every process and dataset with an LLM (OpenAI, Azure, vLLM or AWS Bedrock).
  • A business dictionary with three-level hierarchical structure designed for chunking-free RAG.
  • A conversational consumer agent (LangGraph + Chroma + Gradio) so business users can query the store in natural language.
  • A query optimizer that scores Teradata EXPLAIN plans, generates candidate rewrites, and proposes a FilterManager when a partition opportunity is detected.
  • A bundle of agent skills (SKILL.md files) that teach any code-aware LLM how to use the package end-to-end.

1 · Getting started

Install, connect, register your first feature and dataset in under 10 minutes.

3 · Concepts

Architecture, temporal data model, data domains, and hidden tables explained.

4 · Configuration

Programmatic globals, .env file, JSON config, environment variables.

5 · User guide

upload_features, FilterManager, TimeManager, datasets, inspect & monitor.

6 · AI capabilities

Process & dataset documentation, business dictionary, consumer agent, query optimizer.

7 · Lineage

Build dependency graphs, render Sankey diagrams, export a migration manifest.

10 · Deployment

Run the OpenAI-compatible API server locally or in Docker. Admin UI, chatbot, docs server.

11 · API reference

Auto-generated from docstrings — every public function and class.

12 · Changelog

Release history with what changed in each version.

30-second snippet

import teradataml as tdml
tdml.create_context(host=..., username=..., password=...)

import tdfs4ds
tdfs4ds.connect(database='my_db', create_if_missing=True)
tdfs4ds.create_data_domain('CUSTOMER_ANALYTICS')

# Register a feature engineering view
df = tdml.DataFrame(tdml.in_schema('my_db', 'FEAT_ENG_CUSTOMER'))
tdfs4ds.upload_features(
    df,
    entity_id     = ['CUSTOMER_ID'],
    feature_names = ['total_amount', 'avg_amount'],
    dataset_view_name = 'ds_customer_spend',
)

That single call registers the entity, registers the features, registers a process for re-execution, ingests data into the temporal feature tables, builds a denormalised dataset view, and (when an LLM is configured) generates business descriptions and an EXPLAIN plan score.

Compatibility

Requirement Version
Python ≥ 3.6
teradataml ≥ 17.20
Teradata Vantage Any release with temporal table support

See Installation for a full dependency list.