E-Commerce

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

FeatureDescription
Comments and Rating Add a comment to a product and/or rate it.
WYSIWYG Editor Support for WYSIWYG editor(s) and/or markup formats.
Documented Contains thorough documentation.
Plugins Supports third party plugins.
Multilingual Full builtin multilingual support.
SEO Builtin tools for SEO.
Tests Contains a suite of unit tests.
Shipping options Available shipping options.
Product Types Supported product types.
Search Has the framework a builtin search?
PDF Invoice Generation Supports PDF Invoice generation for packaging slips?
Anonymous Checkout Can a customer perform a checkout without registration?
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.
Tax calculations Allowing products to be taxable via different shipping/billing areas
Upsell support Allow product cross referencing and upselling opportunities
Multisite Multi-tenancy enabled through integration with contrib.sites.
Continuous Integration Does the package use a CI service, and where is it?
Multi-Tenant If the shop supports multiple sites, can they all be hosted from a single
running instance of the application?
Customer Accounts Customer accounts integrated with Django auth - for features such as order
status, invoices and history.
PyPi Installable Can be automatically installed with dependency resolution via pip or setuptools.
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.
Django Version Which version of Django is supported?
South Support Allows south to be used to migrate the database.
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?
Price sorting/filtering Although this sounds as a no brainer, this funtionality is not common. Since
dynamic pricing does cause technical issues implementing this.
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.
Payment Methods We accept M-Pesa, Paypal and Airtel Money.
Demo Site If the framework has a public demo site, a link and login/password are given.
Test coverage The current test coverage of the package in percent.
Wishlists Allow users to identify wishlist items
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.
List of Sites Is there a list of sites online that use the E-Commerce app?
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.
Package django-oscar django SHOP satchless Saleor Cartridge shuup LFS - Lightning Fast Shop Satchmo Plata django-carton shopify_python_api mamona django-cart Django Currencies django-changuito KoalixCRM django-sellmo django-simple-forex Django session cart django-ajax-shop django-easycart gnocchi-catalogue django-simple-currencies django-simple-currencies
Package django-oscar django SHOP satchless Saleor Cartridge shuup LFS - Lightning Fast Shop Satchmo Plata django-carton shopify_python_api mamona django-cart Django Currencies django-changuito KoalixCRM django-sellmo django-simple-forex Django session cart django-ajax-shop django-easycart gnocchi-catalogue django-simple-currencies django-simple-currencies
Description Domain-driven e-commerce for
Django
A Django based shop system E-commerce for Python An e-commerce storefront for
Python and Django
Ecommerce for Mezzanine E-Commerce Platform An online-shop based on Django Satchmo is an ecommerce
framework built on the Django
framewo...
Plata - the lean and mean
Django-based Shop
A simple and lightweight
application for shopping carts
and wish lists.
ShopifyAPI library allows
Python developers to
programmatically access the
admin section of stores
Fully portable Django payments
application that can use any
Order/Cart model.
Django simple shopping cart
solution, with tests :)
django-currencies allows you
to define different
currencies, and includes
template tags/filters to allow
easy conversion between them.
This is a fork of the fork of
django-cart .. It reminds me
this quote...
http://www.youtube.com/watch?v=VkpjiohfmQU
... but if you ...
Beautiful CRM/ERP for small
business
Ambitious Django based
e-commerce framework
A 'cart' for Django, stored in
a visitors Session
a little and fast reusable
shop application ajax based
A flexible session-based
shopping cart application for
Django.
A Product Catalogue app for
Gnocchi
Currency, exchange rate and
conversions support for django
projects
Currency, exchange rate and
conversions support for django
projects
CategoryFrameworkFrameworkFrameworkFrameworkAppFrameworkFrameworkFrameworkAppAppProjectAppAppAppAppProjectFrameworkAppAppAppAppAppAppApp
# Using This6721143160123015201041201111100
Python 3?
Development Status Production/Stable Unknown Unknown n/a Beta n/a Unknown Beta n/a Production/Stable n/a n/a Production/Stable Beta Production/Stable Beta n/a n/a n/a n/a Alpha n/a Unknown Unknown
Last updated Aug. 13, 2016, 2:13 a.m. Sept. 22, 2016, 9:18 a.m. Jan. 12, 2016, 7 a.m. July 22, 2016, 2:29 a.m. July 21, 2016, 8:28 p.m. Aug. 31, 2016, 6:48 p.m. July 4, 2016, 3:55 p.m. March 25, 2016, 4:01 p.m. May 27, 2016, 2:30 a.m. June 15, 2016, 2:39 p.m. July 15, 2016, 3:03 p.m. March 6, 2013, 11:43 a.m. June 2, 2016, 1:19 p.m. July 3, 2016, 2:49 a.m. Nov. 3, 2015, 1:14 p.m. Oct. 7, 2015, 5:20 p.m. Dec. 9, 2015, 11:44 a.m. June 1, 2016, 3:53 a.m. Nov. 12, 2012, 6:16 p.m. April 3, 2013, 3:09 p.m. July 2, 2016, 7:31 a.m. March 18, 2011, 4:18 a.m. June 2, 2015, 12:26 a.m. June 2, 2015, 12:26 a.m.
Version1.30.9.12011.9.pren/a0.12.0n/a0.10.20.9-1n/a1.2.1n/an/a1.0.40.4.00.70.5n/an/an/an/a0.3.0n/a0.10.1
RepoGithubGithubGithubGithubGithubGithubGithubBitbucketGithubGithubGithubGithubGithubGithubGithubGithubGithubGithubBitbucketGithubGithubBitbucketGithubGithub
Commits
Stars211911256345374694404034011711691411201204543402111987444
Repo Forks8574621042192281981542315851651588411812215721n/an/a
Participantscodeinthehole
maikhoepfel
mvantellingen
mbertheau
fjern
xordoquy
OliverRandell
paluh
Geekfish
john-parton
more...
jrief
chrisglass
rfleschenberg
bmihelac
alesdotio
mbrochh
khchine5
zeus
febsn
mjw-keenan
more...
patrys
paluh
emesik
mirekm
mociepka
brew
greggarson
anentropic
bitrut
aniav
more...
patrys
elwoodxblues
mociepka
artursmet
bogdal
marekbrzoska
mitcom
zauddelig
funkybob
GeorgeLubaretsi
more...
stephenmcd
dfalk
AlexHill
sebasmagri
jerivas
clemensbasti
dsanders11
goodtune
sjkingo
Kniyl
more...
tulimaki
suutari-ai
akx
Pikkupomo
shawnadelic
gurch101
juhakujala
chessbr
hrayr-artunyan
JoaRiski
more...
diefenbach
pigletto
mthornhill
restless
naro
invalid-email-address
baffolobill
simahawk
mindflayer
vincic
more...
chris1610matthiask
DrMeers
frog32
schmidsi
blacktorn
jonasvp
mjtamlyn
fabiangermann
sarendsen
rofrankel
more...
lazybird
sect2k
Debetux
beckastar
kevinhughes27
dylanahsmith
gavinballard
ShayneP
benjlcox
marcvanolmen
asiviero
flux627
nCrazed
ch33sybr3ad
more...
emesik
radiosilence
tbarbugli
bmentges
dfalk
michaelavila
michaelrice
tfyr
furins
jordij
bashu
panosl
jleclanche
dhendo
bmihelac
einarf
strycore
ydaniv
cxong
davej
more...
angvp
bmentges
dfalk
Davideddu
EduardoMiravalls
friendka
bitdeli-chef
MarcosAguayo
cristianprieto
tfroehlich82
scaphilo
sebastian-code
waffle-iron
adaptivdesignashwin31
chaitu210
funkybobattuchnevimov
n3storm
funkybobjleclanche
panosl
bashu
dhendo
bmihelac
ydaniv
strycore
davej
noxan
stelzzz
jleclanche
panosl
bashu
dhendo
bmihelac
ydaniv
strycore
davej
noxan
stelzzz
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
Comments and RatingYes - reviews and review ratings are supportedUse existing Django packagesProvidable by standard django packages
WYSIWYG EditorDefault install uses bootstrap-wysihtml5 but any other JS widget can easily be dropped in.  Does not belong to the framework  yes TinyMCE can be activated easily; FeinCMS content blocks can be easily reused inside Plata (FeinCMS isn't required to run Plata)  Through django grappelli or other admin systems.html markup in Product description..
Documented  http://django-oscar.readthedocs.org/en/latest/  http://cartridge.jupo.orgNot yet, stable release is in the works. Documentation to follow shortly after.
Plugins  Built around OrderProcessor and content plugins  Modularity is a key design pattern. Literally every functionality can be extended, replaced or disabled.
MultilingualYes https://www.transifex.com/projects/p/django-oscar/Possible
SEOPossible
Tests
Shipping optionsExtremely flexible. Any part of the shipping calculation can be customised to suit your domain.Flat rate, easy api for extensibilityBase class to build upon, multiple delivery groups within one orderPer-country shipping rules provided out of the box, custom options are easy to implement

Split deliveries for a single order
  Flat rate provided plus hooks for implementing your own rulesVery flexible OOTB. Easy extendable via a plugin API.  Flat rate provided; other options can be implemented through a plugin systemcost of shipping configurable
Product TypesYes - A base product type is provided which can be subclassed and extended. Built-in support for digital product types which don't require shippingAny
Variations (ext)
Abstract base class to build onSubclassable base type with variants  Single product model that handles 0-n variations with 0-n option types.Standard, Variants, Configurable Products  Only comes with example products; you have to write your own product model (third party packages with products are available)  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.Tags Section 
Products are grouped by tagging.
Also, any product has 1-N Variants
SearchYes - ships with Haystack configuration but can be easily replaced with custom implementationHaystack support comes in contribPlanned  + livesearch  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.
PDF Invoice GenerationPossible but not in corePossiblePossible  Provides an abstraction layer for report generation through different adapters, such as weasyprint or phantomjs.
Anonymous CheckoutYes - Can be disabled if not requiredPossible  User registration is not required, but can be if desired. Provides a fully configurable checkout pipeline.
SalesYes - Highly sophisticated offers engine.Possible
Tax calculationsPluggable tax calculationsPossibleYes but specific rules are not provided  Provids a tax module with multiple tax subtypes. Can be easily extended.
Upsell supportYes - including automatic offer promptingPossible  Not yet
MultisitePossibleNo and never will
Continuous Integrationhttps://travis-ci.org/tangentlabs/django-oscarhttps://travis-ci.org/mirumee/saleor  https://travis-ci.org/stephenmcd/cartridgehttps://jenkins.shiningpanda.com/lfs/job/LFS/
Multi-Tenant
Customer Accounts  Has a customer module with multiple sub modules for account views.
PyPi InstallableNot yet, stable release is in the works.
Continuous IntegrationYes - https://travis-ci.org/tangentlabs/django-oscarhttp://ci.django-shop.org/job/django-shop/https://travis-ci.org/mirumee/saleor  http://travis-ci.org/#!/stephenmcd/cartridgehttps://jenkins.shiningpanda.com/lfs/job/LFS/
Dynamic CategoriesYes - called "ranges"Possible
Simply categories (ext)
PossibleNo, YAGNI(yes) For selecting which order items a discount applies to
Django Version1.3+1.2, 1.31.31.8Cartridge <= 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.31.4, 1.51.8+1.31.1+
South SupportMigrations includedDjango migrations  Full migrations includedFull automatically migration  Not possible because Plata allows configuring the product model  Fully supports Django migrations
Configurable Checkout StepsYes - The checkout can be easily customised to add, remove, alter or combine steps. It's not controlled by a single setting though.Single-step and multi-step checkout included with the framework, you can provide your ownSaleor is meant to be forked so you can just edit the codePossiblePossible through subclassing the Shop object  The checkout process is abstracted and a default implementation is provided.
Stock ControlPossiblePossible + transactional stock control (one transaction per stock change)  Through availability module. With support for backorders. Though custom sync functionality should be created through celery.
Price sorting/filtering  Also possible through generated product indexes.
App IntegrationAdmin can be used but a more sophisticated dashboard is provided.Uses the regular Django adminCustom dashboardLFS doesn't use Django admin.Django Admin, possible with Django-Cms
Multiple currenciesPrices can be shown in any currency but are entered in store's native currencyNo and never will
Payment MethodsGateways: DataCash, PayPal, PaymentExpress

There is also an accounts extension that provides support for giftcards, loyalty schemes and customer budgets.
cash-on-delivery
paypal (ext)
postfinance (ext)
Easily extensible
Authorize.net
PayPal
dotPay
SagePay
All supported by django-payments:

Authorize.net
Braintree
Coinbase
Cybersource
Dotpay
Google Wallet
PayPal
Sage Pay
Sofort
Stripe
 
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

PayPal
Postfinance
Cash on Delivery
Ogone
Paypal
Demo Sitehttp://latest.oscarcommerce.com/local (in the example folder)Local only, look in examples/demo/Local (can be deployed to Heroku with one click)  http://mezzanine.jupo.orghttp://demo.getlfs.comSeveral projects in the repository demonstrating various aspects of Plata.http://acquista.dolcericordo.it
Test coverage~83%90% +  75%Enough  90% +
WishlistsPlannedPossible
Faceted search/filteringPlanned  Because of thorough indexing functionality, Sellmo is capable of querying facets even with a database backend.
List of SitesYes https://github.com/django-oscar/django-oscar#case-studies  http://cartridge.jupo.org/overview.html#sites-using-cartridgehttp://www.getlfs.com/live-shopshttp://acquista.dolcericordo.it
Promotional Codes for DiscountsPossible
Search WeightPackageDescriptionLast PyPI release:Repo ForksStars
{{ 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