1{ buildPythonPackage
2, callPackage
3, fetchPypi
4, packaging
5, typing-extensions
6, tomli
7, setuptools
8, pythonOlder
9, lib
10}:
11
12buildPythonPackage rec {
13 pname = "setuptools-scm";
14 version = "7.1.0";
15 format = "pyproject";
16
17 src = fetchPypi {
18 pname = "setuptools_scm";
19 inherit version;
20 hash = "sha256-bFCDRadxqtfVbr/w5wYovysOx1c3Yr6ZYCFHMN4njyc=";
21 };
22
23 nativeBuildInputs = [
24 packaging
25 setuptools
26 typing-extensions
27 ];
28
29 propagatedBuildInputs = [
30 packaging
31 setuptools
32 typing-extensions
33 ] ++ lib.optionals (pythonOlder "3.11") [
34 tomli
35 ];
36
37 pythonImportsCheck = [
38 "setuptools_scm"
39 ];
40
41 # check in passthru.tests.pytest to escape infinite recursion on pytest
42 doCheck = false;
43
44 passthru.tests = {
45 pytest = callPackage ./tests.nix { };
46 };
47
48 meta = with lib; {
49 homepage = "https://github.com/pypa/setuptools_scm/";
50 description = "Handles managing your python package versions in scm metadata";
51 license = licenses.mit;
52 maintainers = with maintainers; [ nickcao ];
53 };
54}