Dependencies
Packages
Cravensworth has been tested with, and supports, the following.
- Python 3.10+
- Django 4.2+
Django requirements
Request
The DjangoRequestContextProvider requires that the request be available in the Django context.
If running an application that does not have access to a request object (e.g., a background job or command), you must provide a context provider that can get the context data required for your experiments.
Users/Authentication
If using the user object in experiment rules, the django.contrib.auth app
should be installed and configured
in settings.py.
Templates
Cravensworth template tags require the Django templates backend with the request context processor.
Other template backends are not supported at this time.
IP address restriction
IP restriction requires the remote address of the user agent. If your app is sitting behind an intermediary, such as a load balancer or some other kind of proxy, ensure that the intermediary is configured to forward remote addresses.