Skip to main content
Latest PyPI version Latest Travis CI build status for master Documentation Status Code Coverage License Image on Docker Hub Arch User Repository

Features

  • auto-completion for database name, document id, view name, command

  • syntax highlighting of documents and views

  • navigate a couchdb server as if it were a file system

  • various commands supported
    • cd - change database

    • ls - list docs under a database

    • cat - show content of a doc

    • exec - execute a view

    • rm - remove a doc

    • man - show help on commands

    • mkdir - create new database

    • du - doc and database size

    • lv - list views inside a view doc

  • create/update docs using external $EDITOR

  • pipe output to external shell commands, such as grep, wc and jq

Demo

https://asciinema.org/a/1mj2j4cxhqmq5m6t16tm82ws8.png

Usage

This tool allows you to traverse a CouchDB database as if it were a file system. Familiar file system commands are supported, such as ls, cd, mkdir, rm, etc, while providing context-rich auto-completion.

Starting cdbcli

Refer to the Installation section for guide on how to install cdbcli.

Running cdbcli requires connection parameters to the underlying couchdb instance you want to connnect to.

cdbcli --help

Usage: cdbcli [OPTIONS] [DATABASE]

Options:
  -h, --host TEXT               The host of the couchdb instance
  --port TEXT                   The port of the coouchdb instance
  -u, --username TEXT           The username to connect as
  -p, --password TEXT           The password
  -P, --askpass / --no-askpass  Ask for password?
  --tls / --no-tls              Use TLS to connect to the couchdb instance?
  --help                        Show this message and exit.

e.g., if you want to connect your couchdb instance at http://yourdomain:9999, you can issue the command:

cdbcli -h yourdomain --port 9999 -u admin -P

Specifying -P will prompt you for password. You can also use -p to specify password at the command line, but this is not recommended for sensitive passwords.

By default, cdbcli connects to the couchdb instance at http://localhost:5984.

You will be greeted by the cdbcli’s splash screen:

      ___  ____  ____   ___  __    ____
     / __)(  _ \(  _ \ / __)(  )  (_  _)
    ( (__  )(_) )) _ <( (__  )(__  _)(_
     \___)(____/(____/ \___)(____)(____)

    Welcome to cdbcli 0.1.1
    CouchDB version: 1.5.0

    Type 'help' or 'man' to get a list of all supported commands
    Press <TAB> for command auto-completion
    Press Ctrl+C or Ctrl+D or type 'exit' to exit

admin@yourdomain/>

Run with Docker

cdbcli is also available as a docker image on the docker hub

To run:

docker run -it kevinjqiu/cdbcli cdbcli <arguments>

The docker networking restrictions apply, so if you want to connect to a database on localhost, e.g., you will need to let the container use the host’s networking:

docker run -it --net=host kevinjqiu/cdbcli cdbcli <arguments>

Installation

pip install cdbcli

Contributing

  • Clone this repository.

  • Make a Python virtualenv

  • Install requirements: pip install -r requirements-test.txt

  • Install docker because the integration tests require it

  • Run make start_couchdb. This will start the testing couchdb instance using docker

  • Run make test

  • Run make stop_couchdb to clean up

Contributing to Documentation

  • Clone this repository.

  • Make a Python virtualenv

  • Install requirements: pip install -r requirements-docs.txt

  • Run make docs. The documentation can be accessed under docs/build/index.html.

Licence

cdbcli is licensed under Apache 2.0

Authors

cdbcli was written by Kevin J. Qiu.

See all contributors

Attribution

Metadata

Release files for cdbcli 0.9.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for cdbcli 0.9.1
File Size Uploaded
cdbcli-0.9.1.tar.gz 17.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for cdbcli 0.9.1
File Interpreter ABI Platform
cdbcli-0.9.1-py3-none-any.whl Python 3 none any Details

Total release size: 53.2 kB

Release files / cdbcli-0.9.1.tar.gz

Download URL cdbcli-0.9.1.tar.gz
Size 17.8 kB
Tags Source
SHA-256 checksum
How to use checksums
7fede909e8fc256cadfeae820fffe4a4cf4258ddc47b409917e77209db762585
BLAKE2b-256 checksum
How to use checksums
ff7125fd3c4e152df91e2177302fb73bc5e6c85617175f206a1a179a65351d6c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / cdbcli-0.9.1-py3-none-any.whl

Download URL cdbcli-0.9.1-py3-none-any.whl
Size 35.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
bd056f2e50d5121ad379ee371d1399de8fd5a899018c43c4a3acf3ddb8544bcd
BLAKE2b-256 checksum
How to use checksums
b7ebb7b560e8ca62e46df43405da44074b23154df8e23090a833e23478e09e6f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

0.9.1 This release

2 release files

0.9.0

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page