gitwtfhub

wtf is synthforge?

superpapotas/synthforge — explained in plain English

Analysis updated 2026-05-18

2PythonAudience · developerComplexity · 3/5Setup · easy

TL;DR

A CLI tool that uses LLMs to create or enrich BI and POS test datasets from a CSV, Excel, Parquet, or DuckDB table by adding new AI-generated columns from one prompt.

Mindmap

mindmap
  root((SynthForge))
    What it does
      Enriches datasets with LLMs
      Reads CSV Excel Parquet DuckDB
      Handles prompts and caching
    Tech stack
      Python
      DuckDB
      Azure OpenAI
    Use cases
      Product catalog enrichment
      Web search price lookup
      Offline demo data
    Audience
      Data and BI developers

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Why would anyone build with this?

REASON 1

Enrich a product CSV with AI-generated description and category fields.

REASON 2

Look up current retail prices for products using LLM web search.

REASON 3

Generate realistic demo data offline with the free fake provider before connecting a real model.

What's in the stack?

PythonDuckDBAzure OpenAIGemini

How it stacks up

superpapotas/synthforge0-bingwu-0/live-interpreter0cm-labs/tokenizer-benchmark
Stars222
LanguagePythonPythonPython
Setup difficultyeasymoderatemoderate
Complexity3/52/52/5
Audiencedevelopergeneralresearcher

Figures from each repo's GitHub metadata at analysis time.

How do you spin it up?

Difficulty · easy Time to first run · 30min

Works offline with a fake provider by default, real LLM output requires configuring Azure OpenAI or another provider.

Wtf does this do

SynthForge is a command line tool that helps you create or enrich datasets for business intelligence and point of sale style demos using large language models. You point it at an existing file, a CSV, an Excel workbook, a Parquet file, or a DuckDB database table, describe the new columns you want added, write one prompt describing what should go in them, and the tool returns an enriched file or table. Behind the scenes it handles the prompt construction, the schema for the output, batching multiple rows efficiently, caching results, retrying failures, tracking metadata, and validating the results, along with setting up Azure OpenAI as a provider. The project positions itself as a middle ground between three existing approaches. Compared to simpler fake data libraries, it adds the ability to generate semantically meaningful fields using an actual language model, along with file and table augmentation, caching, and validation. Compared to statistical modeling tools meant to closely mimic real production data, it focuses on speed for demos and test datasets rather than faithfully reproducing sensitive data. Compared to writing your own one off scripts against an LLM, it keeps every prompt and run auditable, while letting normal deterministic code handle things like IDs, foreign keys, dates, and financial calculations. SynthForge is still an early project, currently at version 0.1. By default it uses a fake provider that needs no API key at all, so you can try the whole workflow offline before connecting a real model. The best supported real provider is Azure OpenAI's GPT-5 Nano, with an optional web search feature for looking up current facts like live prices. Other supported providers include Gemini with Google Search grounding and a Codex CLI based provider for local use. To install it, you clone the repository and install it with pip, requiring Python 3.11 or newer, with DuckDB included as a dependency. From there you can run a no SQL file augmentation command directly on a CSV, or work through SQL statements against a DuckDB database for more advanced relational work. The README stresses that this tool generates synthetic and demo data only, and it does not provide privacy guarantees or compliance certification, so it should not be treated as an anonymization solution for real sensitive data. The full README is longer than what was shown.

Yoink these prompts

Prompt 1
Show me how to run augment-file on a CSV to add description and category_clean columns.
Prompt 2
Walk me through configuring Azure OpenAI GPT-5 Nano with web search for SynthForge.
Prompt 3
Explain the difference between augment-file, augment, and the SQL workflow in SynthForge.
Prompt 4
Help me set up the offline fake provider so I can test SynthForge without an API key.

Frequently asked questions

wtf is synthforge?

A CLI tool that uses LLMs to create or enrich BI and POS test datasets from a CSV, Excel, Parquet, or DuckDB table by adding new AI-generated columns from one prompt.

What language is synthforge written in?

Mainly Python. The stack also includes Python, DuckDB, Azure OpenAI.

How hard is synthforge to set up?

Setup difficulty is rated easy, with roughly 30min to a first successful run.

Who is synthforge for?

Mainly developer.

View the repo → Decode another repo

This repo across BitVibe Labs

Don't trust strangers blindly. Verify against the repo.