Skip to main content

A simple, generic, API-only shopping cart framework for Django

Project description

⚠️ Note: Lorikeet is a work in progress. It may change at any time, and you shouldn’t use it in production yet.

Lorikeet is a simple, generic, API-only shopping cart framework for Django.

Lorikeet currently supports Django 2.2 and 3.0 on Python 3.6+. New versions of Lorikeet will support Django versions that currently have extended support.

Why use Lorikeet?

E-commerce apps are divided into two types: simple ones that work well so long as what you’re selling is simple, and complex ones that try to be all things to all people by way of a maze of checkboxes and dropdowns.

Lorikeet isn’t an e-commerce app; it’s a shopping cart framework. With Lorikeet, you define models for line items (the things that go in your cart), delivery addresses and payment methods yourself. For complex shops, this means you can model exactly the functionality you need without fighting the system. For simple shops, this is a simple process that requires way less code than you’d expect, and gives you a system without unnecessary bloat, but with room to grow.

Lorikeet only cares about the cart itself; everything outside of that, including your navigation and product pages, is directly under your control, so you’re free to use a simple ListView and DetailView, Wagtail, Mezzanine, Django CMS, or something totally bespoke. There’s not a single line of HTML or CSS in Lorikeet’s codebase either, so Lorikeet gives you total control over your visuals too.

Lorikeet line items, delivery addresses and payment methods are designed to be orthogonal, so you can package them as reusable apps and share them internally between sites in your company, or with the world as open-source packages. In fact, Lorikeet already includes an optional Stripe payment method plugin, totally separate from the rest of the codebase and written against the same public API as your own apps.

Because most modern payment providers require JavaScript anyway, Lorikeet is API-only. This lets you build a fast, frictionless shopping experience where users can add to and change their shopping carts without the entire page refreshing each time, and Lorikeet’s API is designed to allow logged-in repeat users to check out in a single click.

Why use something else?

  • Lorikeet isn’t turnkey. For simple sites, you won’t need to write much Python code; for complex ones, the time it takes to get up and running will probably be comparable to the time it takes to figure out how to bend e-commerce apps to your will. But the total control over the frontend that Lorikeet gives you means you’ll need to write a fair bit of HTML, CSS and JavaScript to get up and running, so if you need to go from zero to shop quickly, it’s best to look somewhere else.

  • Lorikeet sites will require JavaScript. Lorikeet doesn’t provide regular HTML-form-based views for adding items to the cart and checking out; if you need this, Lorikeet isn’t for you.

Project details


Download files

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

Source Distribution

lorikeet-0.2.2.tar.gz (30.2 kB view details)

Uploaded Source

Built Distribution

lorikeet-0.2.2-py3-none-any.whl (49.9 kB view details)

Uploaded Python 3

File details

Details for the file lorikeet-0.2.2.tar.gz.

File metadata

  • Download URL: lorikeet-0.2.2.tar.gz
  • Upload date:
  • Size: 30.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.0.3 CPython/3.8.0 Darwin/19.3.0

File hashes

Hashes for lorikeet-0.2.2.tar.gz
Algorithm Hash digest
SHA256 60b259deda507976f565a7a01a3bff1c11e7e24c4c8f7f87c14c7e08cddd2968
MD5 cb1247bcb14ea3f39f72b564b7131b63
BLAKE2b-256 a944d5fdcbd98e977cda281d9cdf7ccd3e16110acd19e71286e61f1436e3294e

See more details on using hashes here.

File details

Details for the file lorikeet-0.2.2-py3-none-any.whl.

File metadata

  • Download URL: lorikeet-0.2.2-py3-none-any.whl
  • Upload date:
  • Size: 49.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.0.3 CPython/3.8.0 Darwin/19.3.0

File hashes

Hashes for lorikeet-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 407ee1bd011738b6eef4f5a45f3dc93eb0e81f3edab8cba45dc6e546a3099b6e
MD5 a823a667cd3b463f52b336aef7cc6449
BLAKE2b-256 87d28b5bde652b334759688d022602d1bf143dead6b0395dd6f6d0b8c04896ee

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page