diff --git a/pkgs/development/python-modules/clevercsv/default.nix b/pkgs/development/python-modules/clevercsv/default.nix new file mode 100644 index 00000000000..36944b5dbec --- /dev/null +++ b/pkgs/development/python-modules/clevercsv/default.nix @@ -0,0 +1,60 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, chardet +, cleo +, clikit +, pandas +, regex +, tabview +, python +}: + +buildPythonPackage rec { + pname = "clevercsv"; + version = "0.6.7"; + format = "setuptools"; + + src = fetchFromGitHub { + owner = "alan-turing-institute"; + repo = "CleverCSV"; + rev = "v${version}"; + sha256 = "0j3959bji48pkp0vnk7yls5l75ywjl77jdkvzs62n5mi5lky88p9"; + }; + + propagatedBuildInputs = [ + chardet + cleo + clikit + pandas + regex + tabview + ]; + + pythonImportsCheck = [ + "clevercsv" + "clevercsv.cparser" + ]; + + checkPhase = '' + # by linking the installed version the tests also have access to compiled native libraries + rm -r clevercsv + ln -s $out/${python.sitePackages}/clevercsv/ clevercsv + # their ci only runs unit tests, there are also integration and fuzzing tests + ${python.interpreter} -m unittest discover -v -f -s ./tests/test_unit + ''; + + meta = with lib; { + description = "CleverCSV is a Python package for handling messy CSV files"; + longDescription = '' + CleverCSV is a Python package for handling messy CSV files. It provides + a drop-in replacement for the builtin CSV module with improved dialect + detection, and comes with a handy command line application for working + with CSV files. + ''; + homepage = "https://github.com/alan-turing-institute/CleverCSV"; + changelog = "https://github.com/alan-turing-institute/CleverCSV/blob/master/CHANGELOG.md"; + license = licenses.mit; + maintainers = with maintainers; [ hexa ]; + }; +} diff --git a/pkgs/development/python-modules/deepdiff/default.nix b/pkgs/development/python-modules/deepdiff/default.nix index 20aba1b4fa2..83140ff0bb0 100644 --- a/pkgs/development/python-modules/deepdiff/default.nix +++ b/pkgs/development/python-modules/deepdiff/default.nix @@ -1,34 +1,43 @@ { lib , buildPythonPackage -, fetchPypi -, mock -, jsonpickle -, mmh3 +, fetchFromGitHub +, click , ordered-set +, clevercsv +, jsonpickle , numpy , pytestCheckHook +, pyyaml }: buildPythonPackage rec { pname = "deepdiff"; - version = "5.2.3"; + version = "5.3.0"; + format = "setuptools"; - src = fetchPypi { - inherit pname version; - sha256 = "ae2cb98353309f93fbfdda4d77adb08fb303314d836bb6eac3d02ed71a10b40e"; + # pypi source does not contain all fixtures required for tests + src = fetchFromGitHub { + owner = "seperman"; + repo = "deepdiff"; + rev = version; + sha256 = "1izw2qpd93nj948zakamjn7q7dlmmr7sapg0c65hxvs0nmij8sl4"; }; - # # Extra packages (may not be necessary) - checkInputs = [ - mock - numpy - pytestCheckHook + propagatedBuildInputs = [ + click + ordered-set ]; - propagatedBuildInputs = [ + pythonImportsCheck = [ + "deepdiff" + ]; + + checkInputs = [ + clevercsv jsonpickle - mmh3 - ordered-set + numpy + pytestCheckHook + pyyaml ]; meta = with lib; { diff --git a/pkgs/development/python-modules/tabview/default.nix b/pkgs/development/python-modules/tabview/default.nix new file mode 100644 index 00000000000..35a7f7d8a7d --- /dev/null +++ b/pkgs/development/python-modules/tabview/default.nix @@ -0,0 +1,31 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, python +}: + +buildPythonPackage rec { + pname = "tabview"; + version = "1.4.4"; + format = "setuptools"; + + # newest release only available as wheel on pypi + src = fetchFromGitHub { + owner = "TabViewer"; + repo = "tabview"; + rev = version; + sha256 = "1d1l8fhdn3w2zg7wakvlmjmgjh9lh9h5fal1clgyiqmhfix4cn4m"; + }; + + checkPhase = '' + ${python.interpreter} -m unittest discover + ''; + + meta = with lib; { + description = "Python curses command line CSV and tabular data viewer"; + homepage = "https://github.com/TabViewer/tabview"; + changelog = "https://github.com/TabViewer/tabview/blob/main/CHANGELOG.rst"; + license = licenses.mit; + maintainers = with maintainers; [ hexa ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index ae4f7165941..d08e6797319 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2017,6 +2017,8 @@ in clasp = callPackage ../tools/misc/clasp { }; + clevercsv = with python3Packages; toPythonApplication clevercsv; + clevis = callPackage ../tools/security/clevis { asciidoc = asciidoc-full; }; @@ -7504,6 +7506,8 @@ in tab = callPackage ../tools/text/tab { }; + tabview = with python3Packages; toPythonApplication tabview; + tautulli = python3Packages.callPackage ../servers/tautulli { }; pleroma-otp = callPackage ../servers/pleroma-otp { }; @@ -28574,6 +28578,8 @@ in dcm2niix = callPackage ../applications/science/biology/dcm2niix { }; + deepdiff = with python3Packages; toPythonApplication deepdiff; + deepsea = callPackage ../tools/security/deepsea { }; deeptools = callPackage ../applications/science/biology/deeptools { python = python3; }; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 57da419a7da..32425fc76f2 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -1343,6 +1343,8 @@ in { cleo = callPackage ../development/python-modules/cleo { }; + clevercsv = callPackage ../development/python-modules/clevercsv { }; + clf = callPackage ../development/python-modules/clf { }; click = callPackage ../development/python-modules/click { }; @@ -7689,6 +7691,8 @@ in { tabulate = callPackage ../development/python-modules/tabulate { }; + tabview = callPackage ../development/python-modules/tabview { }; + tadasets = callPackage ../development/python-modules/tadasets { }; tag-expressions = callPackage ../development/python-modules/tag-expressions { };