Skip to content

cmspsgp31/anubis

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Code Climate

Anubis

User-friendly database querying tool for Django-based apps

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.

Features

  • 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.

Requirements

  • 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.