Django packages/apps for building an e-commerce site, a store, and or most other kinds of selling things on the internet.
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. |
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. |
Package | Saleor | django-oscar | shuup | ReviewBoard | shopify_python_api | django SHOP | satchless | Cartridge | Longclaw | LFS - Lightning Fast Shop | django-carton | Django Currencies | Plata | Django Vendor | django-reviews | ok-cart |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
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 |
An extensible and friendly code review tool for projects and companies of all sizes. |
ShopifyAPI library allows Python developers to programmatically access the admin section of stores |
A Django based shop system | E-commerce for Python | Ecommerce for Mezzanine | A shop for Wagtail CMS | An online-shop based on Django |
A simple and lightweight application for shopping carts and wish lists. |
django-currencies allows you to define different currencies, and includes template tags/filters to allow easy conversion between them. |
Plata - the lean and mean Django-based Shop |
Generic, reusable reviews for Django |
Django cart. | |
Category | Framework | Framework | Framework | Project | Project | Framework | Other | App | Framework | Framework | App | App | App | App | App | App |
# Using This |
82
![]() |
239
![]() |
14
![]() |
12
![]() |
2
![]() |
58
![]() |
17
![]() |
21
![]() |
8
![]() |
15
![]() |
3
![]() |
5
![]() |
15
![]() |
0
![]() |
6
![]() |
0
![]() |
Python 3? | ||||||||||||||||
Development Status | Unknown | Production/Stable | Production/Stable | Production/Stable | n/a | Unknown | Unknown | Production/Stable | Alpha | Unknown | Production/Stable | Production/Stable | Production/Stable | Pre-Alpha | Production/Stable | n/a |
Last updated | Aug. 17, 2022, 7:44 a.m. | July 5, 2022, 10:08 a.m. | Aug. 18, 2021, 6:32 p.m. | July 28, 2022, 6:13 p.m. | Aug. 3, 2022, 12:48 p.m. | Feb. 28, 2021, 1:04 p.m. | Aug. 25, 2021, 9:08 a.m. | July 14, 2022, 6:37 p.m. | Oct. 25, 2021, 8:33 a.m. | Feb. 19, 2021, 4:09 a.m. | Nov. 8, 2021, 6:43 a.m. | March 6, 2022, 10:31 a.m. | Feb. 20, 2021, 3:58 p.m. | Aug. 12, 2022, 5:56 p.m. | Feb. 18, 2021, 2:46 a.m. | Sept. 23, 2021, 4:02 p.m. |
Version | 2.10.1 | 3.1 | 3.1.0 | 4.0.10 | n/a | 1.2.4 | 1.2.0 | 1.3.3 | 1.0.2 | 0.11 | 1.2.1 | 0.10.1 | 1.1.0 | 0.2.45 | 1.2.1 | n/a |
Repo | GitHub | GitHub | GitHub | GitHub | GitHub | GitHub | GitHub | GitHub | GitHub | GitHub | GitHub | GitHub | GitHub | GitHub | GitHub | GitHub |
Commits | ||||||||||||||||
Stars | 16,616 | 5,422 | 1,901 | 1,436 | 882 | 2,861 | 787 | 664 | 341 | 571 | 267 | 86 | 187 | 7 | 32 | 5 |
Repo Forks | 4,661 | 1,992 | 970 | 413 | 258 | 988 | 143 | 296 | 75 | 212 | 100 | 71 | 61 | 4 | 16 | 0 |
Participants |
maarcingebala
dominik-zeglen IKarbowiak patrys korycins fowczarek Pacu2 mad-anne salwator akjanik more... |
codeinthehole
maikhoepfel solarissmoke mvantellingen pyup-bot mbertheau dependabot-preview[bot] asiabiega dependabot[bot] xordoquy more... |
tulimaki
chessbr Pikkupomo suutari-ai akx gurch101 maximlion wiltso ruohola shawnadelic more... |
chipx86
davidt mikeconley brennie justy777 sgallagher smacleod gkm4d medanat michelle-aubin more... |
dylanahsmith
jamiemtdwyer Paulinakhew mllemango kevinhughes27 tanema andyw8 gavinballard tylerball NabeelAhsen more... |
jrief
rfleschenberg chrisglass khchine5 bmihelac alesdotio mbrochh haricot rubengrill febsn more... |
patrys
paluh emesik mirekm mociepka brew greggarson anentropic bitrut aniav more... |
stephenmcd
henri-hulski AlexHill dfalk sebasmagri jerivas ryneeverett dsanders11 goodtune sjkingo more... |
JamesRamm
pyup-bot alexfromvl Purple-Skittles dependabot[bot] thenewguy sidnetopia BenSturmfels Blake-G bmoe872 more... |
diefenbach
pigletto mthornhill restless naro mindflayer simahawk baffolobill vincic DNX more... |
sect2k
Debetux beckastar Daniel-Avila lazybird |
racitup
panosl bashu einarf bmihelac dhendo pasevin asucrews strycore ydaniv more... |
matthiask
fiee frog32 DrMeers flaiming LeaFin armicron stefanklug tjwalch eonpatapon more... |
rhimmelbauer
renderbox mgcamisa devo-wm vamatrivedi1994 dependabot[bot] |
diefenbach
JostCrow pigletto |
LowerDeez |
Documentation | 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://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/ |
|||||||||||
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 | ||||||||||||||
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) | |||||||||||
Search | 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 | Uses Wagtails' search capability |
+ livesearch | Does not belong inside shop software | ||||||||||
Product Types | 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. | Incredibly flexible options for modelling your catalogue |
Standard, Variants, Configurable Products | Only comes with example products; you have to write your own product model (third party packages with products are available) | ||||||||
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 | ||||||||||||
Anonymous Checkout | Yes - Can be disabled if not required | - can optionally be disabled |
Possible | |||||||||||||
Shipping options | 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 | Basic support for multiple shipping options per country |
Very flexible OOTB. Easy extendable via a plugin API. | Flat rate provided; other options can be implemented through a plugin system | ||||||||
Tax calculations | Pluggable tax calculations | Any kind of tax model can be applied using plugins. |
||||||||||||||
Upsell support | Yes - including automatic offer prompting | Possible | ||||||||||||||
Continuous Integration | 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://travis-ci.org/JamesRamm/longclaw |
https://jenkins.shiningpanda.com/lfs/job/LFS/ | ||||||||||
Multisite | Possible | No and never will | ||||||||||||||
Continuous Integration | 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 | ||||||||||||||||
Customer Accounts | Targeted for 1.1 release |
|||||||||||||||
Multi-Tenant | possible | |||||||||||||||
Django Version | 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.8 | 1.1, 1.2, 1.3 | 1.4, 1.5 | ||||||||
South Support | Migrations included | Django migrations | Full migrations included | Full automatically migration | Not possible because Plata allows configuring the product model | |||||||||||
Price sorting/filtering | The catalog's list view is controlled via Django REST framework. Hence all filtering capabilities are available. | |||||||||||||||
Configurable Checkout Steps | 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 | |||||||||||
Stock Control | Possible | Possible | + transactional stock control (one transaction per stock change) | |||||||||||||
App Integration | Admin can be used but a more sophisticated dashboard is provided. | Uses the regular Django admin | LFS doesn't use Django admin. | |||||||||||||
Multiple currencies | No and never will | |||||||||||||||
Wishlists | Planned | Possible | ||||||||||||||
Demo Site | 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. | ||||||||||
Payment Methods | 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 |
Braintree, Stripe, Paypal supported in core. Payment gateways are dynamic plugins so you can add your own support. |
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 |
|||||||||
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 | |||||||||||||
Test coverage | ~83% | 90% + | 75% | 82% | Enough | 90% + | ||||||||||
Faceted search/filtering | ||||||||||||||||
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 |