1{ lib
2, buildPythonPackage
3, fetchFromGitHub
4, crashtest
5, poetry-core
6, pytest-mock
7, pytestCheckHook
8, pythonRelaxDepsHook
9, rapidfuzz
10}:
11
12buildPythonPackage rec {
13 pname = "cleo";
14 version = "2.1.0";
15 format = "pyproject";
16
17 src = fetchFromGitHub {
18 owner = "python-poetry";
19 repo = pname;
20 rev = "refs/tags/${version}";
21 hash = "sha256-reo/7aPFU5uvZ1YPRTJDRmcMSMFru8e5ss5YmjSe3QU=";
22 };
23
24 nativeBuildInputs = [
25 poetry-core
26 pythonRelaxDepsHook
27 ];
28
29 pythonRelaxDeps = [
30 "rapidfuzz"
31 ];
32
33 propagatedBuildInputs = [
34 crashtest
35 rapidfuzz
36 ];
37
38 pythonImportsCheck = [
39 "cleo"
40 "cleo.application"
41 "cleo.commands.command"
42 "cleo.helpers"
43 ];
44
45 nativeCheckInputs = [
46 pytest-mock
47 pytestCheckHook
48 ];
49
50 meta = with lib; {
51 homepage = "https://github.com/python-poetry/cleo";
52 changelog = "https://github.com/python-poetry/cleo/blob/${src.rev}/CHANGELOG.md";
53 description = "Allows you to create beautiful and testable command-line interfaces";
54 license = licenses.mit;
55 maintainers = with maintainers; [ jakewaksbaum ];
56 };
57}