E-Com

Django packages/apps for building an e-commerce site, a store, and or most other kinds of selling things on the internet.

Features currently being evaluated

Feature Description
Multilingual Full builtin multilingual support.
Documented Contains thorough documentation.
Tests Contains a suite of unit tests.
Reviews Add a comment to a product and/or rate it.
Plugins Supports third party plugins.
WYSIWYG Editor Support for WYSIWYG editor(s) and/or markup formats.
dfgdfg dfgdsgdsfgdgfdgdfgdfg
Search Has the framework a builtin search?
Product Types Supported product types.
PDF Invoice Generation Supports PDF Invoice generation for packaging slips?
Anonymous Checkout Can a customer perform a checkout without registration?
Shipping options Available shipping options.e
Tax calculations Allowing products to be taxable via different shipping/billing areas
Upsell support Allow product cross referencing and upselling opportunities
Continuous Integration Does the package use a CI service, and where is it?
Multisite Multi-tenancy enabled through integration with contrib.sites.
Continuous Integration Does the package use a CI service, and where is it?
Dynamic Categories Categories can be created for all products under a certain price, that contain a
certain attribute (eg colour is blue) and will be automatically updated as the
product attributes change.
PyPi Installable Can be automatically installed with dependency resolution via pip or setuptools.
Customer Accounts Customer accounts integrated with Django auth - for features such as order
status, invoices and history.
Multi-Tenant If the shop supports multiple sites, can they all be hosted from a single
running instance of the application?
Django Version Which version of Django is supported?
South Support Allows south to be used to migrate the database.
Price sorting/filtering Although this sounds as a no brainer, this funtionality is not common. Since
dynamic pricing does cause technical issues implementing this.
Configurable Checkout Steps Can the checkout steps be combined into a single screen (one step checkout) or
multiple (billing/shipping, payment, confirmation) with a single setting.
Stock Control Can stock levels be specified with products going out of stock once all
purchased?
App Integration Does the admin interface support integration of any Django app which provides at
least a urls.py? (Eg by making use of Django's admin interface)
Multiple currencies Allows to use multiple currencies in one instance. All catalog items can be
provided with prices in each currency.
Wishlists Allow users to identify wishlist items
Demo Site If the framework has a public demo site, a link and login/password are given.
Payment Methods We accept M-Pesa, Paypal and Airtel Money.
List of Sites Is there a list of sites online that use the E-Commerce app?
Test coverage The current test coverage of the package in percent.
Faceted search/filtering Products can be filtered by attributes and other criteria. The user can also see
the number of results each criteria would yield.
Promotional Codes for Discounts Can discount codes be created for the customer to enter and receive a discount.
Features such as support date ranges and limit to certain products and
categories and optional free shipping.
Sales Specify a discount across a range of products and/or categories for a date
period. Bonus points if it doesn't add extra database queries each time the
product is viewed.

Filter results

Package Saleor django-oscar shuup django SHOP satchless shopify_python_api Cartridge LFS - Lightning Fast Shop Longclaw django-carton Plata django-cart Django Vendor ok-cart Django Currencies small-cart django-simple-currencies django-simple-currencies welut django-easycart gnocchi-catalogue django-shop-area-tax django-simple-forex django-ajax-shop Django session cart django-sellmo django-changuito KoalixCRM Satchmo mamona
Package Saleor django-oscar shuup django SHOP satchless shopify_python_api Cartridge LFS - Lightning Fast Shop Longclaw django-carton Plata django-cart Django Vendor ok-cart Django Currencies small-cart django-simple-currencies django-simple-currencies welut django-easycart gnocchi-catalogue django-shop-area-tax django-simple-forex django-ajax-shop Django session cart django-sellmo django-changuito KoalixCRM Satchmo mamona
Description A modular, high performance,
headless e-commerce platform
built with Python, GraphQL,
Django, and React.
Domain-driven e-commerce for
Django
E-Commerce Platform A Django based shop system E-commerce for Python ShopifyAPI library allows
Python developers to
programmatically access the
admin section of stores
Ecommerce for Mezzanine An online-shop based on Django A shop for Wagtail CMS A simple and lightweight
application for shopping carts
and wish lists.
Plata - the lean and mean
Django-based Shop
Django simple shopping cart
solution, with tests :)
Django cart. django-currencies allows you
to define different
currencies, and includes
template tags/filters to allow
easy conversion between them.
A python/django ecommerce
framework for simple and small
shops
Currency, exchange rate and
conversions support for django
projects
Currency, exchange rate and
conversions support for django
projects
:wavy_dash: welut is django
plugin to convert the .epub,
.mobi or .pdf files as images.
Usefull to manage e-library or...
A flexible session-based
shopping cart application for
Django.
A Product Catalogue app for
Gnocchi
Area tax cart processor for
django-shop
a little and fast reusable
shop application ajax based
A 'cart' for Django, stored in
a visitors Session
Ambitious Django based
e-commerce framework
This is a fork of the fork of
django-cart .. It reminds me
this quote...
http://www.youtube.com/watch?v=VkpjiohfmQU
... but if yo...
Beautiful CRM/ERP for small
business
Satchmo is an ecommerce
framework built on the Django
framewo...
Fully portable Django payments
application that can use any
Order/Cart model.
Category Framework Framework Framework Framework Other Project App Framework Framework App App App App App App Project App App App App App App App App App Framework App Project Framework App
# Using This 76 235 13 53 17 2 21 15 6 3 15 0 0 0 4 1 0 0 2 2 1 1 2 1 1 0 1 2 32 1
Python 3?
Development Status n/a Production/Stable Production/Stable Unknown Unknown n/a Beta Unknown Alpha Production/Stable Production/Stable Production/Stable Pre-Alpha n/a Production/Stable n/a Unknown Unknown Production/Stable Alpha n/a n/a n/a n/a n/a n/a Production/Stable Beta Beta n/a
Last updated Oct. 12, 2021, 6:51 a.m. Sept. 20, 2021, 5:16 a.m. Aug. 18, 2021, 6:32 p.m. Feb. 28, 2021, 1:04 p.m. Aug. 25, 2021, 9:08 a.m. July 12, 2021, 1:04 p.m. Oct. 4, 2021, 11:35 a.m. Feb. 19, 2021, 4:09 a.m. April 7, 2021, 7:25 a.m. Nov. 8, 2021, 6:43 a.m. Feb. 20, 2021, 3:58 p.m. March 6, 2020, 8:54 a.m. Sept. 24, 2021, 2:35 p.m. Sept. 23, 2021, 4:02 p.m. Feb. 21, 2020, 6:12 p.m. May 7, 2020, 8:59 p.m. March 27, 2019, 5:25 a.m. March 27, 2019, 5:25 a.m. Nov. 24, 2017, 1:32 a.m. Oct. 3, 2018, 2:04 a.m. March 18, 2011, 4:18 a.m. April 20, 2012, 12:18 p.m. June 1, 2016, 3:53 a.m. April 3, 2013, 3:09 p.m. Nov. 12, 2012, 6:16 p.m. Dec. 9, 2015, 11:44 a.m. Aug. 14, 2017, 1:24 p.m. Dec. 29, 2017, 5:24 a.m. April 25, 2019, 1:48 p.m. March 6, 2013, 11:43 a.m.
Version n/a 3.1 3.1.0 1.2.4 1.2.0 n/a 0.13.0 0.11 1.0.2 1.2.1 1.1.0 1.0.4 0.2.20 n/a 0.10.1 n/a 0.1 0.1 1.0.4 0.4.0 n/a n/a n/a n/a n/a n/a 1.2 0.5 0.9.2 n/a
Repo GitHub GitHub GitHub GitHub GitHub GitHub GitHub GitHub GitHub GitHub GitHub GitHub GitHub GitHub GitHub GitHub GitHub GitHub GitHub GitHub Bitbucket GitHub GitHub GitHub Bitbucket GitHub GitHub GitHub Bitbucket GitHub
Commits
Stars 14255 5077 1774 2657 786 766 635 557 300 262 187 290 5 2 89 3 4 4 6 22 4 5 11 8 9 21 50 85 389 123
Repo Forks 4096 1865 924 933 145 238 292 205 60 100 60 156 4 n/a 66 n/a 3 3 6 10 n/a 1 1 7 4 2 20 25 226 17
Participants maarcingebala
dominik-zeglen
IKarbowiak
patrys
fowczarek
korycins
Pacu2
mad-anne
salwator
akjanik
more...
codeinthehole
maikhoepfel
solarissmoke
mvantellingen
sasha0
pyup-bot
mbertheau
dependabot-preview[bot]
asiabiega
xordoquy
more...
tulimaki
chessbr
Pikkupomo
suutari-ai
akx
gurch101
maximlion
wiltso
ruohola
shawnadelic
more...
jrief
rfleschenberg
chrisglass
khchine5
bmihelac
alesdotio
mbrochh
haricot
rubengrill
febsn
more...
patrys
paluh
emesik
mirekm
mociepka
brew
greggarson
anentropic
bitrut
aniav
more...
dylanahsmith
jamiemtdwyer
Paulinakhew
kevinhughes27
tanema
mllemango
andyw8
gavinballard
tylerball
NabeelAhsen
more...
stephenmcd
AlexHill
dfalk
sebasmagri
jerivas
ryneeverett
dsanders11
goodtune
sjkingo
kenbolton
more...
diefenbach
pigletto
mthornhill
restless
naro
mindflayer
simahawk
baffolobill
vincic
DNX
more...
JamesRamm
pyup-bot
alexfromvl
Purple-Skittles
dependabot[bot]
thenewguy
sidnetopia
BenSturmfels
bmoe872
jghyllebert
more...
sect2k
Debetux
beckastar
Daniel-Avila
lazybird
matthiask
fiee
frog32
DrMeers
flaiming
LeaFin
armicron
stefanklug
tjwalch
eonpatapon
more...
bmentges
dfalk
MeNsaaH
michaelavila
vodopyanovas
caroso1222
ChehST
joaovitorsilvestre
michaelrice
tfyr
more...
rhimmelbauer
renderbox
mgcamisa
devo-wm
vamatrivedi1994
daviddwmd
LowerDeez racitup
panosl
bashu
einarf
bmihelac
dhendo
pasevin
strycore
ydaniv
cxong
more...
ralphleyga
dependabot[bot]
panosl
bashu
bmihelac
dhendo
strycore
ydaniv
davej
gfavre
noxan
stelzzz
panosl
bashu
bmihelac
dhendo
strycore
ydaniv
davej
gfavre
noxan
stelzzz
agusmakmun nevimov
n3storm
funkybob Lacrymology ashwin31
chaitu210
attuch funkybob adaptivdesign angvp
bmentges
dfalk
kamartem
EduardoMiravalls
bitdeli-chef
maguayo
mapeveri
cristianprieto
tfroehlich82
scaphilo
sebastian-code
waffle-iron
chris1610 emesik
radiosilence
tbarbugli
Documentation N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A
Multilingual Yes https://www.transifex.com/projects/p/django-oscar/ Static strings are translated with gettext.
Model strings are translated using django-parler.
Possible
Documented http://saleor.readthedocs.io/   http://django-oscar.readthedocs.org/en/latest/ http://shuup.readthedocs.io/en/latest/ http://www.django-shop.org   http://cartridge.jupo.org  
http://longclaw.readthedocs.io/en/latest/
Not yet, stable release is in the works. Documentation to follow shortly after.
Tests
Reviews Yes - reviews and review ratings are supported Use existing Django packages Providable by standard django packages
Plugins   (addons)   Built around OrderProcessor and content plugins   Modularity is a key design pattern. Literally every functionality can be extended, replaced or disabled.
WYSIWYG Editor Default install uses bootstrap-wysihtml5 but any other JS widget can easily be dropped in. Complete plugin system available for django-CMS: CKEditor, responsive images, Bootstrap-3 grid system, panels, accordion, carousels and many more.   Does not belong to the framework  
Via the wagtail admin.
  yes TinyMCE can be activated easily; FeinCMS content blocks can be easily reused inside Plata (FeinCMS isn't required to run Plata) html markup in Product description..   Through django grappelli or other admin systems.
dfgdfg Sitemaps for products and CMS pages.
The merchant can add arbitrary meta tags.
Possible  
SEO support for product pages from Wagtail
Search Yes, using either PostgreSQL or Elasticsearch Yes - ships with Haystack configuration but can be easily replaced with custom implementation Yes
using Elasticsearch in combination with Haystack, but can easily be replaced by any custom implementation
Haystack support comes in contrib   + livesearch  
Uses Wagtails' search capability
  Does not belong inside shop software   Fully fledged indexing system with a django style QuerySet search layer. Supporting either the django ORM as backend or other Non-relational databases.
Product Types Base product with variants, attributes can be added to both the product and its variants Yes - A base product type is provided which can be subclassed and extended. Built-in support for digital product types which don't require shipping Any product types available Any product type can be described.
Just extend the provided base class and add the product's attributes. This allows to add any kind of variation.
Abstract base class to build on   Single product model that handles 0-n variations with 0-n option types. Standard, Variants, Configurable Products  
Incredibly flexible options for modelling your catalogue
  Only comes with example products; you have to write your own product model (third party packages with products are available)  
Products are grouped by tagging.
Also, any product has 1-N Variants
Tags Section   Builds upon polymorphism and allows for custom product models and subtypes. While maintaining the ability to integrate these subtypes with existing modules such as the variation module.
PDF Invoice Generation Possible but not in core Invoices are rendered using HTML with CSS optimized for printing, which allows to style them using standard Django templates.
They then are paginated and can be printed page by page using a header and footer.
Possible Possible   Provides an abstraction layer for report generation through different adapters, such as weasyprint or phantomjs.
Anonymous Checkout Yes - Can be disabled if not required   - can optionally be disabled
Possible   User registration is not required, but can be if desired. Provides a fully configurable checkout pipeline.
Shipping options Per-country shipping rules provided out of the box, custom options are easy to implement

Split deliveries for a single order
Extremely flexible. Any part of the shipping calculation can be customised to suit your domain. Shipstation addon available with built in automation for drop shipping Costs and options for shipping are pluggable.
It is very easy to build plugins adding the customers logic.
Base class to build upon, multiple delivery groups within one order   Flat rate provided plus hooks for implementing your own rules Very flexible OOTB. Easy extendable via a plugin API.  
Basic support for multiple shipping options per country
  Flat rate provided; other options can be implemented through a plugin system cost of shipping configurable
Tax calculations Vatlayer integration supports EU VAT.

Avalara planned for US.
Pluggable tax calculations Any kind of tax model can be applied using plugins.
  Provids a tax module with multiple tax subtypes. Can be easily extended.
Upsell support Yes - including automatic offer prompting Possible   Not yet
Continuous Integration https://travis-ci.org/mirumee/saleor https://travis-ci.org/tangentlabs/django-oscar   https://travis-ci.org/shuup/shuup https://travis-ci.org/awesto/django-shop   https://travis-ci.org/stephenmcd/cartridge https://jenkins.shiningpanda.com/lfs/job/LFS/  
https://travis-ci.org/JamesRamm/longclaw
Multisite Possible No and never will
Continuous Integration https://travis-ci.org/mirumee/saleor Yes - https://travis-ci.org/tangentlabs/django-oscar http://ci.django-shop.org/job/django-shop/   http://travis-ci.org/#!/stephenmcd/cartridge https://jenkins.shiningpanda.com/lfs/job/LFS/
Dynamic Categories Yes - called "ranges" Possible
Simply categories (ext)
Possible No, YAGNI (yes) For selecting which order items a discount applies to
PyPi Installable Not yet, stable release is in the works.
Customer Accounts  
Targeted for 1.1 release
  Has a customer module with multiple sub modules for account views.
Multi-Tenant possible
Django Version 1.11, 2.0 1.3+ Django>=1.9.0,<1.10 1.9 and later 1.3 Cartridge <= 0.3.7 supports Django 1.1 to 1.4
Cartridge >= 0.4.0, <= 0.8.1 supports Django 1.3 to 1.4
Cartridge 0.8.2 and 0.8.3 supports Django 1.4 to 1.5
Cartridge 0.9 supports Django 1.4 to 1.6
1.1, 1.2, 1.3 >=1.8 1.4, 1.5 1.1+ 1.3 1.8+
South Support Django migrations Migrations included Django migrations   Full migrations included Full automatically migration   Not possible because Plata allows configuring the product model   Fully supports Django migrations
Price sorting/filtering The catalog's list view is controlled via Django REST framework. Hence all filtering capabilities are available.   Also possible through generated product indexes.
Configurable Checkout Steps Saleor is meant to be forked so you can just edit the code

Default checkout will skip steps that don't make sense like shipping for non-shippable items
Yes - The checkout can be easily customised to add, remove, alter or combine steps. It's not controlled by a single setting though. Each form required for the checkout steps is a plugin which can be combined and positioned hierarchically. This allows to build checkouts in a very flexible manner. Single-step and multi-step checkout included with the framework, you can provide your own Possible Possible through subclassing the Shop object   The checkout process is abstracted and a default implementation is provided.
Stock Control Possible Possible  + transactional stock control (one transaction per stock change)   Through availability module. With support for backorders. Though custom sync functionality should be created through celery.
App Integration Custom dashboard Admin can be used but a more sophisticated dashboard is provided. Uses the regular Django admin LFS doesn't use Django admin. Django Admin, possible with Django-Cms
Multiple currencies Prices can be shown in any currency but are entered in store's native currency No and never will
Wishlists Planned Possible
Demo Site https://demo.getsaleor.com/ http://latest.oscarcommerce.com/ local (in the example folder) Local only, look in examples/demo/   http://mezzanine.jupo.org http://demo.getlfs.com Several projects in the repository demonstrating various aspects of Plata. http://acquista.dolcericordo.it
Payment Methods All supported by django-payments:

Authorize.net
Braintree
Coinbase
Cybersource
Dotpay
Google Wallet
PayPal
Sage Pay
Sofort
Stripe
Gateways: DataCash, PayPal, PaymentExpress

There is also an accounts extension that provides support for giftcards, loyalty schemes and customer budgets.
All payment providers are handled by external plugins:
PayPal, Stripe, Ogone (on demand)
Authorize.net
PayPal
dotPay
SagePay
 
Authorize.net
eGate
PayPal
Stripe
Braintree
PIN
Very flexible OOTB. Easy extendable via a plugin API.

Cash on Delivery
Bank Account
PayPal
Credit Card
sofortueberweisung.de

 
Braintree, Stripe, Paypal supported in core.
Payment gateways are dynamic plugins so you can add your own support.
PayPal
Postfinance
Cash on Delivery
Ogone
Paypal
List of Sites Yes https://github.com/django-oscar/django-oscar#case-studies   http://cartridge.jupo.org/overview.html#sites-using-cartridge http://www.getlfs.com/live-shops http://acquista.dolcericordo.it
Test coverage ~85% ~83% 90% +   75% Enough 82%   90% +
Faceted search/filtering   Because of thorough indexing functionality, Sellmo is capable of querying facets even with a database backend.
Promotional Codes for Discounts   - by using special plugins
they can easily be programmed fulfilling the merchant's requirements
Possible
Sales Yes - Highly sophisticated offers engine. Possible
Search Weight Package Description Last PyPI release: Repo Forks Stars
{{ item.weight / max_weight * 100 | number:0 }}% {{ item.title }} Grid: {{ item.description }} {{ item.last_released | date: 'mediumDate' }} N/A {{ item.repo_forks }} N/A {{ item.repo_watchers }} N/A