Anubis is a Django extension created with the purpose of easing the work of binding databases to user-friendly interfaces, without giving up the ability to access advanced features from said databases. It's intended primarily for high-read, low-write databases - i.e., databases in which accessing information is more important and frequent than updating it.
-
React.js-based built-in search front-end that comes with boolean logic compositing for free. You just write your Django models, then when you write your views, you inherit from the provided front-end mixins, and Anubis will generate a fully-featured search interface automatically.
-
PostgreSQL's Functions built-in support, allowing you to define and modify functions directly in your Django project, streamlined with Django's migration framework workflow.
-
Allows you to easily define basic search units for your database, based either in Django's QuerySets, PostgreSQL's full-text search functionality or Functions. There is no need to write code for getting this feature, although it's flexible enough for it to possible when needed.
-
Simple integration with Elasticsearch-based full text search for when PostgreSQL's is not enough.
-
PostgreSQL 9.3+, with the unaccent extension installed.
-
Stack 1.2+ (for the boolean-logic library).
-
Node.js with npm installed for building the search interface. If a yarn executable is found during installation, it will be used instead (yarn's speed is currently vastly superior to npm's.)
-
Python 3.4+ for the web application.
-
A WSGI server (such as uWSGI or Gunicorn), and, if you have a public-facing app, it's highly recommended running it behind a more robust server such as nginx or Apache. Please note that currently it is not advisable to run Anubis in Internet-facing environments.
-
A Linux distribution. It may be possible to run Anubis under a Windows server (specially since the release of Bash for Windows), but using Anubis in Windows-based environments is not currently supported or tested by the Anubis development team.