1{ lib
2, stdenv
3, buildPythonPackage
4, fetchPypi
5, cli-helpers
6, click
7, configobj
8, prompt-toolkit
9, psycopg
10, pygments
11, sqlparse
12, pgspecial
13, setproctitle
14, keyring
15, pendulum
16, pytestCheckHook
17, sshtunnel
18, mock
19}:
20
21# this is a pythonPackage because of the ipython line magics in pgcli.magic
22# integrating with ipython-sql
23buildPythonPackage rec {
24 pname = "pgcli";
25 version = "4.0.1";
26
27 src = fetchPypi {
28 inherit pname version;
29 hash = "sha256-8v7qIJnOGtXoqdXZOw7a9g3GHpeyG3XpHZcjk5zlO9I=";
30 };
31
32 propagatedBuildInputs = [
33 cli-helpers
34 click
35 configobj
36 prompt-toolkit
37 psycopg
38 pygments
39 sqlparse
40 pgspecial
41 setproctitle
42 keyring
43 pendulum
44 sshtunnel
45 ];
46
47 nativeCheckInputs = [ pytestCheckHook mock ];
48
49 disabledTests = lib.optionals stdenv.isDarwin [ "test_application_name_db_uri" ];
50
51 meta = with lib; {
52 description = "Command-line interface for PostgreSQL";
53 longDescription = ''
54 Rich command-line interface for PostgreSQL with auto-completion and
55 syntax highlighting.
56 '';
57 homepage = "https://pgcli.com";
58 changelog = "https://github.com/dbcli/pgcli/raw/v${version}/changelog.rst";
59 license = licenses.bsd3;
60 maintainers = with maintainers; [ dywedir SuperSandro2000 ];
61 };
62}