← Back to all products

Product Catalog Manager

$39

Bulk product import/export, category management, variant handling, SEO metadata generation, and image optimization scripts.

📁 22 files
JSONMarkdownYAMLPython

📄 Product Preview

Try the interactive reader and demo tools below, or get the full product with all content unlocked.

📖 Interactive Reader (Free Preview) ⚙ Try Demo Tools 📦 Download Free Sample

📁 File Structure 22 files

product-catalog-manager/ ├── LICENSE ├── README.md ├── configs/ │ └── catalog_config.yaml ├── data/ │ ├── sample_categories.json │ └── sample_products.csv ├── free-sample.zip ├── guide/ │ ├── 01-overview.md │ ├── 02-bulk-product-import-and-export.md │ └── 03-seo-metadata-generation.md ├── guides/ │ └── catalog_guide.md ├── index.html ├── scripts/ │ └── run_catalog.py ├── src/ │ ├── __init__.py │ ├── catalog.py │ ├── categories.py │ ├── images.py │ ├── importer.py │ ├── models.py │ ├── seo.py │ ├── validator.py │ └── variants.py └── tests/ └── test_catalog.py

📖 Documentation Preview README excerpt

Product Catalog Manager

Python toolkit for managing e-commerce product catalogs with bulk import/export, hierarchical categories, variant generation, SEO metadata, image optimization, and data validation.

What's Included

  • Catalog Manager — Central CRUD coordinator with search, filtering, bulk operations, and JSON persistence
  • Bulk Importer — Import products from CSV or JSON with flexible column mapping and error reporting
  • Category Tree — Hierarchical category management with path computation, breadcrumbs, and tree traversal
  • Variant Manager — Generate product variants from option axes (Size x Color → SKUs) with price modifiers
  • SEO Generator — Auto-generate meta titles, descriptions, Open Graph tags, and JSON-LD structured data
  • Image Optimizer — Analyze product images, generate resize commands, and enforce naming conventions
  • Product Validator — Validate catalog data quality with configurable rules and aggregate reporting

Quick Start


python scripts/run_catalog.py

from src.catalog import CatalogManager
from src.models import CatalogProduct
from src.seo import SEOGenerator
from src.variants import VariantManager

catalog = CatalogManager()
seo_gen = SEOGenerator(store_name="My Shop", base_url="https://shop.docs.example.com")

# Create a product with variants
product = CatalogProduct(sku="SKU-001", name="Classic T-Shirt", base_price=24.99, cost_price=8.50)

vm = VariantManager()
vm.add_axis("Size", ["S", "M", "L", "XL"])
vm.add_axis("Color", ["Black", "White"])
vm.apply_to_product(product)  # Generates 8 variant SKUs

product.seo = seo_gen.generate(product)
catalog.add_product(product)

Contents


├── src/                     — Core Python package (8 modules)
│   ├── models.py            — CatalogProduct, Category, Variant, SEOMetadata
│   ├── catalog.py           — CatalogManager with search, filter, bulk ops
│   ├── categories.py        — CategoryTree with hierarchy and breadcrumbs
│   ├── seo.py               — SEOGenerator and SEO auditing
│   ├── variants.py          — VariantManager with cartesian product generation
│   ├── importer.py          — BulkImporter/Exporter for CSV and JSON
│   ├── images.py            — ImageOptimizer for analysis and batch commands
│   └── validator.py         — ProductValidator with configurable rules
├── data/                    — Sample CSV and JSON data files
├── configs/                 — Annotated YAML configuration
├── scripts/                 — Runnable demo script
├── tests/                   — Unit tests (18+ test cases)
└── guides/                  — Setup and usage guide

... continues with setup instructions, usage examples, and more.

📄 Code Sample .py preview

scripts/run_catalog.py#!/usr/bin/env python3 """ Example Script — Product Catalog Manager ========================================== Demonstrates catalog operations: adding products, managing categories, generating variants, creating SEO metadata, and validating data. """ from __future__ import annotations import logging import sys from pathlib import Path sys.path.insert(0, str(Path(__file__).resolve().parent.parent)) from src.models import CatalogProduct, Category, Variant from src.catalog import CatalogManager from src.categories import CategoryTree from src.seo import SEOGenerator from src.variants import VariantManager from src.validator import ProductValidator from src.importer import BulkImporter logging.basicConfig( level=logging.INFO, format="%(asctime)s [%(levelname)s] %(name)s: %(message)s", datefmt="%H:%M:%S", ) logger = logging.getLogger("catalog_demo") def main() -> None: """Run the product catalog demo.""" catalog = CatalogManager() seo_gen = SEOGenerator(store_name="Demo Shop", base_url="https://shop.example.com") validator = ProductValidator() # --- Build category tree --- logger.info("=== Building Category Tree ===")
Buy Now — $39 Back to Products