From 470705e777e10c7f7743cad8f537e6c1efd41914 Mon Sep 17 00:00:00 2001 From: Vladyslav Burzakovskyy Date: Fri, 18 Aug 2023 15:38:10 +0200 Subject: [PATCH] python3Packages.tabcmd: init at 2.0.12 --- .../python-modules/tabcmd/default.nix | 66 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 68 insertions(+) create mode 100644 pkgs/development/python-modules/tabcmd/default.nix diff --git a/pkgs/development/python-modules/tabcmd/default.nix b/pkgs/development/python-modules/tabcmd/default.nix new file mode 100644 index 000000000000..0569b2e661c3 --- /dev/null +++ b/pkgs/development/python-modules/tabcmd/default.nix @@ -0,0 +1,66 @@ +{ lib +, buildPythonPackage +, python3 +, pythonOlder +, fetchPypi +, ftfy +, appdirs +, requests +, setuptools-scm +, types-mock +, types-appdirs +, types-requests +, types-setuptools +, argparse +, doit +, pyinstaller-versionfile +, tableauserverclient +, pytestCheckHook +, mock +}: + +buildPythonPackage rec { + pname = "tabcmd"; + version = "2.0.12"; + + disabled = pythonOlder "3.7"; + + src = fetchPypi { + inherit pname version; + sha256 = "sha256-nsQJWDzSzSc1WRk5TBl/E7Mpfk8wGD1CsETAWILKxCM="; + }; + + propagatedBuildInputs = [ ftfy appdirs requests setuptools-scm types-mock types-appdirs argparse doit pyinstaller-versionfile types-requests types-setuptools tableauserverclient ]; + + nativeCheckInputs = [ pytestCheckHook mock ]; + + # Remove an unneeded dependency that can't be resolved + prePatch = '' + sed -i "/'argparse',/d" pyproject.toml + ''; + + # Create a "tabcmd" executable + postInstall = '' + # Create a directory for our wrapped binary. + mkdir -p $out/bin + + cp -r build/lib/tabcmd/__main__.py $out/bin/ + + # Create a 'tabcmd' script with python3 shebang + echo "#!${python3}/bin/python3" > $out/bin/tabcmd + + # Append __main__.py contents + cat $out/bin/__main__.py >> $out/bin/tabcmd + + # Make it executable. + chmod +x $out/bin/tabcmd + ''; + + + meta = { + description = "A command line client for working with Tableau Server."; + homepage = "https://pypi.org/project/tabcmd/"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 57565aef4e9f..0f8b12447118 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -12353,6 +12353,8 @@ self: super: with self; { syrupy = callPackage ../development/python-modules/syrupy { }; + tabcmd = callPackage ../development/python-modules/tabcmd { }; + tableaudocumentapi = callPackage ../development/python-modules/tableaudocumentapi { }; tableauserverclient = callPackage ../development/python-modules/tableauserverclient { };