Skip to main content

Automatically index your shell history in a full-text search database. Magic!

Features

  • Uses SQLite3’s excellent FTS4 extension to provide full-text search.

  • Respects HISTTIMEFORMAT if set.

Requirements

  • Bash

  • Python 3

Install

Install from pip:

pip install duiker

Or, simply download the single Python file and add it to your PATH.

Setup

Import your existing shell history:

history | duiker import -

Configuration

If you want to automatically import your shell history on-the-fly, you can add duiker import to your PROMPT_COMMAND [1].

Run duiker magic to print a shell snippet that automatically imports your last command into Duiker:

duiker magic

Configure this shell snippet as part of your PROMPT_COMMAND. Run duiker magic --help for an example.

Searching

Duiker indexes your shell history in an SQLite3 full-text search table.

You can use any MATCH [2] expression to search the database:

$ duiker search git
2017-04-13 15:50:02         git staged
2017-04-13 15:50:14         git commit -a
2017-04-13 15:55:07         git diff
$ duiker search '(git OR fossil) diff'
2017-04-27 15:15:01         git diff
2017-04-27 15:15:49         git diff
2017-04-28 14:49:19         fossil diff
2017-04-28 14:53:09         fossil diff src/main.rs
$ duiker search 'sqlite*'
2017-03-04 19:00:42         sqlite3 db.sqlite
2017-03-04 19:13:11         rm db.sqlite

Limitations

Duiker only supports Bash at present. Pull requests for other shells welcome.

License

MIT

Metadata

Release files for duiker 0.1.0

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

Source distribution (sdist)

Source distribution for duiker 0.1.0
File Size Uploaded
duiker-0.1.0.tar.gz 5.5 kB Details

Built distribution (wheel)

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

Total release size: 12.9 kB

Release files / duiker-0.1.0.tar.gz

Download URL duiker-0.1.0.tar.gz
Size 5.5 kB
Tags Source
SHA-256 checksum
How to use checksums
ca78200f85a6dd271f779529e2f79e87ab491b3ce5e542b02fcbba86617d4d34
BLAKE2b-256 checksum
How to use checksums
2ee2170ef5d1fbe11ce7e63eabbeef3b3e3844efb4d4e86227a0001fa5916cfe
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / duiker-0.1.0-py3-none-any.whl

Download URL duiker-0.1.0-py3-none-any.whl
Size 7.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f7c399ed01289c2cffbf55a26eddfc8b1fa0463ad6e22f34850fa5579e5b156c
BLAKE2b-256 checksum
How to use checksums
5fdac8a2ef82860bd1f97bfbcb1cb7a478ed024907bdd246afa48afee03ba4a0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

0.1.0 This release

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