Web interface for searching your code using ripgrep, built as a Datasette plugin
Project description
datasette-ripgrep
Web interface for searching your code using ripgrep, built as a Datasette plugin
For background on this project see datasette-ripgrep: deploy a regular expression search engine for your source code.
Demo
Try this plugin out at https://ripgrep.datasette.io/-/ripgrep - where you can run regular expression searches across the source code of Datasette and all of the datasette-*
plugins belonging to the simonw GitHub user.
Some example searches:
- with.*AsyncClient - regular expression search for
with.*AsyncClient
- .plugin_config, literal=on - a non-regular expression search for
.plugin_config(
- with.*AsyncClient glob=datasette/** - search for that pattern only within the
datasette/
top folder - "sqlite-utils[">] glob=setup.py - a regular expression search for packages that depend on either
sqlite-utils
orsqlite-utils>=some-version
- test glob=!*.html - search for the string
test
but exclude results in HTML files
Installation
Install this plugin in the same environment as Datasette.
$ datasette install datasette-ripgrep
The rg
executable needs to be installed such that it can be run by this tool.
Usage
This plugin requires configuration: it needs to a path
setting so that it knows where to run searches.
Create a metadata.json
file that looks like this:
{
"plugins": {
"datasette-ripgrep": {
"path": "/path/to/your/files"
}
}
}
Now run Datasette using datasette -m metadata.json
. The plugin will add an interface at /-/ripgrep
for running searches.
Plugin configuration
The "path"
configuration is required. Optional extra configuration options are:
time_limit
- floating point number. Therg
process will be terminated if it takes longer than this limit. The default is one second,1.0
.max_lines
- integer. Therg
process will be terminated if it returns more than this number of lines. The default is2000
.
Development
To set up this plugin locally, first checkout the code. Then create a new virtual environment:
cd datasette-ripgrep
python3 -mvenv venv
source venv/bin/activate
Or if you are using pipenv
:
pipenv shell
Now install the dependencies and tests:
pip install -e '.[test]'
To run the tests:
pytest
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
Hashes for datasette_ripgrep-0.7.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a0e1ef41fcf0a041f8d23c3de2a2f7a63d60cbaa2f8cf15b85425ed5a9aba6ad |
|
MD5 | cd5ac8002f17508d689a2bb7170adee8 |
|
BLAKE2b-256 | ecb712cee71a1255baec8f4e11ee4e23e7e6b182b73efaea2d0703a3b04ca252 |