Bridgekeeper is a permissions library for Django projects, where permissions are defined in your code, rather than in your database.
It's heavily inspired by django-rules, but with one important difference: it works on QuerySets as well as individual model instances.
This means that you can efficiently show a :class:`~django.views.generic.list.ListView` of all of the model instances that your user is allowed to edit, for instance, without having your permission-checking code in two different places.
Bridgekeeper works on Django 1.11 and 2.0 on Python 3.5+, and is licensed under the MIT License.
Bridgekeeper (and these docs!) are a work in progress.