1{
2 lib,
3 attrs,
4 buildPythonPackage,
5 entry-points-txt,
6 fetchFromGitHub,
7 hatchling,
8 headerparser,
9 jsonschema,
10 packaging,
11 pytestCheckHook,
12 pytest-cov-stub,
13 pythonOlder,
14 readme-renderer,
15 setuptools,
16 wheel-filename,
17}:
18
19buildPythonPackage rec {
20 pname = "wheel-inspect";
21 version = "1.7.2";
22 pyproject = true;
23
24 disabled = pythonOlder "3.8";
25
26 src = fetchFromGitHub {
27 owner = "jwodder";
28 repo = "wheel-inspect";
29 tag = "v${version}";
30 hash = "sha256-Mdw9IlY/2qDlb5FumNH+VHmg7vrUzo3vn+03QsUGgo8=";
31 };
32
33 pythonRelaxDeps = [
34 "entry-points-txt"
35 "headerparser"
36 ];
37
38 build-system = [ hatchling ];
39
40 dependencies = [
41 attrs
42 entry-points-txt
43 headerparser
44 packaging
45 readme-renderer
46 wheel-filename
47 ];
48
49 nativeCheckInputs = [
50 setuptools
51 pytestCheckHook
52 pytest-cov-stub
53 jsonschema
54 ];
55
56 pythonImportsCheck = [ "wheel_inspect" ];
57
58 pytestFlags = [
59 "-Wignore::DeprecationWarning"
60 ];
61
62 meta = with lib; {
63 description = "Extract information from wheels";
64 homepage = "https://github.com/jwodder/wheel-inspect";
65 changelog = "https://github.com/wheelodex/wheel-inspect/releases/tag/${src.tag}";
66 license = licenses.mit;
67 maintainers = with maintainers; [ ayazhafiz ];
68 mainProgram = "wheel2json";
69 };
70}