Merge pull request #307098 from r-ryantm/auto-update/cilium-cli
[NixPkgs.git] / pkgs / development / python-modules / libretranslate / default.nix
blob042fd5d404d1c37af25578e3cf992e56a3db0769
1 { lib
2 , buildPythonPackage
3 , fetchFromGitHub
4 , pythonRelaxDepsHook
5 , pytestCheckHook
6 , hatchling
7 , argostranslate
8 , flask
9 , flask-swagger
10 , flask-swagger-ui
11 , flask-limiter
12 , flask-babel
13 , flask-session
14 , waitress
15 , expiringdict
16 , langdetect
17 , lexilang
18 , ltpycld2
19 , morfessor
20 , appdirs
21 , apscheduler
22 , translatehtml
23 , argos-translate-files
24 , requests
25 , redis
26 , prometheus-client
27 , polib
28 , python
31 buildPythonPackage rec {
32   pname = "libretranslate";
33   version = "1.5.6";
34   pyproject = true;
36   src = fetchFromGitHub {
37     owner = "LibreTranslate";
38     repo = "LibreTranslate";
39     rev = "refs/tags/v${version}";
40     hash = "sha256-43VnxgtapMRKyXxqsvBgSMUxvpbLI+iOfW3FA0/POpE=";
41   };
43   build-system = [
44     hatchling
45     pythonRelaxDepsHook
46   ];
48   pythonRelaxDeps = true;
50   dependencies = [
51     argostranslate
52     flask
53     flask-swagger
54     flask-swagger-ui
55     flask-limiter
56     flask-babel
57     flask-session
58     waitress
59     expiringdict
60     langdetect
61     lexilang
62     ltpycld2
63     morfessor
64     appdirs
65     apscheduler
66     translatehtml
67     argos-translate-files
68     requests
69     redis
70     prometheus-client
71     polib
72   ];
74   postInstall = ''
75     # expose static files to be able to serve them via web-server
76     mkdir -p $out/share/libretranslate
77     ln -s $out/${python.sitePackages}/libretranslate/static $out/share/libretranslate/static
78   '';
80   doCheck = false; # needs network access
82   nativeCheckInputs = [
83     pytestCheckHook
84   ];
86   # required for import check to work (argostranslate)
87   env.HOME = "/tmp";
89   pythonImportsCheck = [ "libretranslate" ];
91   meta = with lib; {
92     description = "Free and Open Source Machine Translation API. Self-hosted, no limits, no ties to proprietary services";
93     homepage = "https://libretranslate.com";
94     changelog = "https://github.com/LibreTranslate/LibreTranslate/releases/tag/v${version}";
95     license = licenses.agpl3Only;
96     maintainers = with maintainers; [ misuzu ];
97   };