1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 pythonOlder,
6
7 # dependencies
8 django,
9 persisting-theory,
10 six,
11
12 # tests
13 djangorestframework,
14 pytest-django,
15 pytestCheckHook,
16}:
17
18buildPythonPackage rec {
19 pname = "django-dynamic-preferences";
20 version = "1.15.0";
21 format = "setuptools";
22
23 src = fetchFromGitHub {
24 owner = "agateblue";
25 repo = "django-dynamic-preferences";
26 rev = "refs/tags/${version}";
27 hash = "sha256-S0PAlSrMOQ68mX548pZzARfau/lytXWC4S5uVO1rUmo=";
28 };
29
30 buildInputs = [ django ];
31
32 propagatedBuildInputs = [
33 six
34 persisting-theory
35 ];
36
37 nativeCheckInputs = [
38 djangorestframework
39 pytestCheckHook
40 pytest-django
41 ];
42
43 pythonImportsCheck = [ "dynamic_preferences" ];
44
45 # Remove once https://github.com/agateblue/django-dynamic-preferences/issues/309 is fixed
46 doCheck = pythonOlder "3.12";
47
48 env.DJANGO_SETTINGS = "tests.settings";
49
50 meta = with lib; {
51 changelog = "https://github.com/agateblue/django-dynamic-preferences/blob/${version}/HISTORY.rst";
52 homepage = "https://github.com/EliotBerriot/django-dynamic-preferences";
53 description = "Dynamic global and instance settings for your django project";
54 license = licenses.bsd3;
55 maintainers = with maintainers; [ mmai ];
56 };
57}