Skip to content
This repository was archived by the owner on May 29, 2026. It is now read-only.

Repository files navigation

Interloper

A lightweight Python framework for building data assets

Define assets as functions, group them in sources, wire dependencies automatically, and materialize them with pluggable IO backends and runners.

CI Coverage Python 3.10+ License

Install

uv add interloper-core

Quick Start

import interloper as il

@il.source
class MySource:
    @il.asset
    def users(self) -> list:
        return [{"id": 1, "name": "Alice"}, {"id": 2, "name": "Bob"}]

    @il.asset
    def user_count(self, users: list) -> int:
        return len(users)

source = MySource(io=il.FileIO("data"))
dag = il.DAG(source)
dag.materialize()

Packages

Package Description
interloper-core Core: assets, sources, DAG, runners, IO, partitioning
interloper-sql SQL IO backends (Postgres, MySQL, SQLite)
interloper-assets Pre-built source definitions and registry
interloper-dbos DBOS durable execution
interloper-docker Docker runner and backfiller
interloper-k8s Kubernetes runner and backfiller

Development

uv sync --all-packages --all-extras
uv run pytest
uv run ruff check .
uv run pyright

About

Interloper

Resources

Stars

2 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages