flexcommerce-core
Foundation of FlexCommerce: settings, post-commit events, in-transaction hooks, background execution, maintenance jobs, signed outgoing webhooks, audit log, address book and the shared API conventions.
Part of FlexCommerce — a complete, modular e-commerce and marketplace backend for Django + DRF, built for Nigeria and Africa. Every app is optional.
Features
- One
FLEXCOMMERCE = {...}settings dict; every package registers its defaults events.emit()— signals that fire only after the transaction commits, isolated from each otherhooks— plugins that take part in the business operation (and can veto it)tasks.enqueue()—sync,threading, Celery or your own executorflexcommerce_run_jobs— one command for every package's maintenance jobs- Outgoing webhooks: HMAC-SHA256 signatures, retries with backoff, SSRF protection
- Address book API (Nigeria-aware: LGA, landmark, phone validation)
- Consistent error format, pagination and throttling for every FlexCommerce API
- System checks that catch misconfiguration at
manage.py check pytest_plugins = ["flexcommerce_core.testing"]helpers for your own tests
Install
pip install flexcommerce-core
INSTALLED_APPS = [..., "rest_framework", "flexcommerce_core"]
urlpatterns = [path("api/", include("flexcommerce_core.urls"))]
python manage.py migrate
Example: GET/POST /api/addresses/
Documentation
Requires Python 3.10+, Django 4.2+, Django REST framework 3.14+. MIT licensed.
Metadata
Release files for flexcommerce-core 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| flexcommerce_core-1.0.0.tar.gz | 34.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| flexcommerce_core-1.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 77.2 kB
Release files / flexcommerce_core-1.0.0.tar.gz
| Download URL | flexcommerce_core-1.0.0.tar.gz |
|---|---|
| Size | 34.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c05a9dcc79da0ce0627945ab2a346804acbd5dd2c5cf9689631bbabb7a653231
|
|
BLAKE2b-256 checksum How to use checksums |
f9c0ab6a07b31cfeace05f6e5754650496369584199da9f9a615d83a2ba06b5c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 2, 2026.
Transparency logRelease files / flexcommerce_core-1.0.0-py3-none-any.whl
| Download URL | flexcommerce_core-1.0.0-py3-none-any.whl |
|---|---|
| Size | 42.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
476c57a13f64a300413e80832a460b69d9dd8494d27732e4bff0d058eca7afed
|
|
BLAKE2b-256 checksum How to use checksums |
9a35303c8ea38c0a3883b24774ff1eb61799010e147ea29c104aa18d2595e7f8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 2, 2026.
Transparency log