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