The simplest local-first
feature store for Python.

Define features once. Train models without data leakage. Serve features in milliseconds. No Kubernetes. No Redis. No Cloud. Just Python.

View Repository
$pip install boxlink
Core Capabilities

Everything you need, nothing you don't

BoxLink gives you a production-grade feature store that runs entirely locally — no cloud dependency, no DevOps overhead.

Zero Infrastructure

No Kubernetes. No Redis. No Docker. BoxLink runs entirely on your local machine with SQLite and DuckDB embedded.

DuckDB Offline Joins

Point-in-time correct historical feature retrieval powered by DuckDB. No data leakage, ever.

Sub-millisecond Serving

SQLite-powered online feature store delivers features in under 1ms. Fast enough for real-time inference.

Feature Versioning

Version your feature views, track lineage, and roll back safely. Your features evolve without breaking pipelines.

Define Once, Use Everywhere

Write feature logic once. Reuse consistently across training, evaluation, and production serving.

Pure Python

Install with a single pip command. No config files, no YAML sprawl, no cloud accounts required.

100K+ weeklydownloads
10K+
active devs
50K+projects
1M+ dailyfeatures served
Ecosystem

Works with your whole stack

BoxLink integrates natively with the Python ML ecosystem you already use.

Python
DuckDB
SQLite
Pandas
Polars
Parquet
PyPI
scikit-learn
NumPy
Arrow
Python
DuckDB
SQLite
Pandas
Polars
Parquet
PyPI
scikit-learn
NumPy
Arrow
and many more via standard Python interfaces

Why BoxLink for Feature Engineering

Traditional feature engineering fails during model deployment. BoxLink bridges the gap.

The BoxLink Way
Define OnceDuckDB JoinsPoint-in-TimeZero LeakageFast ServingLocal SQLiteNo DriftVersioned FeaturesLineage Tracked
Without BoxLink
Duplicated CodeData LeakageRedis SetupKubernetes OpsTrain-Serve SkewManual JoinsSpaghetti PipelinesHard To SwapOffline Drift

Performance Benchmark

How BoxLink stack measures up against cloud-heavy traditional feature store infrastructure.

BoxLink (Local-first)

Local SQLite/DuckDB retrieval times

Show Optimized Indexes
0.8 ms
Online Retrieval
4.2 ms
Point-in-Time Join
0.3 ms
SDK Overhead
Local
75%
Cloud
25%

Traditional Store (Feast)

Cloud infrastructure retrieval latency

Size: Small
Industry: Tech
18.5 ms
Redis + WAN Network
112 ms
Spark Offline Join
5.4 ms
gRPC Connection
How It Works

Architecture

DuckDB powers point-in-time offline historical joins, and SQLite delivers sub-millisecond serving online. Everything runs on your local machine — no cloud required.

DATA SOURCESParquet FilesCSV / DataFramesBOXLINK CLIENTSDK CoreOffline EngineDuckDBOnline EngineSQLiteoffline joinOFFLINE STOREDuckDBPoint-in-Time JoinsHistorical FeaturesmaterializeONLINE STORESQLite<1ms serving latencyML APPTrainingXGBoost / sklearnInferenceFastAPI / Lambda
Offline / Training path
Online / Serving path
Data flow

BoxLink vs. Feast

A comparison of features, infrastructure requirements, and local development velocity.

CapabilityBoxLinkFeast
Local-first / Zero-infrastructureYesComplex
Kubernetes RequiredNoOften
Redis RequiredNoUsually
DuckDB (Offline Joins)YesNo
SQLite (Online Serving)YesNo
Point-in-Time JoinsYesYes
Feature VersioningYesYes
Zero SetupYesNo
Scale & Deployment

Designed for local speed. Ready for enterprise scale.

Start instantly on your laptop using the open-source library. When your workloads grow, transition smoothly to BoxLink Cloud for collaborative, managed serverless compute.

BoxLink Core

Open Source

  • Local-first embedded architecture
  • Zero infrastructure or cloud setup
  • Free forever under MIT License
Enterprise Grade

BoxLink Cloud

  • Centralized governance & security
  • Automated sync & serverless scales
  • Only pay for what you query
Quickstart

2-Minute Quick Example

Register features, perform historical temporal joins, and materialize to SQLite for sub-millisecond serving.

1234567891011121314151617181920
from boxlink import Entity, Feature, FeatureView, BoxLinkClient

client = BoxLinkClient()

# Identify entity
customer = Entity(name="customer_id", value_type="INT64")
client.register_entity(customer)

# Define feature view mapping to local Parquet file
fv = FeatureView(
    name="customer_stats",
    entities=[customer],
    features=[
        Feature(name="balance", dtype="double"),
        Feature(name="active_days", dtype="int64")
    ],
    source_path="customer_data.parquet",
    timestamp_field="timestamp"
)
client.register_feature_view(fv)
Testimonials

Loved by ML Engineers

From startups to research labs — teams building real ML systems trust BoxLink.

BoxLink completely replaced our Feast setup. We went from a 45-minute environment setup to `pip install boxlink` and done. Point-in-time joins work out of the box without any Spark dependency.
AM
Arjun MehtaSenior ML Engineer · FinTech Startup
I was skeptical about a local-first feature store but BoxLink proved me wrong. The DuckDB-powered historical joins are faster than anything I ran on Spark clusters. No cloud bills either.
SC
Sarah ChenData Scientist · E-commerce Platform
We use BoxLink across our entire team's laptops for development and the same codebase deploys to Lambda for serving. The zero-infrastructure philosophy is exactly what a lean ML team needs.
DV
Dmitri VolkovMLOps Engineer · AI Research Lab

Latest From The Blog

Deep dives into local-first feature engineering, real-time machine learning, and data pipelines.

EngineeringJuly 15, 2026 • 6 min read

Building Local-First ML Pipelines with DuckDB & SQLite

How to utilize embedded databases to solve offline feature generation and online serving without standing up heavy network infrastructure.

Read Article
ConceptsJune 28, 2026 • 8 min read

Understanding Point-in-Time Joins and Data Leakage

A detailed breakdown of temporal joins, why traditional joins cause target leakage, and how BoxLink automates AS-OF joins.

Read Article
ProductionJune 12, 2026 • 5 min read

From Laptop to Production: Deploying BoxLink in Serverless

Learn how BoxLink's zero-dependency design makes it the perfect fit for AWS Lambda, Google Cloud Run, and edge runtimes.

Read Article