Django packages/apps for building an e-commerce site, a store, and or most other kinds of selling things on the internet.
Package | Saleor | django-oscar | ReviewBoard | shopify_python_api | shuup | Longclaw | Cartridge | satchless | Plata | Django Currencies | dj-shop-cart | Django Vendor | ok-cart | django-carton |
---|
Package | Saleor | django-oscar | ReviewBoard | shopify_python_api | shuup | Longclaw | Cartridge | satchless | Plata | Django Currencies | dj-shop-cart | Django Vendor | ok-cart | django-carton |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Description |
Saleor Core: the high performance, composable, headless commerce API. |
Domain-driven e-commerce for Django |
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 |
E-Commerce Platform | A shop for Wagtail CMS | Ecommerce for Mezzanine | E-commerce for Python |
Plata - the lean and mean Django-based Shop |
django-currencies allows you to define different currencies, and includes template tags/filters to allow easy conversion between them. |
A simple and flexible cart manager for your django projects. |
Django cart. |
A simple and lightweight application for shopping carts and wish lists. |
|
Category | Framework | Framework | Project | Project | Framework | Framework | App | Other | App | App | App | App | App | App |
# Using This |
88
![]() |
243
![]() |
14
![]() |
3
![]() |
16
![]() |
8
![]() |
21
![]() |
18
![]() |
15
![]() |
6
![]() |
1
![]() |
0
![]() |
0
![]() |
3
![]() |
Python 3? | ||||||||||||||
Development Status | Unknown | Production/Stable | Production/Stable | n/a | Production/Stable | Alpha | Production/Stable | Unknown | Production/Stable | Production/Stable | Production/Stable | Unknown | n/a | Production/Stable |
Last updated | Oct. 4, 2023, 10:31 a.m. | Sept. 28, 2023, 8:09 a.m. | Sept. 12, 2023, 2:49 a.m. | April 12, 2023, 12:10 p.m. | Aug. 18, 2021, 6:32 p.m. | Aug. 13, 2023, 4:17 a.m. | Sept. 19, 2022, 1:03 p.m. | Aug. 25, 2021, 9:08 a.m. | Aug. 30, 2023, 8:39 a.m. | Jan. 12, 2023, 4:20 a.m. | Sept. 28, 2023, 3:35 a.m. | Sept. 20, 2023, 4:01 p.m. | Sept. 23, 2021, 4:02 p.m. | Nov. 8, 2021, 6:43 a.m. |
Version | 2.10.1 | 3.2 | 5.0.6 | n/a | 3.1.0 | 1.0.2 | 1.3.4 | 1.2.0 | 1.1.0 | 0.10.1 | 7.0.3 | 0.4.12 | n/a | 1.2.1 |
Repo | GitHub | GitHub | GitHub | GitHub | GitHub | GitHub | GitHub | GitHub | GitHub | GitHub | GitHub | GitHub | GitHub | GitHub |
Commits | ||||||||||||||
Stars | 19,112 | 5,869 | 1,505 | 1,077 | 2,097 | 370 | 694 | 786 | 186 | 91 | 23 | 8 | 8 | 276 |
Repo Forks | 5,174 | 2,155 | 427 | 338 | 1,050 | 81 | 302 | 147 | 62 | 76 | 3 | 4 | 0 | 99 |
Participants |
maarcingebala
dominik-zeglen IKarbowiak patrys fowczarek Pacu2 mad-anne salwator akjanik artursmet more... |
codeinthehole
maiksprenger solarissmoke mvantellingen pyup-bot mbertheau dependabot-preview[bot] dependabot[bot] asiabiega specialunderwear more... |
chipx86
davidt mikeconley michelle-aubin brennie justy777 sgallagher smacleod gkm4d medanat more... |
dylanahsmith
jamiemtdwyer Paulinakhew mllemango kevinhughes27 andyw8 gavinballard tylerball mkevinosullivan NabeelAhsen more... |
tulimaki
chessbr Pikkupomo suutari-ai akx gurch101 maximlion wiltso ruohola shawnadelic more... |
JamesRamm
pyup-bot dependabot[bot] alexfromvl Purple-Skittles nickmoreton thenewguy sidnetopia BenSturmfels Blake-G more... |
stephenmcd
henri-hulski AlexHill dfalk sebasmagri jerivas ryneeverett dsanders11 goodtune sjkingo more... |
patrys
paluh emesik mirekm mociepka brew greggarson anentropic bitrut aniav more... |
matthiask
fiee frog32 DrMeers LeaFin armicron stefanklug tjwalch eonpatapon pdebuyl more... |
racitup
panosl bashu einarf bmihelac dhendo pasevin asucrews strycore ronanboiteau more... |
Tobi-De
dependabot[bot] da-kodesio |
rhimmelbauer
renderbox mgcamisa fahzee1 devo-wm vamatrivedi1994 dependabot[bot] |
LowerDeez |
sect2k
Debetux beckastar Daniel-Avila lazybird |
Documentation | n/a | n/a | n/a | n/a | n/a | |||||||||
Multilingual | Yes https://www.transifex.com/projects/p/django-oscar/ | Possible | ||||||||||||
Documented | http://django-oscar.readthedocs.org/en/latest/ | http://shuup.readthedocs.io/en/latest/ | http://longclaw.readthedocs.io/en/latest/ |
http://cartridge.jupo.org | ||||||||||
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. | Via the wagtail admin. |
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) | ||||||||||
Search | Yes - ships with Haystack configuration but can be easily replaced with custom implementation | Uses Wagtails' search capability |
Haystack support comes in contrib | 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 | Incredibly flexible options for modelling your catalogue |
Single product model that handles 0-n variations with 0-n option types. | Abstract base class to build on | 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 | Possible | ||||||||||||
Anonymous Checkout | Yes - Can be disabled if not required | 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 | Basic support for multiple shipping options per country |
Flat rate provided plus hooks for implementing your own rules | Base class to build upon, multiple delivery groups within one order | Flat rate provided; other options can be implemented through a plugin system | ||||||||
Tax calculations | Pluggable tax calculations | |||||||||||||
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/JamesRamm/longclaw |
https://travis-ci.org/stephenmcd/cartridge | ||||||||||
Multisite | Possible | |||||||||||||
Continuous Integration | Yes - https://travis-ci.org/tangentlabs/django-oscar | http://travis-ci.org/#!/stephenmcd/cartridge | ||||||||||||
Dynamic Categories | Yes - called "ranges" | Possible | (yes) For selecting which order items a discount applies to | |||||||||||
PyPi Installable | ||||||||||||||
Customer Accounts | Targeted for 1.1 release |
|||||||||||||
Multi-Tenant | ||||||||||||||
Django Version | 1.3+ | Django>=1.9.0,<1.10 | >=1.8 | 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.3 | 1.4, 1.5 | ||||||||
South Support | Migrations included | Full migrations included | Not possible because Plata allows configuring the product model | |||||||||||
Price sorting/filtering | ||||||||||||||
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. | Single-step and multi-step checkout included with the framework, you can provide your own | Possible through subclassing the Shop object | |||||||||||
Stock Control | 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 | ||||||||||||
Multiple currencies | ||||||||||||||
Wishlists | Possible | |||||||||||||
Demo Site | http://latest.oscarcommerce.com/ | http://mezzanine.jupo.org | Local only, look in examples/demo/ | 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. |
Braintree, Stripe, Paypal supported in core. Payment gateways are dynamic plugins so you can add your own support. |
Authorize.net eGate PayPal Stripe Braintree PIN |
Authorize.net PayPal dotPay SagePay |
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 | ||||||||||||
Test coverage | ~83% | 82% | 75% | 90% + | ||||||||||
Faceted search/filtering | ||||||||||||||
Promotional Codes for Discounts | Possible | |||||||||||||
Sales | Yes - Highly sophisticated offers engine. | Possible |
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<br>certain attribute (eg colour is blue) and will be automatically updated as the<br>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<br>status, invoices and history. |
Multi-Tenant | If the shop supports multiple sites, can they all be hosted from a single<br>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<br>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<br>multiple (billing/shipping, payment, confirmation) with a single setting. |
Stock Control | Can stock levels be specified with products going out of stock once all<br>purchased? |
App Integration | Does the admin interface support integration of any Django app which provides at<br>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<br>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<br>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.<br>Features such as support date ranges and limit to certain products and<br>categories and optional free shipping. |
Sales | Specify a discount across a range of products and/or categories for a date<br>period. Bonus points if it doesn't add extra database queries each time the<br>product is viewed. |
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 |