Skip to main content

A reusable pro-bono / low-bono professional-referral engine for Django.

Project description

lowbono

A reusable, pip-installable Django library — the referral engine behind a pro-bono / low-bono / nominal-fee professional-referral portal. It provides users & professionals, referrals, a practice-area taxonomy, income-eligibility screening, an admin-configurable email/notification engine driven by a Joeflow workflow base, an optional LLM categorizer, and a pluggable-profession framework that lets you add your own professional types without touching core.

It is tailor-made for the legal-justice-access domain — not a generic CRM.

Install

pip install lowbono

Optional extras: lowbono[llm] (OpenAI + Presidio categorizer), lowbono[allauth] (Google-OAuth adapter), lowbono[anymail] (email backends).

Quickstart

  1. Define a concrete User(BaseUser) and set AUTH_USER_MODEL.
  2. Add the engine + its dependencies to INSTALLED_APPS (ordering matters).
  3. Register at least one profession plug-in in LOWBONO_PROFESSIONAL_APPS.
  4. Include lowbono.urls and lowbono.urls_professions.
  5. migrate, then python manage.py lowbono_preflight and lowbono_seed_demo.

See the documentation for the full walkthrough, the settings reference, the profession-plugin guide, and the frozen public-API contract.

Design principles

  • Concrete engine, abstract identity — only User/Professional are abstract.
  • Explicit contract over convention — professions declare identity via AppConfig attributes, never inferred from app-name strings.
  • Settings-driven, registry-based — no hardcoded app labels or URL names.
  • Override, don't fork — every template/view/form/admin/string is overridable.

Support matrix

Python 3.11–3.13 · Django 5.0–5.1 · Joeflow 1.4.0. US-centric defaults are all settings-overridable. The taxonomy's content-translation columns are fixed at en/es for 0.1; UI strings are translatable and supplied per project — see Internationalization.

Development

export UV_PROJECT_ENVIRONMENT=~/.venvs/lowbono   # keep venvs outside the repo
uv sync
make ci        # lint-leakage + migration-check + tests + wheel-contents

See CONTRIBUTING.md.

License

AGPL-3.0-only. See docs/license.md and the proprietary-boundary doc for what adopters may keep proprietary.

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

lowbono-0.1.0rc1.tar.gz (120.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

lowbono-0.1.0rc1-py3-none-any.whl (134.8 kB view details)

Uploaded Python 3

File details

Details for the file lowbono-0.1.0rc1.tar.gz.

File metadata

  • Download URL: lowbono-0.1.0rc1.tar.gz
  • Upload date:
  • Size: 120.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for lowbono-0.1.0rc1.tar.gz
Algorithm Hash digest
SHA256 3238f8a53627a0cb556ec42fafbff8e7b0e91fa8953102d2003019326270e4e0
MD5 fdf6b593742516e8befbb4cf12b330e9
BLAKE2b-256 1ade91fb5f7c81fdd548eafcd88381a8a43d6c40c1fbacdff25f302e6694b636

See more details on using hashes here.

File details

Details for the file lowbono-0.1.0rc1-py3-none-any.whl.

File metadata

  • Download URL: lowbono-0.1.0rc1-py3-none-any.whl
  • Upload date:
  • Size: 134.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for lowbono-0.1.0rc1-py3-none-any.whl
Algorithm Hash digest
SHA256 b456bb3d9c06cf37209fc180757369ad4e5d6f199c7c5a675060d30a7200fb15
MD5 24542d3483b21fdd9dec16083e1b65f7
BLAKE2b-256 1f946fff669c8a5b3f3166163f34dead6f5c9d918cd4edb8869793cbd9e1a49b

See more details on using hashes here.

Supported by

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