1{ lib, isPy3k, pythonOlder, fetchPypi, buildPythonPackage
2, pytest
3, pytestcov
4, sybil
5, typing-extensions
6}:
7
8buildPythonPackage rec {
9 pname = "atpublic";
10 version = "2.0";
11 disabled = !isPy3k;
12
13 src = fetchPypi {
14 inherit pname version;
15 sha256 = "ebeb62b71a5c683a84c1b16bbf415708af5a46841b142b85ac3a22ec2d7613b0";
16 };
17
18 propagatedBuildInputs = lib.optionals (pythonOlder "3.8") [
19 typing-extensions
20 ];
21
22 checkInputs = [
23 pytest pytestcov sybil
24 ];
25
26 checkPhase = ''
27 pytest --pyargs public
28 '';
29
30 meta = with lib; {
31 homepage = "https://public.readthedocs.io/en/latest/";
32 description = "A decorator and function which populates a module's __all__ and globals";
33 longDescription = ''
34 This is a very simple decorator and function which populates a module's
35 __all__ and optionally the module globals.
36
37 This provides both a pure-Python implementation and a C implementation. It is
38 proposed that the C implementation be added to builtins_ for Python 3.6.
39
40 This proposal seems to have been rejected, for more information see
41 https://bugs.python.org/issue26632.
42 '';
43 license = licenses.asl20;
44 maintainers = with maintainers; [ eadwu ];
45 };
46}