No, not unique in the sense "oh, this app is a special snowflake", but unique in the sense "you can only run one copy of this application".
I tried googling for it and I always found the same answer, "use dbus, try to own the name, if it exists already, then a copy is already running".
What I could not find is one working example of this, or at least not something conveniently labeled "here is how you do a unique application using dbus and python".
So, here is how you do a unique application using dbus and python:
Supposing your application is called uRSSus (mine is):
session_bus = dbus.SessionBus() try: session_bus.get_object("org.urssus.service", "/uRSSus") # This is the second copy, make the first one show instead # TODO: implement except dbus.DBusException: # No other copy running # This will 'take' the DBUS name name = dbus.service.BusName("org.urssus.service", bus=session_bus) # Now, start your app: window=MainWindow() object = UrssusServer(window,name) : : : etc, etc
And that's it. No, it's not hard, but since the DBUS docs seem to be... rather they seem almost not to be sometimes, every little bit may help.