Skip to main content

dob

Build Status Coverage Status Documentation Status GitHub Release Status PyPI Release Status PyPI Supported Python Versions License Status

dob is an interactive, terminal-based time tracking application.

You’ll find Vim-like navigation, robust functionality, a customizable user experience, lots of great plugins, and an elegant, minimalistic interface.

dob is written in Python and installs easily with pip:

$ pip3 install dob

The best way to learn dob is to run the demo:

$ dob demo

For other setup options, read the installation guide.

Quick Peek

dob has lots of CLI commands, and it also includes an interactive terminal application.

Here’s a little taste of what the terminal application looks like.:

╭────────────────────────────────────────────────────────────────────────────────╮
│             Thu 16 Apr 2020 ◐ 02:13 PM — 03:52 PM                              │
╰────────────────────────────────────────────────────────────────────────────────╯

  duration........... :  1 hour  39 minutes
  start.............. : 2020-04-16 13:13:49
  end................ : 2020-04-16 14:52:50
  activity........... : dobumentation
  category........... : dob Development
  tags............... : #readme

┌────────────────────────────────────────────────────────────────────────────────┐
│I'm adding this Fact to the README. So meta.                                    │
│                                                                                │
│                                                                                │
│                                                                                │
│                                                                                │
│                                                                                │
│                                                                                │
└────────────────────────────────────────────────────────────────────────────────┘
Fact ID #22618                              [?]: Help / [C-S]: Save / [C-Q]: Quit

Though in your terminal, you’ll see colors and font ornamentation (bold, italic, and underline).

Status

dob is released to beta!

  • You can demo dob to see how awesome it is!

  • You can also start using dob!

    But just be aware that it has not been vetted yet for a larger audience — you might still encounter a few issues. But please report them, and we’ll get them fixed.

    We just don’t want you to have a bad first experience.

    Aka, you’ve been warned!

    (Nonetheless, the dob beta uses a backup file judiciously, so if it does crash, you should not lose any unsaved data.)

dob is already feature-rich, and it’s used daily (hourly!) by the authors.

To see what all the fuss is about, you can pip3 install dob and run dob demo right now to try it out.

Or, keep reading for an overview of dob, a list of its features, and then detailed documentation of the interactive editor commands.

OS Support

dob runs on any operating system that supports Python, including Linux, macOS, and Windows.

Please see the installation guide for help getting setup.

Quick Start

If you want to dive right in (after running the demo to get acquainted), try:

$ dob init
$ dob edit

The init command creates a config file and the database, and the edit command runs the interactive editor.

You can also run dob --help to see an overview of all commands.

Ethos

dob is a designed for developers, but suitable for any individual whose comfortable in the terminal.

dob is perfect for the person who asks, Why must I use my mouse to manage time tracking?

dob is even more suited for the person who asks, How can I manage time tracking with the fewest possible keystrokes?

dob is inspired by Hamster, a beloved but aged time tracking application for GNOME.

dob is emulative of Vim, an editor that enables users to concentrate on their work while the tool itself slips into the background.

Try dob today – you might like it!

If you like dob, hopefully you’ll help us make it better!

Features

  • Minimalist interactive console app fits elegantly into your terminal-based workflow.

  • Robust configuration – and manageable via CLI if you want to avoid the config file.

  • Fully customizable – change which keys map to which commands.

  • Define your own user-specific paste commands – assign your own activities and tags.

  • Undo and redo edits as you work – don’t worry if you make a mistake.

  • Auto-complete makes it easy to set activities and tags – and shows useful stats, too.

  • Edit text in your favorite $EDITOR – and set a file extension for highlighting.

  • Use all the Unicode you want – spice up your notes!

  • Personalize the interface colors – and style your own activity and tag names!

  • Natural syntax lets you dob “offline” to a text file, that you can import later.

  • Migrates legacy Hamster databases – and repairs integrity issues, too.

  • Supports unrestricted plugin access – anyone can add their own commands and config.

  • Includes command shortcuts – common command sequences mapped to a single keypress.

  • Runs on the latest Python (3.6, 3.7, and 3.8).

  • Broad desktop OS support – runs on Linux, macOS, and Windows.

  • Suitably tested (though coverage could be better).

  • Well documented – get help at runtime, on the command line, or online.

  • Simple, smooth code base – follows best practices, and uses top libraries.

  • Low bar of entry to get raw access to data – defaults to Sqlite3 file.

  • Constant dogfooding (– I dob daily!)

  • Free and open source – hack away!

Demo

Demo dob

Run the demo command to load an interactive tutorial:

$ dob demo

And then follow the walk-through.

Getting started

Read basic usage to learn how to create an empty data store, or how to import an existing database.

Learning dob

You’ll find lots of documentation online, including:

Plugins

Plugins make it easy for everyday dobbers to write their own features and to share them with the broader community.

The core development team has created the following plugins for non-essential and distribution-specific features.

Please note: these plugins are not yet published! (We just want to get you excited in the meantime.)

  • The dob-plugin-export-commit plugin exports and commits changes to your dob database on every save.

  • The dob-plugin-stale-fact-goader plugin displays a GNOME-style popup notification after some amount of inactivity to badger you to start a new Fact.

  • The dob-plugin-git-hip plugin tags the active Fact based on the Git branch name pulled from the current directory.

Have a great idea for dob? Implement it as a plugin!

  • Plugins have complete access to dob.

    Plugins can add their own commands.

    Plugins can add their own configuration.

    Plugins can run on startup, on exit, or whenever the user saves.

Plugins help keep dob lean, and they let you turn an idea into a feature quickly and easily!

Thanks!

We hope you enjoy using dob as much as we have had making it!

And if you like it, please tell your friends and colleagues about it. Tell the whole world!!

Keep on dobbin’!

Metadata

Release files for dob 3.1.1

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

Source distribution (sdist)

Source distribution for dob 3.1.1
File Size Uploaded Provenance
dob-3.1.1.tar.gz 151.9 kB Without provenance Details

Built distribution (wheel)

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

Total release size: 294.4 kB

Release files / dob-3.1.1.tar.gz

Download URL dob-3.1.1.tar.gz
Size 151.9 kB
Tags Source
SHA-256 checksum
How to use checksums
69bc51892cf81d07f72fc9b6166e3c5336ae4ec31c3fba0789b973be89a72800
BLAKE2b-256 checksum
How to use checksums
9d4b707cf58adac7ba0b92f081461ed51793bb48ac89bb8ce2c6f2e10e80ff80
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/4.0.2 CPython/3.11.7

Release files / dob-3.1.1-py3-none-any.whl

Download URL dob-3.1.1-py3-none-any.whl
Size 142.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c5d903bbe8555a75fd803397188c52f11067af657e59cefb1dced1010fad20db
BLAKE2b-256 checksum
How to use checksums
5a146bfc173be54151606cfd64651a171b5f69d6bbe0d6bba31ffa5253f6bbc6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/4.0.2 CPython/3.11.7

Security for dob 3.1.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

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