• Stars
    star
    189
  • Rank 203,434 (Top 5 %)
  • Language
    Python
  • License
    MIT License
  • Created about 3 years ago
  • Updated 2 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Pomodoro timer that acknowledges the inexorable, infinite passage of time

Pomodouroboros

Most pomodoro trackers assume you’re going to start them. But time and tide wait for no one - the great pomodoro of the cosmos is cold and dark, and it goes on forever.

For people with ADHD or other executive function disorders, time blindness is common; the inability to notice that time is passing or initiate tasks at an appropriate time. It’s easy to let half the day slip by before starting your first pomodoro.

Pomodouroboros’s goal is to:

  1. stay constantly in your visual field so that you will ABSOLUTELY not forget to set some goals
  2. remind you that death stalks your every step, and the pomodoros are happening whether you’re making use of them or not

The way it accomplishes this is to have a pre-existing schedule, where the pomodoros are always running, whether you’ve said what you’re going to do with them or not. There’s a large, transparent progress pie-chart in the middle of your screen showing the progress of the current one on all displays, in different colors depending on whether you haven’t set an intention yet:

If you have set one for the current block:

Or if you’re taking a break:

If you successfully set an intention, you can evaluate the pomodoro afterwards:

You can also list the pomodoros in the current day (shown here in “test” mode, which lets you experiment with a very short “day” that progresses rapidly while developing the app):

The status item in the menu bar shows 4 items:

  • A 🍅 (if your intentionality exceeds your distraction) or 🥫 (if you are mostly distracted). The point is to get the fresh tomato!
  • A number before a “✓” indicating how many “success points” you’ve got for the current day, gained by focused or successful pomodoros, and for setting intentions
  • A number before a “✕” indicating how many “distraction points” you’ve got for the current day
  • A number before a “?” indicating how many completed or in-progress pomodoros that you can currently evaluate for success.
  • A number before a “…” indicating how many pomodoros remain before the end of the day.

Status

Currently, Pomodouroboros’s implementation quality is very rough, and probably not suitable for anyone other than people who know, or want to learn, Python, in order to help fix it up. As such there is no packaged build for end-users yet. However, hopefully in the not too distant future, releases will be available from the “Releases” tab.

Right now there’s only a Mac frontend since that’s the platform I use day-to-day, but I’d really like to get Windows and Linux frontends as soon as possible.

If “person with ADHD who knows or wants to learn Python” sounds like you, have a look at the list of issues to find something simple to contribute! In order to run it, make sure you have Xcode installed (like actual, for-real Xcode, not the command-line tools; this is a GUI, not a command-line thing, so you need the GUI development tools) make a virtualenv, pip install -Ur requirements.txt, and then run ./runme.

Note that if you really want to keep using the app, ./testme creates a different test bundle so you can run through some quick, fake test pomodoros without conflicting with the real-time instance that you're using.

More Repositories

1

automat

Self-service finite-state machines for the programmer on the go.
Python
568
star
2

deployme

Example project for deployment
Python
92
star
3

DateType

A type wrapper for the standard library `datetime` that supplies stricter checks, such as making 'datetime' not substitutable for 'date', and separating out Naive and Aware datetimes into separate, mutually-incompatible types.
Python
73
star
4

python-docstring-mode

Emacs minor-mode for editing Python docstrings.
Python
70
star
5

Encrust

Automate all the steps to add the flavorful, savory crust that macOS applications written in Python require to launch
Python
56
star
6

horsephrase

Secure Password Generator
Python
48
star
7

publication

Python
41
star
8

tokenring

A backend for the `keyring` module which uses a hardware token to require user presence for any secret access, by encrypting your vault and passwords as Fernet tokens.
Python
35
star
9

PINPal

random PIN code memorization helper
Python
29
star
10

Fritter

Python
28
star
11

QuickMacHotKey

Quickly bind a global hotkey in a PyObjC application.
Python
26
star
12

MOPUp

Macintosh Official Python.org Updater
Python
26
star
13

txsni

Simple support for running a TLS server with Twisted.
Python
25
star
14

lancer

Easily provision certificates for whatever hostnames you need, without having to expose them to the Internet.
Python
21
star
15

DBXS

Database Access
Python
17
star
16

QuickMacApp

framework for quickly developing macOS applications in Python with Twisted
Python
13
star
17

venvdotapp

Make a Python virtual environment into a discrete NSBundle application bundle.
Python
12
star
18

secretly

do a thing, with a secret, gotten from useful places
Python
9
star
19

E-Max

Emacs keybindings for the Sublime Text editor.
Python
8
star
20

posix_spawn

python posix_spawn bindings with cffi.
Python
7
star
21

reveal.js-local-remote

Reveal.js has support for remotes, but they all bounce off the cloud and are therefore troublesome in a network-congested conference wifi environment. This one can do everything on a local server running on your machine so you just need your own local AP to work. Also, displays presenter notes.
JavaScript
4
star
22

FastFizzBuzz

an experiment in making FizzBuzz faster in Python
Python
3
star
23

SponCom

Sponsored Comments
Python
3
star
24

amp-java

Java implementation of AMP
Java
2
star
25

Declaratively

Python
2
star
26

actions-playground

Let's make some github actions.
Python
2
star
27

.github

1
star
28

DrawSnek

Draw Many Snek
Python
1
star
29

streamrandom

Python
1
star
30

brytly

Python
1
star
31

mg2dsn

MailGun to Delivery Status Notification
Python
1
star
32

WarpedAlloy

DO NOT LOOK AT THIS NOT READY
Python
1
star