1{
2 lib,
3 buildPythonPackage,
4 fetchPypi,
5 pythonOlder,
6 setuptools,
7 setuptools-scm,
8 typing-extensions,
9 toml,
10 zipp,
11
12 # Reverse dependency
13 sage,
14}:
15
16buildPythonPackage rec {
17 pname = "importlib-metadata";
18 version = "8.7.0";
19 pyproject = true;
20
21 disabled = pythonOlder "3.7";
22
23 src = fetchPypi {
24 pname = "importlib_metadata";
25 inherit version;
26 hash = "sha256-0TuBrSI7iQqhbFRx8qwwVs92xfEPgtb5KS8LQV84kAA=";
27 };
28
29 build-system = [
30 setuptools # otherwise cross build fails
31 setuptools-scm
32 ];
33
34 dependencies = [
35 toml
36 zipp
37 ]
38 ++ lib.optionals (pythonOlder "3.8") [ typing-extensions ];
39
40 # Cyclic dependencies due to pyflakefs
41 doCheck = false;
42
43 pythonImportsCheck = [ "importlib_metadata" ];
44
45 passthru.tests = {
46 inherit sage;
47 };
48
49 meta = with lib; {
50 description = "Read metadata from Python packages";
51 homepage = "https://importlib-metadata.readthedocs.io/";
52 license = licenses.asl20;
53 maintainers = with maintainers; [
54 fab
55 ];
56 };
57}