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