anki-bin: 24.06.3 -> 24.11 (#360722)
[NixPkgs.git] / pkgs / development / python-modules / invocations / default.nix
blob68160afc5435c684ffa3bec1e6fd2ebedac1978a
2   lib,
3   buildPythonPackage,
4   blessed,
5   fetchFromGitHub,
6   invoke,
7   pythonOlder,
8   releases,
9   semantic-version,
10   tabulate,
11   tqdm,
12   twine,
13   pytestCheckHook,
14   pytest-relaxed,
15   pytest-mock,
16   icecream,
17   pip,
20 buildPythonPackage rec {
21   pname = "invocations";
22   version = "3.3.0";
23   format = "setuptools";
25   disabled = pythonOlder "3.6";
27   src = fetchFromGitHub {
28     owner = "pyinvoke";
29     repo = pname;
30     rev = "refs/tags/${version}";
31     hash = "sha256-JnhdcxhBNsYgDMcljtGKjOT1agujlao/66QifGuh6I0=";
32   };
34   patches = [ ./replace-blessings-with-blessed.patch ];
36   postPatch = ''
37     substituteInPlace setup.py \
38       --replace "semantic_version>=2.4,<2.7" "semantic_version"
39   '';
41   propagatedBuildInputs = [
42     blessed
43     invoke
44     releases
45     semantic-version
46     tabulate
47     tqdm
48     twine
49   ];
51   nativeCheckInputs = [
52     pytestCheckHook
53     pytest-relaxed
54     pytest-mock
55     icecream
56     pip
57   ];
59   pythonImportsCheck = [ "invocations" ];
61   disabledTests = [
62     # invoke.exceptions.UnexpectedExit
63     "autodoc_"
65     # ValueError: Call either Version('1.2.3') or Version(major=1, ...)
66     "component_state_enums_contain_human_readable_values"
67     "load_version_"
68     "prepare_"
69     "status_"
70   ];
72   meta = with lib; {
73     description = "Common/best-practice Invoke tasks and collections";
74     homepage = "https://invocations.readthedocs.io/";
75     changelog = "https://github.com/pyinvoke/invocations/blob/${version}/docs/changelog.rst";
76     license = licenses.bsd2;
77     maintainers = with maintainers; [ samuela ];
78   };