mirror of
https://github.com/simonw/dclient.git
synced 2026-07-27 19:34:32 +02:00
A client CLI utility for Datasette instances
- Python 99.7%
- Just 0.3%
Replace aliases.json with config.json storing instances with default_database. Instance resolution: -i flag → config default → DATASETTE_URL. Database resolution: -d flag → instance default_database → DATASETTE_DATABASE. Token resolution: --token → auth.json by alias → auth.json by URL → DATASETTE_TOKEN. Add click-default-group dependency for bare SQL shortcut support. Add DCLIENT_CONFIG_DIR env var to override config directory. Rewrite query, insert, get, and actor commands for v2 API where instance is always -i flag. Add upsert command sharing insert implementation. Add databases, tables, schema, plugins commands. Add default_query hidden command for bare SQL shortcut. Add alias default, alias default-db subcommands. Add auth status subcommand. refs #29 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> |
||
|---|---|---|
| .github/workflows | ||
| dclient | ||
| docs | ||
| specs | ||
| tests | ||
| .gitignore | ||
| .readthedocs.yaml | ||
| Justfile | ||
| LICENSE | ||
| pyproject.toml | ||
| README.md | ||
dclient
A client CLI utility for Datasette instances.
Much of the functionality requires Datasette 1.0a2 or higher.
Things you can do with dclient
- Run SQL queries against Datasette and returning the results as JSON
- Run queries against authenticated Datasette instances
- Create aliases and store authentication tokens for convenient access to Datasette
- Insert data into Datasette using the insert API (Datasette 1.0 alpha or higher)
Installation
Install this tool using pip:
pip install dclient
If you want to install it in the same virtual environment as Datasette (to use it as a plugin) you can instead run:
datasette install dclient
Running a query
dclient query https://latest.datasette.io/fixtures "select * from facetable limit 1"
To shorten that, create an alias:
dclient alias add fixtures https://latest.datasette.io/fixtures
Then run it like this instead:
dclient query fixtures "select * from facetable limit 1"
Documentation
Visit dclient.datasette.io for full documentation on using this tool.
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