Enrich data using datasette and arbitrary commands on your local machine
Project description
datasette-enrichments-shell
Something I've always wanted to do is to be able to easily run a map reduce operation on a CSV. This is something that all the nifty command line tools (zq, jq, etc) don't allow you to do.
However, I noticed that Datasette recently added the ability to write enrichment plugins. I hacked together this enrichment plugin that allows you to run an arbitrary shell script and if the script was successful, save the resulting output to a new column.
Installation
Install this plugin in the same environment as Datasette.
datasette install -U datasette-enrichments-shell
Or, if you are hacking on this locally:
datasette install -U ~/Projects/python/datasette-enrichments-shell
Usage
After installing the plugin, you'll see the shell enrichment option in the UI. You can use this to run a shell command and save the output to a new column.
Examples
Here's how to test a shell script before plugging it into the web UI:
echo '{"rowid": 1, "firstName": "Forest", "lastName": "Tree"}' | \
jq -r '"-p firstName \(.firstName) -p lastName \(.lastName)"' | \
xargs -I {} /Users/mike/.asdf/shims/sqlite-utils query email_personal.db "SELECT * FROM address_book WHERE first_name = :firstName AND last_name = :lastName LIMIT 1" {}
Development
To set up this plugin locally, first checkout the code. Then create a new virtual environment:
cd datasette-enrichments-shell
poetry install
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file datasette_enrichments_shell-0.3.0.tar.gz
.
File metadata
- Download URL: datasette_enrichments_shell-0.3.0.tar.gz
- Upload date:
- Size: 4.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.3 CPython/3.12.4 Linux/6.5.0-1024-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e0b175c2962c358ab8fbdb27c24b9e575cd6e43bbdefafb91fddbb4f6d3d0219 |
|
MD5 | 026e93d55094bd43bcabb7e36b8de6a5 |
|
BLAKE2b-256 | 240ebbe7eb305b1830b61b09d40abd7867a8b5fb988a3d5249e0240819f5ec8d |
File details
Details for the file datasette_enrichments_shell-0.3.0-py3-none-any.whl
.
File metadata
- Download URL: datasette_enrichments_shell-0.3.0-py3-none-any.whl
- Upload date:
- Size: 6.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.3 CPython/3.12.4 Linux/6.5.0-1024-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8c113d25be7447e74db419301d7fc7b4635818c5e190b404db9af2aa88e648b6 |
|
MD5 | 52ea3d54c31be322c0ba3516b0f72f90 |
|
BLAKE2b-256 | e08241b9e339542cb36425ab265a741bde83ece3a3d88d51bd06da67b1bca523 |