`buildDotnetModule`: add support for installing pre-release tools (#374663)
[NixPkgs.git] / pkgs / development / python-modules / cement / default.nix
blob85071fbb0301fa5c3da34d3d5e0c6589d261f9ff
2   lib,
3   stdenv,
4   buildPythonPackage,
5   colorlog,
6   fetchFromGitHub,
7   jinja2,
8   mock,
9   pdm-backend,
10   pylibmc,
11   pystache,
12   pytest-cov-stub,
13   pytestCheckHook,
14   pythonOlder,
15   pyyaml,
16   redis,
17   requests,
18   tabulate,
19   watchdog,
22 buildPythonPackage rec {
23   pname = "cement";
24   version = "3.0.12";
25   pyproject = true;
27   disabled = pythonOlder "3.8";
29   src = fetchFromGitHub {
30     owner = "datafolklabs";
31     repo = "cement";
32     tag = version;
33     hash = "sha256-weBqmNEjeSh5YQfHK48VVFW3UbZQmV4MiIQ3UPQKTTI=";
34   };
36   build-system = [ pdm-backend ];
38   optional-dependencies = {
39     colorlog = [ colorlog ];
40     jinja2 = [ jinja2 ];
41     mustache = [ pystache ];
42     generate = [ pyyaml ];
43     redis = [ redis ];
44     memcached = [ pylibmc ];
45     tabulate = [ tabulate ];
46     watchdog = [ watchdog ];
47     yaml = [ pyyaml ];
48     cli = [
49       jinja2
50       pyyaml
51     ];
52   };
54   nativeCheckInputs = [
55     mock
56     pytest-cov-stub
57     pytestCheckHook
58     requests
59   ] ++ lib.flatten (builtins.attrValues optional-dependencies);
61   pythonImportsCheck = [ "cement" ];
63   # Tests are failing on Darwin
64   doCheck = !stdenv.hostPlatform.isDarwin;
66   disabledTests = [
67     # Test only works with the source from PyPI
68     "test_get_version"
69   ];
71   disabledTestPaths = [
72     # Tests require network access
73     "tests/ext/test_ext_memcached.py"
74     "tests/ext/test_ext_redis.py"
75     "tests/ext/test_ext_smtp.py"
76   ];
78   meta = with lib; {
79     description = "CLI Application Framework for Python";
80     homepage = "https://builtoncement.com/";
81     changelog = "https://github.com/datafolklabs/cement/blob/${version}/CHANGELOG.md";
82     license = licenses.bsd3;
83     maintainers = with maintainers; [ eqyiel ];
84     mainProgram = "cement";
85   };