alt text

Screenshot / Code Snippet

Current Version: Beta build v1.0

alt text alt text


StackTracker, a cross-platform desktop notifier for the StackExchange API built with PyQt4

The application displays a task tray notification when someone has posted an answer or a comment to a question you are tracking on any of the StackExchange sites. Clicking the notification will open the corresponding question in your browser.


GPL - Full LICENSE file available in the repo (below)


Linux build: Download Linux ZIP (Requires Python 2.6 and PyQt4 to be installed)

Run >> python StackTracker.py from the StackTracker folder

Windows build: Download Windows ZIP (May need Microsoft VC++ DLL installed)

Launch the StackTracker.exe.

Mac OS X build: Download Mac OS X tarball (Requires Growl to be installed)

Launch StackTracker.app. Only tested in Leopard/Snow Leopard on Intel-based Macs.


Matt Swanson, [email protected]


Tools/Frameworks/Etc Used: Python, PyQt4, gVim

Repo: git clone [email protected]:swanson/stacktracker.git


Release Notes

Please post feature requests or bugs in the answer section. Patches or pull requests are more than welcome.

Beta Builds

v1.0 (July 9)

  • StackTracker has now entered Beta status!
  • Support for API v1.0 release
  • Fixed bug in Mac OS X build involving exiting from the tray icon
  • Added Mac OS X build icon
  • Added default logo for all new Area51/StackExchange sites
  • Economized API calls
  • Added better handling of multiple alerts overwriting each other
  • Added notification when a question is autoremoved
  • Removed option to autoremove on accept answers
  • Code clean-up and refactoring

Alpha Builds

v0.4.1 (June 24)

  • Updating app to API version 0.9

v0.4 (June 23)

  • Fixed bug with gzipped API response that broke nearly all functionality :)
  • Added Mac OS X build

v0.3 (June 8)

  • Major UI changes
  • Windows build released and tested
  • Added settings for auto-removing questions and changing update interval
  • Shifted application design from a single window to a system tray icon
  • Added answer count and asked by fields to question list
  • Clicking on a question title in the window will now open the question in the browser
  • Throttling API calls to adhere to new "conscientious use" policy
  • Changed application icon
  • Adding error dialogs for bad input to question URL field
  • Added support for Python 2.5 JSON library
  • Fixed bug related to local time vs GMT
  • Fixed bug where the same question could be tracked multiple times
  • Code clean-up and refactoring

v0.2 (May 28)

  • Added support for other 'Trilogy' sites
  • Questions in the list are colored based on which site they are from
  • Changed input from question ID to question URL
  • Fixed Segmentation Fault when closing program
  • Fixed bug where invalid system clock could cause multiple notifications for same answer/comment
  • Various refactoring and code clean-up

v0.1 (May 26)

  • Initial build
  • 1
    WHOAH! That's a good idea! Maybe I'll check you GIT out, to put a SuperUser version!
    – dag729
    Commented May 26, 2010 at 17:38
  • 4
    Amazing job. One feature you may want to incorporate down the road is auto-expiry for watches. That way, after say 8 hours, I am no longer informed of new data for a question and my list is less-cluttered. Just a thought. Commented May 28, 2010 at 4:46
  • @George Ya I am debating whether to do that or some kind of exponential backoff in the query time. My current plan is to add it as a user setting - 'Should questions auto-expire? After how long?'. It will likely come in v0.3 as I will be adding persistence of tracked questions.
    – swanson
    Commented May 28, 2010 at 4:55
  • Has anyone tried the Windows EXE? Is it working for you? I've tested it on a few computers at my home so let me know if there are any problems.
    – swanson
    Commented Jun 10, 2010 at 20:48
  • 1
    Any plan to release an OSX build :P? Commented Jun 22, 2010 at 22:00
  • Ya, actually I have been trying to build PyQt on OSX all week -- I will try to get an OSX build out at some point.
    – swanson
    Commented Jun 23, 2010 at 3:48
  • @systempuntoout I added an OS X build, let me know if you have any problems - it seemed to work fine on the two Macs I tested it on.
    – swanson
    Commented Jun 24, 2010 at 3:13
  • @swanson cool, i'm going to try it this evening..thanks. Commented Jun 24, 2010 at 6:30
  • The app is now API v0.9 complaint. Version < 0.4.1 will no longer work as API v0.8 has been killed.
    – swanson
    Commented Jun 24, 2010 at 20:27
  • Ya I didnt realize the Windows and OS X had different icon files -- Ill be sure to be add that in the next release. thanks for testing it out for me!
    – swanson
    Commented Jun 24, 2010 at 21:36
  • 2
    Is there support for notifications on new questions matching a tag? Commented Oct 14, 2012 at 8:07
  • Where is Linux build?
    – Jorge B.
    Commented Jan 12, 2015 at 11:14
  • Hello @swanson when I copy the URL concerned the webpage of a question, I got the error: invalid URL format, please try again. How can I overcome this problem? I'm using Windows 10 Commented Dec 19, 2020 at 18:26

3 Answers 3


Trying to run this on openSUSE 11.2, getting an error message:

sathya@shaman:~/Download/stacktracker> python StackTracker.py 
Traceback (most recent call last):
  File "StackTracker.py", line 1, in <module>
    from PyQt4 import QtCore, QtGui, QtWebKit, QtNetwork
RuntimeError: the sip module implements API v6.0 but the PyQt4.QtCore module requires API v7.
  • Does updating your sip module solve the problem? I haven't gotten around to making a standalone Linux install so you may need to update that module for it to run at the moment.
    – swanson
    Commented Jul 9, 2010 at 1:10
  • This is apparently a common problem with openSUSE and some other distros (gentoo) - an example: lists.opensuse.org/opensuse-bugs/2010-04/msg00293.html
    – swanson
    Commented Jul 9, 2010 at 1:18

I've got some problem using ST under Ubuntu 10.04.

This is what I get when I launch

>> python StackTracker.py:

enter image description here

This is the window while I enter the URL:

enter image description here

And this is the window after the URL to be tracked is submitted:

image really was repeated

Any thought and/or advice for the troubleshoot?

EDIT: Version 0.4 works! YAY!!!

enter image description here

  • Could you give me the full URL that you tried? If the app didnt crash in a blaze of fire, it's probably thinks that the URL is invalid (there is 'error checking' with a simple regex). Also what version are you running? The newest from github? The v0.3 tarball?
    – swanson
    Commented Jun 23, 2010 at 3:50
  • Actually the issue was the recent addition of gzipping the api response -- which doesn't play nicely with urllib2.urlopen. I am working on a patch that should resolve the issue.
    – swanson
    Commented Jun 23, 2010 at 4:15
  • 1
    This has been fixed in v0.4. Thank you very much for testing out the app and alerting me of the issue!
    – swanson
    Commented Jun 23, 2010 at 4:49

This leaks memory. After running it for 24h, it was using >400 MB

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .