1{
2 fetchPypi,
3 lib,
4 nb-cli,
5 python3,
6 testers,
7}:
8
9python3.pkgs.buildPythonApplication rec {
10 pname = "nb-cli";
11 version = "1.4.2";
12 pyproject = true;
13
14 src = fetchPypi {
15 pname = "nb_cli";
16 inherit version;
17 hash = "sha256-HZey1RVpx/fHNxdEue1LczYbwYUxEb3i3fHpkKHhn+8=";
18 };
19
20 pythonRelaxDeps = [
21 "watchfiles"
22 ];
23
24 build-system = [
25 python3.pkgs.babel
26 python3.pkgs.pdm-backend
27 ];
28
29 dependencies = with python3.pkgs; [
30 anyio
31 cashews
32 click
33 cookiecutter
34 httpx
35 importlib-metadata
36 jinja2
37 noneprompt
38 pydantic
39 pyfiglet
40 tomlkit
41 typing-extensions
42 virtualenv
43 watchfiles
44 wcwidth
45 ];
46
47 # no test
48 doCheck = false;
49
50 pythonImportsCheck = [
51 "nb_cli"
52 "nb_cli.cli"
53 "nb_cli.compat"
54 "nb_cli.config"
55 "nb_cli.handlers"
56 "nb_cli.i18n"
57 "nb_cli.log"
58 ];
59
60 passthru.tests = {
61 version = testers.testVersion { package = nb-cli; };
62 };
63
64 meta = {
65 description = "CLI for nonebot2";
66 homepage = "https://cli.nonebot.dev";
67 changelog = "https://github.com/nonebot/nb-cli/releases/tag/v${version}";
68 license = lib.licenses.mit;
69 maintainers = with lib.maintainers; [ moraxyc ];
70 mainProgram = "nb";
71 };
72}