1{
2 lib,
3 about-time,
4 buildPythonPackage,
5 click,
6 fetchFromGitHub,
7 grapheme,
8 pytestCheckHook,
9 python,
10 pythonOlder,
11 setuptools,
12}:
13
14buildPythonPackage rec {
15 pname = "alive-progress";
16 version = "3.1.5";
17 pyproject = true;
18
19 disabled = pythonOlder "3.7";
20
21 src = fetchFromGitHub {
22 owner = "rsalmei";
23 repo = "alive-progress";
24 tag = "v${version}";
25 hash = "sha256-yJhl0QrMHET9ISDc/D5AEQ7dTJkmcV2SWqy/xmG18uY=";
26 };
27
28 postInstall = ''
29 mkdir -p $out/share/doc/python${python.pythonVersion}-$pname-$version/
30 mv $out/LICENSE $out/share/doc/python${python.pythonVersion}-$pname-$version/
31 '';
32
33 nativeBuildInputs = [ setuptools ];
34
35 propagatedBuildInputs = [
36 about-time
37 grapheme
38 ];
39
40 pythonRelaxDeps = [ "about_time" ];
41
42 nativeCheckInputs = [
43 click
44 pytestCheckHook
45 ];
46
47 pythonImportsCheck = [ "alive_progress" ];
48
49 meta = with lib; {
50 description = "New kind of Progress Bar, with real-time throughput, ETA, and very cool animations";
51 homepage = "https://github.com/rsalmei/alive-progress";
52 changelog = "https://github.com/rsalmei/alive-progress/blob/v${version}/CHANGELOG.md";
53 license = licenses.mit;
54 maintainers = with maintainers; [ thiagokokada ];
55 };
56}