Skip to main content

No project description provided

Project description

habits.txt

PyPI version

habits.txt is a plain text habit tracker.

Installation | Concepts | Format | Directives

Installation

pip install habits.txt

You can then use the CLI with:

hbtxt --help

Concepts

Time-bound

A habit is time-bound. It has a start date, and eventually an end date. It means with habits.txt, you can track habits for a specific period of time. When you want to stop tracking a habit, you can just stop tracking it.

Frequency

A habit is defined by a frequency, else it's called a task. The minimum frequency supported by habits.txt is daily (it doesn't support intra-day habits).

Boolean or Measurable

A habit can be boolean or measurable. A boolean habit is either done or not done. A measurable habit has a value.

Format

Habits are tracked in what I call a "journal" which is just a plain text file. A journal contains "directives".

A directive is composed of a date, a directive type, a habit name, and other metadata specific to the directive type. For example, here is a sample directive:

2024-01-01 track "Read 5 pages a day" (* * *)

You can comment lines in your journal by starting them with a # character. You can't add comments at the end of a line.

# Start tracking a habit
2024-01-01 track "Read 5 pages a day" (* * *)

Directives

track

To start tracking a habit, you use the track directive and specify the frequency of the habit enclosed in parentheses. Optionally, you can make the habit measurable by specifying the "measurable" keyword.

The frequency follows a simplified cron syntax, omitting the minute and the hour.

Example:

2024-01-01 track "Read 5 pages a day" (* * *)
2024-01-01 track "Exercise" (* * 1,3,5) measurable

untrack

To stop tracking a habit, you use the untrack directive.

Example:

2024-02-01 untrack "Read 5 pages a day"

record

To record a habit, you use the record directive and specify a value.

The allowed values are yes, no, or a number. You should not mix boolean and numeric values for the same habit.

You can write directives but omit the directive type, it will default to record.

Example:

2024-01-01 record "Read 5 pages a day" 5
2024-01-01 record "Workout" yes
2024-01-01 "Weight" 70.5

Project details


Download files

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

Source Distribution

habits_txt-0.2.0.tar.gz (10.1 kB view details)

Uploaded Source

Built Distribution

habits_txt-0.2.0-py3-none-any.whl (12.6 kB view details)

Uploaded Python 3

File details

Details for the file habits_txt-0.2.0.tar.gz.

File metadata

  • Download URL: habits_txt-0.2.0.tar.gz
  • Upload date:
  • Size: 10.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.2 CPython/3.12.3 Linux/6.8.9-arch1-2

File hashes

Hashes for habits_txt-0.2.0.tar.gz
Algorithm Hash digest
SHA256 60dcf88c4144f3938a842f612b49420c6bfc51fc52457a22f096351c7be23bed
MD5 e00a503b2db3a38a0e7c46061c38a306
BLAKE2b-256 66c895c13437befc7588ea51baa3c27350ead946d9eb831c1adf89b973dbb495

See more details on using hashes here.

File details

Details for the file habits_txt-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: habits_txt-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 12.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.2 CPython/3.12.3 Linux/6.8.9-arch1-2

File hashes

Hashes for habits_txt-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 73b752e89ac018f5992f6d9afd0975b3f0c31858199523d98e1cb8941a262b25
MD5 bffa6e873f0124de864220512b7183bc
BLAKE2b-256 f759189727c4a03e09216143f57c38a30576a99f03c390f1acf80650f5254695

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page