dclient/README.md

3.8 KiB

dclient

PyPI Changelog Tests License

A client CLI utility for Datasette instances

Installation

Install this tool using pip:

pip install dclient

Running queries

You can run SQL queries against a Datasette instance like so:

$ dclient query https://latest.datasette.io/fixtures "select * from facetable limit 1"

Output:

[
  {
    "pk": 1,
    "created": "2019-01-14 08:00:00",
    "planet_int": 1,
    "on_earth": 1,
    "state": "CA",
    "_city_id": 1,
    "_neighborhood": "Mission",
    "tags": "[\"tag1\", \"tag2\"]",
    "complex_array": "[{\"foo\": \"bar\"}]",
    "distinct_some_null": "one",
    "n": "n1"
  }
]

dclient query --help

Usage: dclient query [OPTIONS] URL SQL

  Run a SQL query against a Datasette database URL

  Returns a JSON array of objects

Options:
  --help  Show this message and exit.

Aliases

You can assign an alias to a Datasette database using the dclient alias command:

dclient alias add content https://datasette.io/content

You can list aliases with dclient alias list:

$ dclient alias list
content = https://datasette.io/content

Once registered, you can pass an alias to commands such as dclient query:

dclient query content "select * from news limit 1"

dclient alias --help

Usage: dclient alias [OPTIONS] COMMAND [ARGS]...

  Manage aliases for different instances

Options:
  --help  Show this message and exit.

Commands:
  add     Add an alias
  list    List aliases
  remove  Remove an alias

dclient alias list --help

Usage: dclient alias list [OPTIONS]

  List aliases

Options:
  --json  Output raw JSON
  --help  Show this message and exit.

dclient alias add --help

Usage: dclient alias add [OPTIONS] NAME URL

  Add an alias

Options:
  --help  Show this message and exit.

dclient alias remove --help

Usage: dclient alias remove [OPTIONS] NAME

  Remove an alias

Options:
  --help  Show this message and exit.

Development

To contribute to this tool, first checkout the code. Then create a new virtual environment:

cd dclient
python -m venv venv
source venv/bin/activate

Now install the dependencies and test dependencies:

pip install -e '.[test]'

To run the tests:

pytest