python312Packages.fnllm: 0.0.11 -> 0.0.12 (#364582)
[NixPkgs.git] / pkgs / development / python-modules / pproxy / default.nix
blobc08d2de25aa8dbacb2ee0f94849a96f05354bb38
2   lib,
3   buildPythonPackage,
4   fetchFromGitHub,
5   pycryptodome,
6   uvloop,
7   setuptools,
8   pythonOlder,
9 }:
11 buildPythonPackage rec {
12   pname = "pproxy";
13   version = "2.7.9";
14   pyproject = true;
16   disabled = pythonOlder "3.6";
18   src = fetchFromGitHub {
19     owner = "qwj";
20     repo = "python-proxy";
21     rev = "7fccf8dd62204f34b0aa3a70fc568fd6ddff7728";
22     sha256 = "sha256-bOqDdNiaZ5MRi/UeF0hJwMs+rfQBKRsTmXrZ6ieIguo=";
23   };
25   nativeBuildInputs = [ setuptools ];
27   propagatedBuildInputs = [
28     pycryptodome
29     uvloop
30   ];
32   pythonImportsCheck = [ "pproxy" ];
34   disabledTests = [
35     # Tests try to connect to outside Internet, so disabled
36     "api_server"
37     "api_client"
38   ];
40   # test suite doesn't use test runner. so need to run ``python ./tests/*``
41   checkPhase = ''
42     shopt -s extglob
43     for f in ./tests/!(${builtins.concatStringsSep "|" disabledTests}).py ; do
44       echo "***Testing $f***"
45       eval "python $f"
46     done
47   '';
49   meta = with lib; {
50     description = "Proxy server that can tunnel among remote servers by regex rules";
51     mainProgram = "pproxy";
52     homepage = "https://github.com/qwj/python-proxy";
53     license = licenses.mit;
54     maintainers = with maintainers; [ drewrisinger ];
55   };