1{
2 lib,
3 attrs,
4 buildPythonPackage,
5 colorlog,
6 fetchFromGitHub,
7 git,
8 lxml,
9 markdown,
10 markupsafe,
11 mock,
12 postgresql,
13 pylatexenc,
14 pytest-mock,
15 pytestCheckHook,
16 python-dateutil,
17 pythonOlder,
18 setuptools,
19 tabulate,
20}:
21
22buildPythonPackage rec {
23 pname = "clldutils";
24 version = "3.21.0";
25 pyproject = true;
26 disabled = pythonOlder "3.8";
27
28 src = fetchFromGitHub {
29 owner = "clld";
30 repo = pname;
31 rev = "v${version}";
32 hash = "sha256-OD+WJ9JuYZb/oXDgVqL4i5YlcVEt0+swq0SB3cutyRo=";
33 };
34
35 patchPhase = ''
36 substituteInPlace setup.cfg \
37 --replace-fail "--cov" ""
38 '';
39
40 nativeBuildInputs = [ setuptools ];
41
42 propagatedBuildInputs = [
43 attrs
44 colorlog
45 lxml
46 markdown
47 markupsafe
48 pylatexenc
49 python-dateutil
50 tabulate
51 ];
52
53 nativeCheckInputs = [
54 mock
55 postgresql
56 pytest-mock
57 pytestCheckHook
58 git
59 ];
60
61 meta = with lib; {
62 changelog = "https://github.com/clld/clldutils/blob/${src.rev}/CHANGES.md";
63 description = "Utilities for clld apps without the overhead of requiring pyramid, rdflib et al";
64 homepage = "https://github.com/clld/clldutils";
65 license = licenses.asl20;
66 maintainers = with maintainers; [ melling ];
67 };
68}