diff --git a/pkgs/by-name/nb/nb-cli/package.nix b/pkgs/by-name/nb/nb-cli/package.nix new file mode 100644 index 000000000000..5362c16e3ae2 --- /dev/null +++ b/pkgs/by-name/nb/nb-cli/package.nix @@ -0,0 +1,60 @@ +{ + fetchPypi, + lib, + nb-cli, + python3, + testers, +}: + +python3.pkgs.buildPythonApplication rec { + pname = "nb-cli"; + version = "1.4.1"; + pyproject = true; + + src = fetchPypi { + pname = "nb_cli"; + inherit version; + hash = "sha256-kI3Uy79mv0b+h5wjrRN3My9jOFzryhkStieqaG0YFvM="; + }; + + build-system = [ + python3.pkgs.babel + python3.pkgs.pdm-backend + ]; + + dependencies = with python3.pkgs; [ + anyio + cashews + click + cookiecutter + httpx + importlib-metadata + jinja2 + noneprompt + pydantic + pyfiglet + tomlkit + typing-extensions + virtualenv + watchfiles + wcwidth + ]; + + # no test + doCheck = false; + + pythonImportsCheck = [ "nb_cli" ]; + + passthru.tests = { + version = testers.testVersion { package = nb-cli; }; + }; + + meta = { + description = "CLI for nonebot2"; + homepage = "https://cli.nonebot.dev"; + changelog = "https://github.com/nonebot/nb-cli/releases/tag/v${version}"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ moraxyc ]; + mainProgram = "nb"; + }; +} diff --git a/pkgs/development/python-modules/cashews/default.nix b/pkgs/development/python-modules/cashews/default.nix new file mode 100644 index 000000000000..3d75bc80c475 --- /dev/null +++ b/pkgs/development/python-modules/cashews/default.nix @@ -0,0 +1,70 @@ +{ + bitarray, + buildPythonPackage, + dill, + diskcache, + fetchFromGitHub, + hiredis, + hypothesis, + lib, + pytest, + pytest-asyncio, + pytest-cov, + pytest-rerunfailures, + pytestCheckHook, + redis, + setuptools, + xxhash, +}: + +buildPythonPackage rec { + pname = "cashews"; + version = "7.1.0"; + pyproject = true; + + src = fetchFromGitHub { + owner = "Krukov"; + repo = "cashews"; + rev = "refs/tags/${version}"; + hash = "sha256-VzIW6/xhKk+ZWd29BYQp6sjpBst8IVz8t/hCLc2LFT4="; + }; + + build-system = [ setuptools ]; + + passthru.optional-dependencies = { + dill = [ dill ]; + diskcache = [ diskcache ]; + redis = [ redis ]; + speedup = [ + bitarray + hiredis + xxhash + ]; + }; + + nativeCheckInputs = [ + hypothesis + pytest + pytest-asyncio + pytest-cov + pytest-rerunfailures + pytestCheckHook + ]; + + disabledTests = [ + # these tests require too many dependencies + "redis" + "diskcache" + "integration" + ]; + + pythonImportsCheck = [ "cashews" ]; + + meta = { + description = "Cache tools with async power"; + homepage = "https://github.com/Krukov/cashews/"; + changelog = "https://github.com/Krukov/cashews/releases/tag/${version}"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ moraxyc ]; + }; +} diff --git a/pkgs/development/python-modules/noneprompt/default.nix b/pkgs/development/python-modules/noneprompt/default.nix new file mode 100644 index 000000000000..77cd49148695 --- /dev/null +++ b/pkgs/development/python-modules/noneprompt/default.nix @@ -0,0 +1,39 @@ +{ + buildPythonPackage, + fetchPypi, + lib, + poetry-core, + prompt-toolkit, + pythonOlder, +}: + +buildPythonPackage rec { + pname = "noneprompt"; + version = "0.1.9"; + pyproject = true; + + disabled = pythonOlder "3.8"; + + src = fetchPypi { + inherit pname version; + hash = "sha256-M4uLuJqNIu818d7bOqfBsijPE5lzvcQ8X/w+72RFfbk="; + }; + + build-system = [ poetry-core ]; + + dependencies = [ prompt-toolkit ]; + + # no test + doCheck = false; + + pythonImportsCheck = [ "noneprompt" ]; + + meta = { + description = "Prompt toolkit for console interaction"; + homepage = "https://github.com/nonebot/noneprompt"; + changelog = "https://github.com/nonebot/noneprompt/releases/tag/v${version}"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ moraxyc ]; + mainProgram = "noneprompt"; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index e686f3653de6..4bcc8ea7d138 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -1945,6 +1945,8 @@ self: super: with self; { cashaddress = callPackage ../development/python-modules/cashaddress { }; + cashews = callPackage ../development/python-modules/cashews { }; + cassandra-driver = callPackage ../development/python-modules/cassandra-driver { }; castepxbin = callPackage ../development/python-modules/castepxbin { }; @@ -8656,6 +8658,8 @@ self: super: with self; { nomadnet = callPackage ../development/python-modules/nomadnet { }; + noneprompt = callPackage ../development/python-modules/noneprompt { }; + nox = callPackage ../development/python-modules/nox { }; nanomsg-python = callPackage ../development/python-modules/nanomsg-python {