diff --git a/pkgs/development/python-modules/type-infer/default.nix b/pkgs/development/python-modules/type-infer/default.nix new file mode 100644 index 00000000000..7adbd97059c --- /dev/null +++ b/pkgs/development/python-modules/type-infer/default.nix @@ -0,0 +1,71 @@ +{ lib +, buildPythonPackage +, pythonOlder +, fetchPypi +, poetry-core +, colorlog +, dataclasses-json +, langid +, nltk +, numpy +, pandas +, psutil +, python-dateutil +, scipy +, toml +, nltk-data +, symlinkJoin +}: +let + testNltkData = symlinkJoin { + name = "nltk-test-data"; + paths = [ nltk-data.punkt nltk-data.stopwords ]; + }; +in +buildPythonPackage rec { + pname = "type-infer"; + version = "0.0.15"; + format = "pyproject"; + + disable = pythonOlder "3.8"; + + # using PyPI because the repo does not have tags or release branches + src = fetchPypi { + pname = "type_infer"; + inherit version; + hash = "sha256-AnThYE6hHc3Pwu8fl0VBiQJfGVjeEKo4RrCsOl2pfCA="; + }; + + nativeBuildInputs = [ + poetry-core + ]; + + propagatedBuildInputs = [ + colorlog + dataclasses-json + langid + nltk + numpy + pandas + psutil + python-dateutil + scipy + toml + ]; + + # PyPI package does not include tests + doCheck = false; + + # Package import requires NLTK data to be downloaded + # It is the only way to set NLTK_DATA environment variable, + # so that it is available in pythonImportsCheck + env.NLTK_DATA = testNltkData; + pythonImportsCheck = [ "type_infer" ]; + + meta = with lib; { + description = "Automated type inference for Machine Learning pipelines"; + homepage = "https://pypi.org/project/type-infer/"; + license = licenses.gpl3Only; + maintainers = with maintainers; [ mbalatsko ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index c062db7259c..1f8613c69fb 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -13303,6 +13303,8 @@ self: super: with self; { typer = callPackage ../development/python-modules/typer { }; + type-infer = callPackage ../development/python-modules/type-infer { }; + types-appdirs = callPackage ../development/python-modules/types-appdirs { }; types-awscrt = callPackage ../development/python-modules/types-awscrt { };