1{ lib
2, stdenv
3, buildPythonPackage
4, fetchPypi
5, setuptools-scm
6, pytestCheckHook
7, pytest-asyncio
8, pytest-timeout
9, numpy
10, pandas
11, rich
12, tkinter
13}:
14
15buildPythonPackage rec {
16 pname = "tqdm";
17 version = "4.64.1";
18
19 src = fetchPypi {
20 inherit pname version;
21 hash = "sha256-X09oKgBJUcG0ULx1PHEOkoDFdGzm/+3uJT3by/VM8eQ=";
22 };
23
24 nativeBuildInputs = [
25 setuptools-scm
26 ];
27
28 nativeCheckInputs = [
29 pytestCheckHook
30 pytest-asyncio
31 pytest-timeout
32 # tests of optional features
33 numpy
34 rich
35 tkinter
36 ] ++
37 # pandas is not supported on i686 or risc-v
38 lib.optional (!stdenv.isi686 && !stdenv.hostPlatform.isRiscV) pandas;
39
40 pytestFlagsArray = [
41 # pytest-asyncio 0.17.0 compat; https://github.com/tqdm/tqdm/issues/1289
42 "--asyncio-mode=strict"
43 ];
44
45 # Remove performance testing.
46 # Too sensitive for on Hydra.
47 disabledTests = [
48 "perf"
49 ];
50
51 LC_ALL="en_US.UTF-8";
52
53 pythonImportsCheck = [ "tqdm" ];
54
55 meta = with lib; {
56 description = "A Fast, Extensible Progress Meter";
57 homepage = "https://github.com/tqdm/tqdm";
58 changelog = "https://tqdm.github.io/releases/";
59 license = with licenses; [ mit ];
60 maintainers = with maintainers; [ fridh ];
61 };
62}