Skip to main content

store and search command lines

Project description

store and search command lines


The inspiration is user experience in opennssl command line tool. In one of my previous project I was working with openssl command line tool. In the examples below I will use openssl to show you how to use spellbook.

the quickest start

install spellbook:

$ pip install spellbook

create first spellbook, called aux:

$ spellbook aux create

add spell to your spellbook:

$ spellbook aux add "tar -xvzf file.tar.gz" "extract tar.gz archive"

search for it:

$ spellbook aux search tar
tar -xvzf file.tar.gz


The idea is to create ‘book’ for openssl.

create your first spellbook, called openssl:

$ spellbook openssl create

then create spellbook for linux:

$ spellbook linux create


add some data to it, three ways are possible:


$ spellbook <book_name> add [command [description]]

add with command and description:

$ spellbook openssl add "openssl rand 16 -hex" "generate random 16 bytes and encode as hex"
openssl rand 16 -hex::generate random 16 bytes and encode as hex

add with only command:

$ spellbook openssl add "openssl asn1parse -in 3msg.enc.der -inform der"
provide description>> show asn1 encoded file
openssl asn1parse -in 3msg.enc.der -inform der::show asn1 encoded file

add without command:

$ spellbook openssl add
provide command>> openssl des3 -d -in 3msg.enc.msg -K `xxd -p 3msg.dec.key` -iv `xxd -p 3msg.iv`
provide description>> decode file using des3 with key and iv
openssl des3 -d -in 3msg.enc.msg -K `xxd -p 3msg.dec.key` -iv `xxd -p 3msg.iv`::decode file using des3 with key and iv

add something to linux book:

$ spellbook linux add "tar -xvzf file.tar.gz" "extract tar.gz archive"
tar -xvzf file.tar.gz::extract tar.gz archive


list all spells:

$ spellbook openssl list
openssl rand 16 -hex    ::>>    generate random 16 bytes and encode as hex
openssl asn1parse -in 3msg.enc.der -inform der  ::>>    show asn1 encoded file
openssl des3 -d -in 3msg.enc.msg -K `xxd -p 3msg.dec.key` -iv `xxd -p 3msg.iv`  ::>>    decode file using des3 with key and iv

dropbox support

just install dropbox or install spellbook with dropbox

$ pip install spellbook[with_dropbox]
$ pip install spellbook dropbox

connect to dropbox

$ spellbook - connectdb
1. Go to:
2. Click "Allow" (you might have to log in first)
3. Copy the authorization code.
provide the authorization code here>> oh4dTc9F_fgAAAAAAAAC3fovgKZ7cPL65mS5Ajxevug
successfully linked account:  DonPiekarz

sync spellbooks with dropbox

all spellbooks will be synchronized with yours dropbox account

$ spellbook - sync

future work

  • some hack to end parse arguments
  • refactoring

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for spellbook, version 1.1.5
Filename, size File type Python version Upload date Hashes
Filename, size spellbook-1.1.5.tar.gz (5.7 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page