A Streamlit-based automation system for generating Shopify-ready product CSVs and optionally publishing products directly via the Shopify Admin API.
This application automates the product creation workflow for print-on-demand operations.
It supports:
- Manual product creation via UI inputs
- Automated CSV generation from structured Dropbox design folders
- Config-driven garment / size / color mapping
- Image-to-variant mapping using predefined mockup rules
- Google Sheets SKU suffix tracking (duplicate protection)
- Optional direct upload to Shopify via Admin API
- Batch CSV building with automatic file splitting
- Dropbox folder lifecycle management (move / archive / cleanup)
- Load configuration from
constants/ - Collect metadata (manual input OR Dropbox metadata JSON)
- Fetch mockup image links (Dropbox shared links)
- Generate Shopify-ready DataFrame (
utils/sku_generator.py) - Export CSV (with optional size splitting)
- Optional: Upload products to Shopify
- Optional: Move / clean Dropbox folders
app.py--- Streamlit UI + orchestrationutils/sku_generator.py--- Pure dataframe generation logicutils/dropbox_utils.py--- Dropbox integrationutils/google_utils.py--- Google Sheets SKU trackingutils/shopify_utils.py--- Shopify Admin API upload logicconstants/--- Garment mappings, pricing, sizes, and rules
python -m venv .venv
# Windows PowerShell
.venv\Scripts\activate
pip install -r requirements.txtCopy the template file:
copy .env.example .envThen fill in your credentials inside .env.
See .env.example for full list.
Typical variables:
DROPBOX_REFRESH_TOKENSHOPIFY_STORE_URL_TESTSHOPIFY_API_PASSWORD_TESTSHOPIFY_STORE_URL_PRODSHOPIFY_API_PASSWORD_PRODGOOGLE_KEYFILE
streamlit run app.pysku-generator-app/
│
├── app.py
├── requirements.txt
├── .env.example
│
├── constants/
├── utils/
├── docs/
└── README.md
- No API keys are stored in the repository.
- All credentials are loaded via environment variables.
.envis ignored via.gitignore.
- LLM-based metadata generation
- Direct Canva mockup link ingestion
- Full automation pipeline (Dropbox → CSV → Shopify)
- Headless CLI mode for warehouse automation
This system is designed to: - Reduce manual Shopify product entry - Enforce SKU consistency - Prevent duplicate suffix usage - Scale print-on-demand operations efficiently
Author: Salaheddine Chouikh