Everything that doesn't fit somewhere else.
© 2010–2023 Paul Natsuo Kishimoto <[email protected]>.
Licensed under the GNU General Public License, version 3.0 or later.
From source:
$ git clone [email protected]:khaeru/py.git $HOME/vc/khaeru $ cd $HOME/vc/khaeru $ pip install --editable .
From PyPI:
$ pip install khaeru
The only direct requirement is click. For some of the submodules, below, there are additional requirements; find and install these with:
$ khaeru deps NAME # Example: pipe to pip directly $ khaeru deps git-all | xargs pip install
khaeru.biogeme- …
khaeru.pelican_ipython- Render IPython snippets in Pelican pages, with the help of the Sphinx extension IPython.sphinxext. See e.g. https://paul.kishimoto.name/2021/01/handling-country-codes/
khaeru.taskCode for working with Taskwarrior.
.notify- See
task-notify, below. .slack- Compute “slack”: amount of work time before given deadlines, after accounting for planned work.
In addition to khaeru, the following commands are installed.
Most use click, so have their own --help.
apt-or-pip- Suggest whether to install Python packages using apt, or pip.
bib- Command-line utility for BibTeX databases; moved to https://github.com/khaeru/bib.
ceic- Process data exported from the CEIC database.
dedupe- …
git-all- Locate and describe directories under
$HOMEwhich are git-controlled and have uncommitted changes. Use git auto-dispatch:git all. pim- Various tools for personal information management, as a click application.
See
pim --help. rclone-push- Upload files using rclone and a file
.rclone-push.yamlin the current directory. task-notify- Similar to https://github.com/flickerfly/taskwarrior-notifications, but in Python, and also reports active time from Taskwarrior.
strip-replies- A script for use with the Claws Mail Python plugin to tidy reply messages by removing signatures and blocks of blank lines.
Invoke these directly with python -m khaeru.NAME:
khaeru.disqus-export- …
khaeru.imgdupe- Find image files in a set of directories with matching names and appearance, but possibly different EXIF metadata or size.
khaeru.kdx- Manage Kindle DX collections according to directory structure.
khaeru.maildupe- Choose duplicate files to save/remove from a Maildir mailbox, for clumsy users of OfflineIMAP.
khaeru.reas_hdf5- Convert the Regional Emissions inventory in ASia (REAS) v2.1 into a HDF5 file. Broken.
khaeru/script/: Shell scripts
Invoke these using khaeru run NAME [ARGS], or directly.
Most of these use a #!/bin/sh line, meaning that, on Ubuntu, they run under dash, not bash.
Read more: 1,
2.
biogeme,biosim- Wrappers for Biogeme.
gpg-edit- Like
sudoedit, but for GPG-encrypted files. gpg-sqlite- Like
gpg-edit, but for SQLite databases. install-gams-api- Install the GAMS APIs.
install-latexmk- Install the latest version of Latexmk from CTAN.
mailman-scrape- …
new-machine- Configure a new Ubuntu machine.
packages- Generate lists of apt and pip packages.
ssh-try HOST1 HOST2- SSH to the first host that connects successfully.
task-dedupe- Snippets to assist with removing duplicate tasks in Taskwarrior.
toggle-md0- In Ubuntu 15.10, gnome-disk-utility removed md RAID support; use this with a .desktop file to have a GUI way of starting/stopping an array.
xps13- Tweaks for Ubuntu on an old (~2012) Dell XPS 13. Most of these are no longer needed.
gk-query,gk-query.py- Query the GNOME Keyring for passphrases associated with a particular search string, from the command-line. Works headlessly (i.e. without an active GNOME session).
svante_jupyter_job,svante_jupyter_setup,svante_jupyter_tunnel- Run a Jupyter kernel gateway using Slurm on the MIT svante cluster.
khaeru/old/: Old scripts
Some of these still work, but no guarantees. No entry point is provided for these; invoke them directly.
dreamhost-dns.py- Dynamic DNS cron script for DreamHost.
gedit-rubber- LaTeX compile script using rubber, for the gedit plugin 'External Tools'.
h5enum.py- Use xarray instead.
lp986841- https://bugs.launchpad.net/ubuntu/+source/acroread/+bug/986841/comments/21.
moin-migrate- Merge MoinMoin data from multiple installations.
mount.sh,umount.sh- …
n-way.bzr,n-way.py,n-way.unison- N-way diff.
nm-state- Retcode 0 or 1 according to whether nm-tool says there is a connection active.
pythons.sh- …
rb-alarm.sh- Play Rhythmbox from a cron script.
reflib-check,reflib-scavenge- For Referencer .reflib databases.
rise-and-shine,rise-and-shine.py,rise-and-shine.ui- Alarm clock using Music Player Daemon (MPD).
synergy,synergy-jp,synergy-kd- Extreme laziness using Synergy.
tomboy2zim- Convert Tomboy XML notes to Zim markup.