Concept

Product Catalogue Pipeline Toolkit

A reusable Python toolkit for importing, normalizing, validating, and comparing supplier catalogue files.
This project is at the design stage — no public repository exists yet. The page below documents the intended problem, architecture, and stack.

One-sentence explanation

A command-line Python toolkit that turns messy supplier catalogue exports into normalized, validated, diffable data — the reusable core of the pipeline described in the catalogue automation case study, rebuilt from scratch with synthetic data so the design and code can be public even though that case study's data isn't.

The problem being solved

Supplier catalogue ingestion is one of the most common — and most repeatedly reinvented — problems in ecommerce tooling. Every business writes its own one-off scripts to parse CSV/Excel exports, guess at unit conversions, and check for obviously broken rows before publishing. None of that logic is inherently proprietary; it's just rarely extracted into something reusable.

Planned architecture

Toolkit — planned shape

Adapter

Parse CSV/Excel/JSON into a common schema

Normalize

Units, categories, attribute mapping

Validate

Rule-based checks, typed errors

Diff / export

Compare snapshots, write clean output

Technology stack

Python, with Pydantic for schema validation and typed records, pandas for the bulk transform steps, and a small CLI (Typer or argparse) so the toolkit is usable standalone or importable as a library in a larger pipeline.

Current status

Concept — design complete, implementation not yet started. This page documents the toolkit I intend to build by generalizing the ingestion and validation logic from my professional work into a standalone, MIT-licensed package with synthetic sample data. No public repository exists yet — check back, or get in touch if you'd like to see this prioritized.

What I expect to learn

Extracting private pipeline logic into a general-purpose tool forces real API design decisions that a one-off internal script never has to make — this is where I expect the most useful lessons about what's actually reusable versus what's specific to one business's data quirks.

Planned improvements

  • Pluggable adapters for common supplier feed formats
  • Configurable normalization rules per source
  • Human-readable diff reports between catalogue snapshots
  • A tested validation-rules layer, not inline script logic