Skip to main content

A simple CLI tool to track food you consume

Project description

⏱️ ⏰ 🕰️ Fastimer

PyPi pylint black License: MIT

It is a simple CLI timer to track fasts, designed specifically to help you monitor your fasting intervals.

😮 Why did you make this?

Yeah, there are plenty of apps like this one, you are right. I wrote this one simply out of annoyance when the Zero app for Android once again refused to show me a fast I did. I was tapping on the calendar inside the application, but it was doing nothing.

I have no idea what was wrong with it. Anyway, the task is not that hard, so I just wrote my own timer ¯\_(ツ)_/¯

🙃 How to install it?

I have nothing to surprise you here:

pip install fastimer

🙂 How to use it?

It is a console application. So you can run this:

fastimer --help

The script will show you the available commands.

By default, Fastimer expects to see your data in the user's home directory (%USERPROFILE%\Fastimer on Windows, for example). Of course, you can store it anywhere else using a directory junction or --path option.

To be short, you want a fasting timer to do four things.

1. To start a new fast

The first thing is creating a new fast. Usage:

fastimer start 20

Twenty above is the number of hours you are going to spend fasting. You can omit this option (the default is 16).

2. To see how fasting is going

Once you have started a fast, it is convenient to use fastimer show last command. It shows elapsed time, remaining time, and something that looks like a progress bar to visualize your spilled blood, sweat, and tears :)

Here is an example:

ACTIVE FAST

From: Tue, 11:25
Goal: Wed, 07:25 (20 hours)

Fasting zones:

1. Anabolic:    from Tue, 11:25
2. Catabolic:   from Tue, 15:25 <-- you are here
3. Fat burning: from Wed, 03:25
4. Ketosis:     from Wed, 11:25
5. Anabolic:    from Fri, 11:25

######################------------------ 56.5%

Elapsed time:   11h 17m
Remaining:      08h 43m

Please note that the fastimer show last command is the default one. So you can simply type fastimer show or fastimer: both of them have the same meaning.

In addition, you can use fastimer show prev command to show a fast before the last one.

3. To stop or cancel the fast you've started

When the fast is active, the fastimer stop command allows you to stop your fast when you decide to do so. It means that the fast is over and you wish to store the fast in the app's history.

Usage:

fastimer stop

Another option is to cancel the fast. It means you wish to delete the information about this fast by for some weird reason.

Usage:

fastimer cancel

4. To see how well you're doing

fastimer info

This command shows you statistical data and earned achievements.

For instance:

FASTING STATISTICS

Completed Fasts:         33 out of 34
Total Fasting Time:      437h 26m
Average Fast Length:     13h 15m
Longest Fast Length:     18h 12m
Longest Fasting Streak:  20 days
Current Fasting Streak:  3 days

Achievements:
- COPPER WALKER (level 2 badge out of 9). Twenty five fasts completed!
- COPPER MAN OF HABIT (level 2 badge out of 9). Ten completed fasts in a row!

🤔 Questions

Where can I see or edit my fasts?

The script stores all fasts in fasts.yaml file in the working directory. It has the YAML format, which is quite human-readable, so you can just open it in your lovely text editor.

For instance, the completed fast in the journal looks like this:

- length: 16
  started: 2022-07-20 19:59:14
  stopped: 2022-07-21 12:00:33

The first parameter is the length of the fast, the second is the start date, and the third is the completion date.

For an ongoing fast, the third parameter is omitted.

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

fastimer-1.3.1.tar.gz (7.9 kB view details)

Uploaded Source

Built Distribution

fastimer-1.3.1-py3-none-any.whl (8.9 kB view details)

Uploaded Python 3

File details

Details for the file fastimer-1.3.1.tar.gz.

File metadata

  • Download URL: fastimer-1.3.1.tar.gz
  • Upload date:
  • Size: 7.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.4

File hashes

Hashes for fastimer-1.3.1.tar.gz
Algorithm Hash digest
SHA256 bfde1afa6906e68fb08c60339631aa8abe263dd9daed0bbf050ade450b85e2b0
MD5 63ff5cd7366db5d2633c7e38aa06a2bc
BLAKE2b-256 2e72b0eb870ce447ec757a8c40a28d34da5aded33eaa3ef2c4f0b5d8ef00969e

See more details on using hashes here.

File details

Details for the file fastimer-1.3.1-py3-none-any.whl.

File metadata

  • Download URL: fastimer-1.3.1-py3-none-any.whl
  • Upload date:
  • Size: 8.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.4

File hashes

Hashes for fastimer-1.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 8c306fde0b7ba19301cba23095e83fe0ac0751339d516fc6dedb46a8d8164e7a
MD5 8acb19729b722790247b58c9b286d420
BLAKE2b-256 d6e8686c037f390528f155f75259394bbb3b3bd1600aef8ebe110d32adb54fb2

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