Skip to main content

🛒 Shopyo Ecommerce — Plug & Play Python Ecommerce for Shopyo

shopyo-ecommerce is a full-featured, plug-and-play ecommerce module for the Shopyo Flask framework. Add products, categories, variants, cart, checkout, and order management to your Shopyo app in minutes — no boilerplate, no fuss.


✨ Features

  • Product & Category Management — CRUD for products and categories with image uploads
  • Inventory Tracking — stock counts, low-stock alerts, and variant support
  • Shopping Cart — session-based cart with quantity controls
  • Checkout Flow — address collection, order summary, and payment integration hooks
  • Order Dashboard — admin order management with status tracking
  • POS Interface — point-of-sale view for in-person transactions
  • RESTful API — JSON endpoints for headless or mobile frontends
  • Shopyo Native — respects Shopyo's theming, auth, dashboard, and settings

🚀 Quick Start

pip install shopyo-ecommerce

Then initialise it in your Shopyo app factory:

from shopyo_ecommerce import ShopyoEcommerce

def create_app():
    app = Flask(__name__)
    # ... load extensions ...
    ShopyoEcommerce(app)
    return app

That's it. The ecommerce sub-modules (shop, pos, orders, etc.) will appear automatically in the dashboard and be ready at their default routes.

🎨 Available Themes

shopyo-ecommerce bundles two themes:

Theme Kind Namespaced Name Description
ecommerceus Front (storefront) shopyo_ecommerce/ecommerceus A clean product showcase theme for your online store
sneatlike Back (admin panel) shopyo_ecommerce/sneatlike A lightweight admin back-office theme (52 KB, no external deps)

Set the active theme in your config:

SHOPYO_THEME_FRONT_DEFAULT = "shopyo_ecommerce/ecommerceus"
SHOPYO_THEME_BACK_DEFAULT  = "shopyo_ecommerce/sneatlike"

Theme Commands

Copy a front theme into your project so you can customise it:

flask shopyo-ecommerce copy front ecommerceus

To overwrite an already-copied theme (backup first if needed):

flask shopyo-ecommerce update front ecommerceus

The copied theme lands at static/themes/front/ecommerceus/ and becomes available in the Shopyo theme picker.


📦 What's Inside

Sub-module Route Prefix Description
shop /shop Product listing, detail, cart, checkout
pos /pos Point-of-sale interface
category /category Category management
product /product Product management
order /order Order management
delivery /delivery Delivery configuration
payment /payment Payment gateway hooks
resource /resource Image & asset serving

🔧 Configuration

All settings are configured via Flask app config keys. Set them in your config.py or before calling ShopyoEcommerce(app).

Config Key Default Description
SHOPYO_ECOMMERCE_URL /shopyo-ecommerce URL prefix for all ecommerce routes
SHOPYO_ECOMMERCE_CURRENCY USD Default currency code (e.g. USD, EUR, MUR)
SHOPYO_ECOMMERCE_SECTION_NAME Shop Name shown in dashboard & settings for the ecommerce section
SHOPYO_ECOMMERCE_ITEMS_PER_PAGE 12 Number of products per page in shop listings
SHOPYO_ECOMMERCE_ENABLE_WISHLIST True Enable/disable the wishlist feature
SHOPYO_ECOMMERCE_ENABLE_REVIEWS False Enable/disable product reviews
SHOPYO_ECOMMERCE_CATEGORYPHOTOS_UPLOADSET categoryphotos Flask-Uploads set name for category images
SHOPYO_ECOMMERCE_SUBCATEGORYPHOTOS_UPLOADSET subcategoryphotos Flask-Uploads set name for subcategory images
SHOPYO_ECOMMERCE_PRODUCTEXCEL_UPLOADSET productexcel Flask-Uploads set name for product Excel imports
SHOPYO_ECOMMERCE_PRODUCTPHOTOS_UPLOADSET productphotos Flask-Uploads set name for product images
SHOPYO_ECOMMERCE_UPLOADED_CATEGORYPHOTOS_DEST static/uploads/categoryphotos Upload destination for category images (relative paths resolved against BASE_DIR)
SHOPYO_ECOMMERCE_UPLOADED_SUBCATEGORYPHOTOS_DEST static/uploads/subcategoryphotos Upload destination for subcategory images
SHOPYO_ECOMMERCE_UPLOADED_PRODUCTEXCEL_DEST static/uploads/productexcel Upload destination for product Excel files
SHOPYO_ECOMMERCE_UPLOADED_PRODUCTPHOTOS_DEST static/uploads/productphotos Upload destination for product images

Example:

class Config:
    SHOPYO_ECOMMERCE_URL = "/shop"
    SHOPYO_ECOMMERCE_CURRENCY = "EUR"
    SHOPYO_ECOMMERCE_ITEMS_PER_PAGE = 24
    SHOPYO_ECOMMERCE_UPLOADED_PRODUCTPHOTOS_DEST = "/data/uploads/products"

🧪 Tested With

  • Python 3.10+
  • Shopyo 4.18+
  • Flask 2+

🤝 Contributing

Found a bug? Want a feature? Open an issue at github.com/shopcube/shopcube.


📄 License

BSD-3-Clause. See LICENSE.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

shopyo_ecommerce-0.4.0.tar.gz (133.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

shopyo_ecommerce-0.4.0-py3-none-any.whl (201.1 kB view details)

Uploaded Python 3

File details

Details for the file shopyo_ecommerce-0.4.0.tar.gz.

File metadata

  • Download URL: shopyo_ecommerce-0.4.0.tar.gz
  • Upload date:
  • Size: 133.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for shopyo_ecommerce-0.4.0.tar.gz
Algorithm Hash digest
SHA256 9338828838ee044c001b64c5f301ff9c334682ca121d1da8e51921a76356f611
MD5 5087cbbc4adff0f1d0d80370bf8b465a
BLAKE2b-256 c89d1918efa143dbfffcc19b89d5836a37b74ca72dc31ea5ae1408ae61c3fa87

See more details on using hashes here.

File details

Details for the file shopyo_ecommerce-0.4.0-py3-none-any.whl.

File metadata

File hashes

Hashes for shopyo_ecommerce-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 db728c6058c3251dee21defcaf2ae4760c05a19ae248efec8f3d348e47f2317d
MD5 af4da2ef4229e3671ca7c48864d3e578
BLAKE2b-256 de78289d2660304742ffd974e70d8080455462430527506c2f45984ea635b6a7

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.4.0 This release

2 files

0.3.5

2 files

0.3.4

2 files

0.3.3

2 files

0.3.1

2 files

0.3.0

2 files

0.2.2

2 files

0.2.1

2 files

0.2.0

2 files

0.1.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page