1{
2 lib,
3 buildPythonPackage,
4 fetchPypi,
5 fetchpatch,
6 pythonOlder,
7 click,
8 click-default-group,
9 python-dateutil,
10 sqlite-fts4,
11 tabulate,
12 pluggy,
13 pytestCheckHook,
14 hypothesis,
15 testers,
16 sqlite-utils,
17}:
18
19buildPythonPackage rec {
20 pname = "sqlite-utils";
21 version = "3.36";
22 format = "setuptools";
23
24 disabled = pythonOlder "3.7";
25
26 src = fetchPypi {
27 inherit pname version;
28 hash = "sha256-3MMROU/obcFvZQN7AHXiOO/P0uEuZdU+0ZaVRQKZbzw=";
29 };
30
31 postPatch = ''
32 substituteInPlace setup.py \
33 --replace "click-default-group-wheel" "click-default-group"
34 '';
35
36 propagatedBuildInputs = [
37 click
38 click-default-group
39 python-dateutil
40 sqlite-fts4
41 tabulate
42 pluggy
43 ];
44
45 nativeCheckInputs = [
46 pytestCheckHook
47 hypothesis
48 ];
49
50 pythonImportsCheck = [ "sqlite_utils" ];
51
52 passthru.tests.version = testers.testVersion { package = sqlite-utils; };
53
54 meta = with lib; {
55 description = "Python CLI utility and library for manipulating SQLite databases";
56 mainProgram = "sqlite-utils";
57 homepage = "https://github.com/simonw/sqlite-utils";
58 changelog = "https://github.com/simonw/sqlite-utils/releases/tag/${version}";
59 license = licenses.asl20;
60 maintainers = with maintainers; [
61 meatcar
62 techknowlogick
63 ];
64 };
65}