diff --git a/pkgs/development/python-modules/beaupy/default.nix b/pkgs/development/python-modules/beaupy/default.nix new file mode 100644 index 000000000000..33e5a8e5eeca --- /dev/null +++ b/pkgs/development/python-modules/beaupy/default.nix @@ -0,0 +1,56 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + + # build-system + poetry-core, + + # dependencies + emoji, + python-yakh, + questo, + rich, + + # nativeCheckInputs + pytestCheckHook, +}: + +buildPythonPackage rec { + pname = "beaupy"; + version = "3.10.1"; + pyproject = true; + + src = fetchFromGitHub { + owner = "petereon"; + repo = "beaupy"; + rev = "v${version}"; + hash = "sha256-tN78OV0Ks1MIdqVh8yisTgK4dOaKqYlZxvIoCa44eAI="; + }; + + build-system = [ + poetry-core + ]; + + dependencies = [ + emoji + python-yakh + questo + rich + ]; + + pythonImportsCheck = [ + "beaupy" + ]; + + nativeCheckInputs = [ + pytestCheckHook + ]; + + meta = { + description = "A Python library of interactive CLI elements you have been looking for"; + homepage = "https://github.com/petereon/beaupy"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ doronbehar ]; + }; +} diff --git a/pkgs/development/python-modules/python-yakh/default.nix b/pkgs/development/python-modules/python-yakh/default.nix new file mode 100644 index 000000000000..a3fba540022b --- /dev/null +++ b/pkgs/development/python-modules/python-yakh/default.nix @@ -0,0 +1,44 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + + # build-system + poetry-core, + + # nativeCheckInputs + pytestCheckHook, +}: + +buildPythonPackage rec { + # NOTE that this is not https://pypi.org/project/yakh/ + pname = "python-yakh"; + version = "0.4.1"; + pyproject = true; + + src = fetchFromGitHub { + owner = "petereon"; + repo = "yakh"; + rev = "v${version}"; + hash = "sha256-mXG0fit+0MLOkn2ezRzLboDGKxkES/T7kyWAfaF0EQQ="; + }; + + build-system = [ + poetry-core + ]; + + pythonImportsCheck = [ + "yakh" + ]; + + nativeCheckInputs = [ + pytestCheckHook + ]; + + meta = { + description = "Yet Another Keypress Handler"; + homepage = "https://pypi.org/project/python-yakh"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ doronbehar ]; + }; +} diff --git a/pkgs/development/python-modules/questo/default.nix b/pkgs/development/python-modules/questo/default.nix new file mode 100644 index 000000000000..c1f8ad3b4b8f --- /dev/null +++ b/pkgs/development/python-modules/questo/default.nix @@ -0,0 +1,52 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + + # build-system + poetry-core, + + # dependencies + python-yakh, + rich, + + # nativeCheckInputs + pytestCheckHook, +}: + +buildPythonPackage rec { + pname = "questo"; + version = "0.4.1"; + pyproject = true; + + src = fetchFromGitHub { + owner = "petereon"; + repo = "questo"; + rev = "v${version}"; + hash = "sha256-XCxSH2TSU4YdfyqfLpVSEeDeU1S24C+NezP1IL5qj/4="; + }; + + build-system = [ + poetry-core + ]; + + dependencies = [ + python-yakh + rich + ]; + + pythonImportsCheck = [ + "questo" + ]; + + nativeCheckInputs = [ + pytestCheckHook + ]; + + meta = { + description = "A library of extensible and modular CLI prompt elements"; + homepage = "https://github.com/petereon/questo"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ doronbehar ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 8c0d1575f74f..9dbb671c5b2b 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -1595,6 +1595,8 @@ self: super: with self; { beartype = callPackage ../development/python-modules/beartype { }; + beaupy = callPackage ../development/python-modules/beaupy { }; + beautiful-date = callPackage ../development/python-modules/beautiful-date { }; beautifulsoup4 = callPackage ../development/python-modules/beautifulsoup4 { }; @@ -10825,6 +10827,8 @@ self: super: with self; { python-idzip = callPackage ../development/python-modules/python-idzip { }; + python-yakh = callPackage ../development/python-modules/python-yakh { }; + pythonfinder = callPackage ../development/python-modules/pythonfinder { }; pytomorrowio = callPackage ../development/python-modules/pytomorrowio { }; @@ -13771,6 +13775,8 @@ self: super: with self; { querystring-parser = callPackage ../development/python-modules/querystring-parser { }; + questo = callPackage ../development/python-modules/questo { }; + questionary = callPackage ../development/python-modules/questionary { }; queuelib = callPackage ../development/python-modules/queuelib { };