1{
2 lib,
3 buildPythonPackage,
4 fetchPypi,
5 pythonOlder,
6 packaging,
7 pdm-backend,
8 httpx,
9 flask,
10 pytest-httpserver,
11 pytest-mock,
12 pytestCheckHook,
13 requests-wsgi-adapter,
14 trustme,
15}:
16
17buildPythonPackage rec {
18 pname = "unearth";
19 version = "0.15.2";
20 pyproject = true;
21
22 disabled = pythonOlder "3.8";
23
24 src = fetchPypi {
25 inherit pname version;
26 hash = "sha256-OB8+aWnbCyjZ/C+/shaGBXm/NBvWlUcvLGLivM6ebT0=";
27 };
28
29 build-system = [ pdm-backend ];
30
31 dependencies = [
32 packaging
33 httpx
34 ];
35
36 __darwinAllowLocalNetworking = true;
37
38 nativeCheckInputs = [
39 flask
40 pytest-httpserver
41 pytest-mock
42 pytestCheckHook
43 requests-wsgi-adapter
44 trustme
45 ];
46
47 pythonImportsCheck = [ "unearth" ];
48
49 meta = with lib; {
50 description = "A utility to fetch and download Python packages";
51 mainProgram = "unearth";
52 homepage = "https://github.com/frostming/unearth";
53 changelog = "https://github.com/frostming/unearth/releases/tag/${version}";
54 license = licenses.mit;
55 maintainers = with maintainers; [ betaboon ];
56 };
57}