Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{
2 lib,
3 stdenv,
4 buildPythonPackage,
5 fetchPypi,
6 cli-helpers,
7 click,
8 configobj,
9 prompt-toolkit,
10 psycopg,
11 pygments,
12 sqlparse,
13 pgspecial,
14 setproctitle,
15 keyring,
16 pendulum,
17 pytestCheckHook,
18 setuptools,
19 setuptools-scm,
20 sshtunnel,
21 mock,
22 tzlocal,
23}:
24
25# this is a pythonPackage because of the ipython line magics in pgcli.magic
26# integrating with ipython-sql
27buildPythonPackage rec {
28 pname = "pgcli";
29 version = "4.4.0";
30 pyproject = true;
31
32 src = fetchPypi {
33 inherit pname version;
34 hash = "sha256-vV+NaK8o/WlVGjy0iihJytX2hUqkgCLp2YxiNtEJ7q4=";
35 };
36
37 pythonRelaxDeps = [ "click" ];
38
39 build-system = [
40 setuptools
41 setuptools-scm
42 ];
43
44 dependencies = [
45 cli-helpers
46 click
47 configobj
48 prompt-toolkit
49 psycopg
50 pygments
51 sqlparse
52 pgspecial
53 setproctitle
54 keyring
55 pendulum
56 sshtunnel
57 tzlocal
58 ];
59
60 nativeCheckInputs = [
61 pytestCheckHook
62 mock
63 ];
64
65 disabledTests = [
66 # requires running postgres and postgresqlTestHook does not work
67 "test_application_name_in_env"
68 "test_init_command_option"
69 ]
70 ++ lib.optionals stdenv.hostPlatform.isDarwin [ "test_application_name_db_uri" ];
71
72 meta = {
73 description = "Command-line interface for PostgreSQL";
74 mainProgram = "pgcli";
75 longDescription = ''
76 Rich command-line interface for PostgreSQL with auto-completion and
77 syntax highlighting.
78 '';
79 homepage = "https://pgcli.com";
80 changelog = "https://github.com/dbcli/pgcli/raw/v${version}/changelog.rst";
81 license = lib.licenses.bsd3;
82 maintainers = with lib.maintainers; [
83 SuperSandro2000
84 ];
85 };
86}