Metadata-Version: 2.4
Name: django-report-builder
Version: 7.0.1
Summary: Query and Report builder for Django ORM
Project-URL: Homepage, https://gitlab.com/burke-software/django-report-builder
Project-URL: Repository, https://gitlab.com/burke-software/django-report-builder
Author-email: David Burke <david@burkesoftware.com>
License: BSD-3-Clause
License-File: LICENSE
Keywords: django,report
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Web Environment
Classifier: Framework :: Django
Classifier: Framework :: Django :: 5.2
Classifier: Framework :: Django :: 6.0
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: System Administrators
Classifier: License :: OSI Approved :: BSD License
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Requires-Python: >=3.12
Requires-Dist: django>=5.2
Requires-Dist: openpyxl>=3.1
Requires-Dist: python-dateutil>=2.9
Provides-Extra: celery
Requires-Dist: celery>=5.4; extra == 'celery'
Provides-Extra: tasks
Requires-Dist: django-tasks>=0.7; extra == 'tasks'
Description-Content-Type: text/markdown

# django-report-builder

A GUI for Django ORM. Build custom queries and display results.
Targets sysadmins and capable end users who might not be able to program or
gain direct interactive shell access.

[![pipeline status](https://gitlab.com/burke-software/django-report-builder/badges/master/pipeline.svg)](https://gitlab.com/burke-software/django-report-builder/commits/master)

## Status

**Maintained and feature-complete.** This project is no longer accepting new
features — the scope is what's already shipped, and that's the project's
strength: it does what it does, well, without churn.

Bug reports are welcome, especially when paired with a fix. Issues opened
without a reproduction or proposed patch will likely sit. Please open them on
[GitLab](https://gitlab.com/burke-software/django-report-builder).

For the version history, see [CHANGELOG](CHANGELOG).

## What is Django Report Builder?

![](docs/screenshots/reportbuilderscreen.jpg)

A staff-facing UI that lets users:

* Pick a root model, drag in display fields, and traverse related models
  several levels deep
* Add filters with the full set of Django ORM lookup types (`exact`, `gt`,
  `icontains`, `range`, `relative_range`, `isnull`, regex, etc.)
* Preview results in the browser and export to xlsx or csv
* Optionally hand off long-running exports to a background task queue
  (Celery or `django-tasks`)
* Schedule reports to run on a recurring basis and email the results
* Trigger a report from a Django admin change-list as a global action

Report builder is intended for trusted staff users — access is gated on
`is_staff`, and the standard Django change/view permissions control who can
see existing reports.

## Documentation

[django-report-builder.readthedocs.io](https://django-report-builder.readthedocs.io/)

## Development quickstart

The repo ships a Django demo project plus the Angular SPA. The fastest path:

1. `docker compose up` — starts Postgres and the Django dev server on `:8000`
2. `docker compose run --rm web ./manage.py migrate`
3. `docker compose run --rm web ./manage.py createsuperuser`
4. `cd js && npm install && npm start` — Angular dev server with hot reload,
   proxying API requests to Django
5. Open <http://localhost:8000/admin>, log in, then visit the URL the Angular
   CLI prints (`/report_builder` on the dev-server port)

For deeper notes, see [docs/contributors.md](docs/contributors.md).

---

*If your Django project needs error tracking or performance monitoring,
take a look at [GlitchTip](https://glitchtip.com) — my open-source,
Sentry-compatible error tracker.*
