1{ lib
2, buildPythonPackage
3, fetchPypi
4, pytestCheckHook
5, pythonOlder
6, sybil
7, typing-extensions
8}:
9
10buildPythonPackage rec {
11 pname = "atpublic";
12 version = "2.3";
13 format = "setuptools";
14
15 disabled = pythonOlder "3.6";
16
17 src = fetchPypi {
18 inherit pname version;
19 sha256 = "d6b9167fc3e09a2de2d2adcfc9a1b48d84eab70753c97de3800362e1703e3367";
20 };
21
22 propagatedBuildInputs = lib.optionals (pythonOlder "3.8") [
23 typing-extensions
24 ];
25
26 checkInputs = [
27 pytestCheckHook
28 sybil
29 ];
30
31 postPatch = ''
32 substituteInPlace setup.cfg \
33 --replace "--cov=public" ""
34 '';
35
36 pythonImportsCheck = [
37 "public"
38 ];
39
40 meta = with lib; {
41 description = "Python decorator and function which populates a module's __all__ and globals";
42 homepage = "https://public.readthedocs.io/";
43 longDescription = ''
44 This is a very simple decorator and function which populates a module's
45 __all__ and optionally the module globals.
46 '';
47 license = licenses.asl20;
48 maintainers = with maintainers; [ eadwu ];
49 };
50}