@apolyton I think you mentioned this one before Beeminder for BitBar?
I actually found your post because of this one and tried BitBar. There is a plugin for BitBar I found related to beeminder (also you can check the code in github here)
Also I tweaked it a bit so it looks like this:
shows the nearest goal to derail in the menu bar. But the whole logic is credit for Ben. Thanks a lot Ben if you see this!

This is the code tweaked I have in case you want it:
#!/usr/bin/python
# -*- coding: utf-8 -*-
# <bitbar.title>Beeminder</bitbar.title>
# <bitbar.version>v1.0</bitbar.version>
# <bitbar.author>Ben Congdon</bitbar.author>
# <bitbar.author.github>bcongdon</bitbar.author.github>
# <bitbar.image>https://i.imgur.com/XamwU1E.png</bitbar.image>
# <bitbar.desc>Displays your active Beeminder goals and their due dates/amounts</bitbar.desc>
# <bitbar.dependencies>python,requests</bitbar.dependencies>
import requests
# NOTE: Change these to set your credentials
USERNAME = 'your_username'
AUTH_TOKEN = 'your_api_key' # you can find it in https://www.beeminder.com/api/v1/auth_token.json
# Don't change anythine below this line
if not USERNAME or not AUTH_TOKEN:
print('ā ļø\n---\nBeeminder: No username and/or auth token provided!')
exit(1)
API_URL = 'https://www.beeminder.com/api/v1/users/{}.json'.format(USERNAME)
req = requests.get(API_URL, params=dict(auth_token=AUTH_TOKEN, datapoints_count=1, associations=True))
data = req.json()
goals = data['goals']
output = '{} for {}|color={} font=Monaco\n---\n'.format(goals[0]['limsumdate'], goals[0]['slug'], goals[0]['roadstatuscolor'])
max_slug_len = max(len(goal['slug']) + 1 for goal in goals)
for goal in goals:
if goal.get('coasting'):
continue
goal_url = 'https://www.beeminder.com/{}/{}'.format(USERNAME, goal['slug'])
output += "{}".format(goal['limsumdate'].ljust(27)) + " {}".format(goal['slug'].rjust(21)) + "|href={} color={} font=Monaco\n".format(goal_url, goal['roadstatuscolor'])
print(output)
I remember I needed to install requests
package for python using pip. This article might help you with that.
Iām trying also to get data from Rescuetime now. I found another plugin for it but Iām looking to get my daily time spent in a particular category instead of my productivity pulse. If you find a way to get that would it be cool!