Ronald Oussoren avatar Ronald Oussoren committed 702c6ea

- Set versions for PyObjC 2.3
- Same small test tweaks after offline testing at an airport

Comments (0)

Files changed (74)

pyobjc-framework-AddressBook/pyobjc_setup.py

             sys.path.remove(dirname)
 
         # Actually run the tests
+        if sys.version_info[0] == 2:
+            sys.path.insert(0, rootdir)
+    
         import PyObjCTest
         import unittest
         from pkg_resources import EntryPoint
 import sys
 import __main__
 
+CLASSIFIERS = filter(None,
+"""
+Development Status :: 5 - Production/Stable
+Environment :: Console
+Environment :: MacOS X :: Cocoa
+Intended Audience :: Developers
+License :: OSI Approved :: MIT License
+Natural Language :: English
+Operating System :: MacOS :: MacOS X
+Programming Language :: Python
+Programming Language :: Python :: 2
+Programming Language :: Python :: 2.6
+Programming Language :: Python :: 2.7
+Programming Language :: Python :: 3
+Programming Language :: Python :: 3.1
+Programming Language :: Python :: 3.2
+Programming Language :: Objective C
+Topic :: Software Development :: Libraries :: Python Modules
+Topic :: Software Development :: User Interfaces
+""".splitlines())
+
+
 def get_os_level():
     pl = plistlib.readPlist('/System/Library/CoreServices/SystemVersion.plist')
     v = pl['ProductVersion']

pyobjc-framework-AddressBook/setup.py

 
 setup(
     name='pyobjc-framework-AddressBook',
-    version="2.3b1",
+    version="2.3",
     description = "Wrappers for the framework AddressBook on Mac OS X",
     packages = [ "AddressBook" ],
     install_requires = [ 
-        'pyobjc-core>=2.3b1',
-        'pyobjc-framework-Cocoa>=2.3b1',
+        'pyobjc-core>=2.3',
+        'pyobjc-framework-Cocoa>=2.3',
     ],
 )

pyobjc-framework-AppleScriptKit/pyobjc_setup.py

             sys.path.remove(dirname)
 
         # Actually run the tests
+        if sys.version_info[0] == 2:
+            sys.path.insert(0, rootdir)
+    
         import PyObjCTest
         import unittest
         from pkg_resources import EntryPoint
 import sys
 import __main__
 
+CLASSIFIERS = filter(None,
+"""
+Development Status :: 5 - Production/Stable
+Environment :: Console
+Environment :: MacOS X :: Cocoa
+Intended Audience :: Developers
+License :: OSI Approved :: MIT License
+Natural Language :: English
+Operating System :: MacOS :: MacOS X
+Programming Language :: Python
+Programming Language :: Python :: 2
+Programming Language :: Python :: 2.6
+Programming Language :: Python :: 2.7
+Programming Language :: Python :: 3
+Programming Language :: Python :: 3.1
+Programming Language :: Python :: 3.2
+Programming Language :: Objective C
+Topic :: Software Development :: Libraries :: Python Modules
+Topic :: Software Development :: User Interfaces
+""".splitlines())
+
+
 def get_os_level():
     pl = plistlib.readPlist('/System/Library/CoreServices/SystemVersion.plist')
     v = pl['ProductVersion']

pyobjc-framework-AppleScriptKit/setup.py

 
 setup(
     name='pyobjc-framework-AppleScriptKit',
-    version="2.3b1",
+    version="2.3",
     description = "Wrappers for the framework AppleScriptKit on Mac OS X",
     packages = [ "AppleScriptKit" ],
     install_requires = [ 
-        'pyobjc-core>=2.3b1',
-        'pyobjc-framework-Cocoa>=2.3b1',
+        'pyobjc-core>=2.3',
+        'pyobjc-framework-Cocoa>=2.3',
     ],
 )

pyobjc-framework-AppleScriptObjC/pyobjc_setup.py

             sys.path.remove(dirname)
 
         # Actually run the tests
+        if sys.version_info[0] == 2:
+            sys.path.insert(0, rootdir)
+    
         import PyObjCTest
         import unittest
         from pkg_resources import EntryPoint
 import sys
 import __main__
 
+CLASSIFIERS = filter(None,
+"""
+Development Status :: 5 - Production/Stable
+Environment :: Console
+Environment :: MacOS X :: Cocoa
+Intended Audience :: Developers
+License :: OSI Approved :: MIT License
+Natural Language :: English
+Operating System :: MacOS :: MacOS X
+Programming Language :: Python
+Programming Language :: Python :: 2
+Programming Language :: Python :: 2.6
+Programming Language :: Python :: 2.7
+Programming Language :: Python :: 3
+Programming Language :: Python :: 3.1
+Programming Language :: Python :: 3.2
+Programming Language :: Objective C
+Topic :: Software Development :: Libraries :: Python Modules
+Topic :: Software Development :: User Interfaces
+""".splitlines())
+
+
 def get_os_level():
     pl = plistlib.readPlist('/System/Library/CoreServices/SystemVersion.plist')
     v = pl['ProductVersion']

pyobjc-framework-AppleScriptObjC/setup.py

 setup(
     min_os_level='10.6',
     name='pyobjc-framework-AppleScriptObjC',
-    version="2.3b1",
+    version="2.3",
     description = "Wrappers for the framework AppleScriptObjC on Mac OS X",
     packages = [ "AppleScriptObjC" ],
     install_requires = [ 
-        'pyobjc-core>=2.3b1',
-        'pyobjc-framework-Cocoa>=2.3b1',
+        'pyobjc-core>=2.3',
+        'pyobjc-framework-Cocoa>=2.3',
     ],
 )

pyobjc-framework-Automator/pyobjc_setup.py

             sys.path.remove(dirname)
 
         # Actually run the tests
+        if sys.version_info[0] == 2:
+            sys.path.insert(0, rootdir)
+    
         import PyObjCTest
         import unittest
         from pkg_resources import EntryPoint
 import sys
 import __main__
 
+CLASSIFIERS = filter(None,
+"""
+Development Status :: 5 - Production/Stable
+Environment :: Console
+Environment :: MacOS X :: Cocoa
+Intended Audience :: Developers
+License :: OSI Approved :: MIT License
+Natural Language :: English
+Operating System :: MacOS :: MacOS X
+Programming Language :: Python
+Programming Language :: Python :: 2
+Programming Language :: Python :: 2.6
+Programming Language :: Python :: 2.7
+Programming Language :: Python :: 3
+Programming Language :: Python :: 3.1
+Programming Language :: Python :: 3.2
+Programming Language :: Objective C
+Topic :: Software Development :: Libraries :: Python Modules
+Topic :: Software Development :: User Interfaces
+""".splitlines())
+
+
 def get_os_level():
     pl = plistlib.readPlist('/System/Library/CoreServices/SystemVersion.plist')
     v = pl['ProductVersion']

pyobjc-framework-Automator/setup.py

 
 setup(
     name='pyobjc-framework-Automator',
-    version="2.3b1",
+    version="2.3",
     description = "Wrappers for the framework Automator on Mac OS X",
     packages = [ "Automator" ],
     install_requires = [ 
-        'pyobjc-core>=2.3b1',
-        'pyobjc-framework-Cocoa>=2.3b1',
+        'pyobjc-core>=2.3',
+        'pyobjc-framework-Cocoa>=2.3',
     ],
 )

pyobjc-framework-CFNetwork/PyObjCTest/test_cfhost.py

 from CFNetwork import *
 from PyObjCTools.TestSupport import *
 import sys
+import socket
 
 if sys.version_info[0] != 2:
     def buffer(value):
         v = CFHostCreateWithName(None, u"www.python.org")
         self.assertIsInstance(v, CFHostRef)
 
+        try:
+            value = socket.gethostbyname('www.python.org')
+            expected_resolution = True
+        except socket.error:
+            expected_resolution = False
+
+
 
         addr = ' ' * 24;
         self.assertResultIsCFRetained(CFHostCreateWithAddress)
         self.assertResultIsBOOL(CFHostStartInfoResolution)
         self.assertArgIsOut(CFHostStartInfoResolution, 2)
         ok, error = CFHostStartInfoResolution(v, kCFHostAddresses, None)
-        self.assertIsObject(ok, True)
+        self.assertIsObject(ok, expected_resolution)
         self.assertIsInstance(error, CFStreamError)
 
         self.assertResultIsCFRetained(CFHostCreateCopy)

pyobjc-framework-CFNetwork/pyobjc_setup.py

             sys.path.remove(dirname)
 
         # Actually run the tests
+        if sys.version_info[0] == 2:
+            sys.path.insert(0, rootdir)
+    
         import PyObjCTest
         import unittest
         from pkg_resources import EntryPoint
 import sys
 import __main__
 
+CLASSIFIERS = filter(None,
+"""
+Development Status :: 5 - Production/Stable
+Environment :: Console
+Environment :: MacOS X :: Cocoa
+Intended Audience :: Developers
+License :: OSI Approved :: MIT License
+Natural Language :: English
+Operating System :: MacOS :: MacOS X
+Programming Language :: Python
+Programming Language :: Python :: 2
+Programming Language :: Python :: 2.6
+Programming Language :: Python :: 2.7
+Programming Language :: Python :: 3
+Programming Language :: Python :: 3.1
+Programming Language :: Python :: 3.2
+Programming Language :: Objective C
+Topic :: Software Development :: Libraries :: Python Modules
+Topic :: Software Development :: User Interfaces
+""".splitlines())
+
+
 def get_os_level():
     pl = plistlib.readPlist('/System/Library/CoreServices/SystemVersion.plist')
     v = pl['ProductVersion']

pyobjc-framework-CFNetwork/setup.py

 
 setup(
     name='pyobjc-framework-CFNetwork',
-    version="2.3b1",
+    version="2.3",
     description = "Wrappers for the framework CFNetwork on Mac OS X",
     packages = [ "CFNetwork" ],
     install_requires = [ 
-        'pyobjc-core>=2.3b1',
-        'pyobjc-framework-Cocoa>=2.3b1',
+        'pyobjc-core>=2.3',
+        'pyobjc-framework-Cocoa>=2.3',
     ],
     ext_modules = [
         Extension("CFNetwork._manual",

pyobjc-framework-CalendarStore/pyobjc_setup.py

             sys.path.remove(dirname)
 
         # Actually run the tests
+        if sys.version_info[0] == 2:
+            sys.path.insert(0, rootdir)
+    
         import PyObjCTest
         import unittest
         from pkg_resources import EntryPoint
 import sys
 import __main__
 
+CLASSIFIERS = filter(None,
+"""
+Development Status :: 5 - Production/Stable
+Environment :: Console
+Environment :: MacOS X :: Cocoa
+Intended Audience :: Developers
+License :: OSI Approved :: MIT License
+Natural Language :: English
+Operating System :: MacOS :: MacOS X
+Programming Language :: Python
+Programming Language :: Python :: 2
+Programming Language :: Python :: 2.6
+Programming Language :: Python :: 2.7
+Programming Language :: Python :: 3
+Programming Language :: Python :: 3.1
+Programming Language :: Python :: 3.2
+Programming Language :: Objective C
+Topic :: Software Development :: Libraries :: Python Modules
+Topic :: Software Development :: User Interfaces
+""".splitlines())
+
+
 def get_os_level():
     pl = plistlib.readPlist('/System/Library/CoreServices/SystemVersion.plist')
     v = pl['ProductVersion']

pyobjc-framework-CalendarStore/setup.py

 setup(
     min_os_level='10.5',
     name='pyobjc-framework-CalendarStore',
-    version="2.3b1",
+    version="2.3",
     description = "Wrappers for the framework CalendarStore on Mac OS X",
     packages = [ "CalendarStore" ],
     install_requires = [ 
-        'pyobjc-core>=2.3b1',
-        'pyobjc-framework-Cocoa>=2.3b1',
+        'pyobjc-core>=2.3',
+        'pyobjc-framework-Cocoa>=2.3',
     ],
 )

pyobjc-framework-Cocoa/pyobjc_setup.py

         # Actually run the tests
         if sys.version_info[0] == 2:
             sys.path.insert(0, rootdir)
+    
         import PyObjCTest
         import unittest
         from pkg_resources import EntryPoint
 import sys
 import __main__
 
+CLASSIFIERS = filter(None,
+"""
+Development Status :: 5 - Production/Stable
+Environment :: Console
+Environment :: MacOS X :: Cocoa
+Intended Audience :: Developers
+License :: OSI Approved :: MIT License
+Natural Language :: English
+Operating System :: MacOS :: MacOS X
+Programming Language :: Python
+Programming Language :: Python :: 2
+Programming Language :: Python :: 2.6
+Programming Language :: Python :: 2.7
+Programming Language :: Python :: 3
+Programming Language :: Python :: 3.1
+Programming Language :: Python :: 3.2
+Programming Language :: Objective C
+Topic :: Software Development :: Libraries :: Python Modules
+Topic :: Software Development :: User Interfaces
+""".splitlines())
+
+
 def get_os_level():
     pl = plistlib.readPlist('/System/Library/CoreServices/SystemVersion.plist')
     v = pl['ProductVersion']

pyobjc-framework-Cocoa/setup.py

 
 setup(
     name='pyobjc-framework-Cocoa',
-    version="2.3b1",
+    version="2.3",
     description = "Wrappers for the Cocoa frameworks on Mac OS X",
     packages = [ "Cocoa", "CoreFoundation", "Foundation", "AppKit", "PyObjCTools" ],
     namespace_packages = ['PyObjCTools'],
     install_requires = [ 
-        'pyobjc-core>=2.3b1',
+        'pyobjc-core>=2.3',
     ],
     ext_modules = [
         # CoreFoundation

pyobjc-framework-Collaboration/pyobjc_setup.py

             sys.path.remove(dirname)
 
         # Actually run the tests
+        if sys.version_info[0] == 2:
+            sys.path.insert(0, rootdir)
+    
         import PyObjCTest
         import unittest
         from pkg_resources import EntryPoint
 import sys
 import __main__
 
+CLASSIFIERS = filter(None,
+"""
+Development Status :: 5 - Production/Stable
+Environment :: Console
+Environment :: MacOS X :: Cocoa
+Intended Audience :: Developers
+License :: OSI Approved :: MIT License
+Natural Language :: English
+Operating System :: MacOS :: MacOS X
+Programming Language :: Python
+Programming Language :: Python :: 2
+Programming Language :: Python :: 2.6
+Programming Language :: Python :: 2.7
+Programming Language :: Python :: 3
+Programming Language :: Python :: 3.1
+Programming Language :: Python :: 3.2
+Programming Language :: Objective C
+Topic :: Software Development :: Libraries :: Python Modules
+Topic :: Software Development :: User Interfaces
+""".splitlines())
+
+
 def get_os_level():
     pl = plistlib.readPlist('/System/Library/CoreServices/SystemVersion.plist')
     v = pl['ProductVersion']

pyobjc-framework-Collaboration/setup.py

 setup(
     min_os_level='10.5',
     name='pyobjc-framework-Collaboration',
-    version="2.3b1",
+    version="2.3",
     description = "Wrappers for the framework Collaboration on Mac OS X",
     packages = [ "Collaboration" ],
     install_requires = [ 
-        'pyobjc-core>=2.3b1',
-        'pyobjc-framework-Cocoa>=2.3b1',
+        'pyobjc-core>=2.3',
+        'pyobjc-framework-Cocoa>=2.3',
     ],
 )

pyobjc-framework-CoreData/pyobjc_setup.py

             sys.path.remove(dirname)
 
         # Actually run the tests
+        if sys.version_info[0] == 2:
+            sys.path.insert(0, rootdir)
+    
         import PyObjCTest
         import unittest
         from pkg_resources import EntryPoint
 import sys
 import __main__
 
+CLASSIFIERS = filter(None,
+"""
+Development Status :: 5 - Production/Stable
+Environment :: Console
+Environment :: MacOS X :: Cocoa
+Intended Audience :: Developers
+License :: OSI Approved :: MIT License
+Natural Language :: English
+Operating System :: MacOS :: MacOS X
+Programming Language :: Python
+Programming Language :: Python :: 2
+Programming Language :: Python :: 2.6
+Programming Language :: Python :: 2.7
+Programming Language :: Python :: 3
+Programming Language :: Python :: 3.1
+Programming Language :: Python :: 3.2
+Programming Language :: Objective C
+Topic :: Software Development :: Libraries :: Python Modules
+Topic :: Software Development :: User Interfaces
+""".splitlines())
+
+
 def get_os_level():
     pl = plistlib.readPlist('/System/Library/CoreServices/SystemVersion.plist')
     v = pl['ProductVersion']

pyobjc-framework-CoreData/setup.py

 from pyobjc_setup import *
 setup(
     name='pyobjc-framework-CoreData',
-    version="2.3b1",
+    version="2.3",
     description = "Wrappers for the framework CoreData on Mac OS X",
     packages = [ "CoreData" ],
     install_requires = [ 
-        'pyobjc-core>=2.3b1',
-        'pyobjc-framework-Cocoa>=2.3b1',
+        'pyobjc-core>=2.3',
+        'pyobjc-framework-Cocoa>=2.3',
     ],
 )

pyobjc-framework-CoreLocation/pyobjc_setup.py

             sys.path.remove(dirname)
 
         # Actually run the tests
+        if sys.version_info[0] == 2:
+            sys.path.insert(0, rootdir)
+    
         import PyObjCTest
         import unittest
         from pkg_resources import EntryPoint
 import sys
 import __main__
 
+CLASSIFIERS = filter(None,
+"""
+Development Status :: 5 - Production/Stable
+Environment :: Console
+Environment :: MacOS X :: Cocoa
+Intended Audience :: Developers
+License :: OSI Approved :: MIT License
+Natural Language :: English
+Operating System :: MacOS :: MacOS X
+Programming Language :: Python
+Programming Language :: Python :: 2
+Programming Language :: Python :: 2.6
+Programming Language :: Python :: 2.7
+Programming Language :: Python :: 3
+Programming Language :: Python :: 3.1
+Programming Language :: Python :: 3.2
+Programming Language :: Objective C
+Topic :: Software Development :: Libraries :: Python Modules
+Topic :: Software Development :: User Interfaces
+""".splitlines())
+
+
 def get_os_level():
     pl = plistlib.readPlist('/System/Library/CoreServices/SystemVersion.plist')
     v = pl['ProductVersion']

pyobjc-framework-CoreLocation/setup.py

 setup(
     min_os_level='10.6',
     name='pyobjc-framework-CoreLocation',
-    version="2.3b1",
+    version="2.3",
     description = "Wrappers for the framework CoreLocation on Mac OS X",
     packages = [ "CoreLocation" ],
     install_requires = [ 
-        'pyobjc-core>=2.3b1',
-        'pyobjc-framework-Cocoa>=2.3b1',
+        'pyobjc-core>=2.3',
+        'pyobjc-framework-Cocoa>=2.3',
     ],
 )

pyobjc-framework-CoreText/pyobjc_setup.py

             sys.path.remove(dirname)
 
         # Actually run the tests
+        if sys.version_info[0] == 2:
+            sys.path.insert(0, rootdir)
+    
         import PyObjCTest
         import unittest
         from pkg_resources import EntryPoint
 import sys
 import __main__
 
+CLASSIFIERS = filter(None,
+"""
+Development Status :: 5 - Production/Stable
+Environment :: Console
+Environment :: MacOS X :: Cocoa
+Intended Audience :: Developers
+License :: OSI Approved :: MIT License
+Natural Language :: English
+Operating System :: MacOS :: MacOS X
+Programming Language :: Python
+Programming Language :: Python :: 2
+Programming Language :: Python :: 2.6
+Programming Language :: Python :: 2.7
+Programming Language :: Python :: 3
+Programming Language :: Python :: 3.1
+Programming Language :: Python :: 3.2
+Programming Language :: Objective C
+Topic :: Software Development :: Libraries :: Python Modules
+Topic :: Software Development :: User Interfaces
+""".splitlines())
+
+
 def get_os_level():
     pl = plistlib.readPlist('/System/Library/CoreServices/SystemVersion.plist')
     v = pl['ProductVersion']

pyobjc-framework-CoreText/setup.py

 setup(
     min_os_level='10.5',
     name='pyobjc-framework-CoreText',
-    version="2.3b1",
+    version="2.3",
     description = "Wrappers for the framework CoreText on Mac OS X",
     packages = [ "CoreText" ],
     ext_modules = [
             ),
     ],
     install_requires = [ 
-        'pyobjc-core>=2.3b1',
-        'pyobjc-framework-Cocoa>=2.3b1',
-        'pyobjc-framework-Quartz>=2.3b1',
+        'pyobjc-core>=2.3',
+        'pyobjc-framework-Cocoa>=2.3',
+        'pyobjc-framework-Quartz>=2.3',
     ],
 )

pyobjc-framework-DictionaryServices/pyobjc_setup.py

             sys.path.remove(dirname)
 
         # Actually run the tests
+        if sys.version_info[0] == 2:
+            sys.path.insert(0, rootdir)
+    
         import PyObjCTest
         import unittest
         from pkg_resources import EntryPoint
 import sys
 import __main__
 
+CLASSIFIERS = filter(None,
+"""
+Development Status :: 5 - Production/Stable
+Environment :: Console
+Environment :: MacOS X :: Cocoa
+Intended Audience :: Developers
+License :: OSI Approved :: MIT License
+Natural Language :: English
+Operating System :: MacOS :: MacOS X
+Programming Language :: Python
+Programming Language :: Python :: 2
+Programming Language :: Python :: 2.6
+Programming Language :: Python :: 2.7
+Programming Language :: Python :: 3
+Programming Language :: Python :: 3.1
+Programming Language :: Python :: 3.2
+Programming Language :: Objective C
+Topic :: Software Development :: Libraries :: Python Modules
+Topic :: Software Development :: User Interfaces
+""".splitlines())
+
+
 def get_os_level():
     pl = plistlib.readPlist('/System/Library/CoreServices/SystemVersion.plist')
     v = pl['ProductVersion']

pyobjc-framework-DictionaryServices/setup.py

 setup(
     min_os_level='10.5',
     name='pyobjc-framework-DictionaryServices',
-    version="2.3b1",
+    version="2.3",
     description = "Wrappers for the framework DictionaryServices on Mac OS X",
     packages = [ "DictionaryServices" ],
     install_requires = [ 
-        'pyobjc-core>=2.3b1',
-        'pyobjc-framework-Cocoa>=2.3b1',
+        'pyobjc-core>=2.3',
+        'pyobjc-framework-Cocoa>=2.3',
     ],
 )

pyobjc-framework-ExceptionHandling/pyobjc_setup.py

             sys.path.remove(dirname)
 
         # Actually run the tests
+        if sys.version_info[0] == 2:
+            sys.path.insert(0, rootdir)
+    
         import PyObjCTest
         import unittest
         from pkg_resources import EntryPoint
 import sys
 import __main__
 
+CLASSIFIERS = filter(None,
+"""
+Development Status :: 5 - Production/Stable
+Environment :: Console
+Environment :: MacOS X :: Cocoa
+Intended Audience :: Developers
+License :: OSI Approved :: MIT License
+Natural Language :: English
+Operating System :: MacOS :: MacOS X
+Programming Language :: Python
+Programming Language :: Python :: 2
+Programming Language :: Python :: 2.6
+Programming Language :: Python :: 2.7
+Programming Language :: Python :: 3
+Programming Language :: Python :: 3.1
+Programming Language :: Python :: 3.2
+Programming Language :: Objective C
+Topic :: Software Development :: Libraries :: Python Modules
+Topic :: Software Development :: User Interfaces
+""".splitlines())
+
+
 def get_os_level():
     pl = plistlib.readPlist('/System/Library/CoreServices/SystemVersion.plist')
     v = pl['ProductVersion']

pyobjc-framework-ExceptionHandling/setup.py

 
 setup(
     name='pyobjc-framework-ExceptionHandling',
-    version="2.3b1",
+    version="2.3",
     description = "Wrappers for the framework ExceptionHandling on Mac OS X",
     packages = [ "PyObjCTools", "ExceptionHandling" ],
     namespace_packages = [ "PyObjCTools" ],
     install_requires = [ 
-        'pyobjc-core>=2.3b1',
-        'pyobjc-framework-Cocoa>=2.3b1',
+        'pyobjc-core>=2.3',
+        'pyobjc-framework-Cocoa>=2.3',
     ],
 )

pyobjc-framework-FSEvents/pyobjc_setup.py

             sys.path.remove(dirname)
 
         # Actually run the tests
+        if sys.version_info[0] == 2:
+            sys.path.insert(0, rootdir)
+    
         import PyObjCTest
         import unittest
         from pkg_resources import EntryPoint
 import sys
 import __main__
 
+CLASSIFIERS = filter(None,
+"""
+Development Status :: 5 - Production/Stable
+Environment :: Console
+Environment :: MacOS X :: Cocoa
+Intended Audience :: Developers
+License :: OSI Approved :: MIT License
+Natural Language :: English
+Operating System :: MacOS :: MacOS X
+Programming Language :: Python
+Programming Language :: Python :: 2
+Programming Language :: Python :: 2.6
+Programming Language :: Python :: 2.7
+Programming Language :: Python :: 3
+Programming Language :: Python :: 3.1
+Programming Language :: Python :: 3.2
+Programming Language :: Objective C
+Topic :: Software Development :: Libraries :: Python Modules
+Topic :: Software Development :: User Interfaces
+""".splitlines())
+
+
 def get_os_level():
     pl = plistlib.readPlist('/System/Library/CoreServices/SystemVersion.plist')
     v = pl['ProductVersion']

pyobjc-framework-FSEvents/setup.py

 setup(
     min_os_level='10.5',
     name='pyobjc-framework-FSEvents',
-    version="2.3b1",
+    version="2.3",
     description = "Wrappers for the framework FSEvents on Mac OS X",
     packages = [ "FSEvents" ],
     install_requires = [ 
-        'pyobjc-core>=2.3b1',
-        'pyobjc-framework-Cocoa>=2.3b1',
+        'pyobjc-core>=2.3',
+        'pyobjc-framework-Cocoa>=2.3',
     ],
     ext_modules = [
         Extension("FSEvents._callbacks",

pyobjc-framework-InputMethodKit/pyobjc_setup.py

             sys.path.remove(dirname)
 
         # Actually run the tests
+        if sys.version_info[0] == 2:
+            sys.path.insert(0, rootdir)
+    
         import PyObjCTest
         import unittest
         from pkg_resources import EntryPoint
 import sys
 import __main__
 
+CLASSIFIERS = filter(None,
+"""
+Development Status :: 5 - Production/Stable
+Environment :: Console
+Environment :: MacOS X :: Cocoa
+Intended Audience :: Developers
+License :: OSI Approved :: MIT License
+Natural Language :: English
+Operating System :: MacOS :: MacOS X
+Programming Language :: Python
+Programming Language :: Python :: 2
+Programming Language :: Python :: 2.6
+Programming Language :: Python :: 2.7
+Programming Language :: Python :: 3
+Programming Language :: Python :: 3.1
+Programming Language :: Python :: 3.2
+Programming Language :: Objective C
+Topic :: Software Development :: Libraries :: Python Modules
+Topic :: Software Development :: User Interfaces
+""".splitlines())
+
+
 def get_os_level():
     pl = plistlib.readPlist('/System/Library/CoreServices/SystemVersion.plist')
     v = pl['ProductVersion']

pyobjc-framework-InputMethodKit/setup.py

 setup(
     min_os_level='10.5',
     name='pyobjc-framework-InputMethodKit',
-    version="2.3b1",
+    version="2.3",
     description = "Wrappers for the framework InputMethodKit on Mac OS X",
     packages = [ "InputMethodKit" ],
     install_requires = [ 
-        'pyobjc-core>=2.3b1',
-        'pyobjc-framework-Cocoa>=2.3b1',
+        'pyobjc-core>=2.3',
+        'pyobjc-framework-Cocoa>=2.3',
     ],
 )

pyobjc-framework-InstallerPlugins/pyobjc_setup.py

             sys.path.remove(dirname)
 
         # Actually run the tests
+        if sys.version_info[0] == 2:
+            sys.path.insert(0, rootdir)
+    
         import PyObjCTest
         import unittest
         from pkg_resources import EntryPoint
 import sys
 import __main__
 
+CLASSIFIERS = filter(None,
+"""
+Development Status :: 5 - Production/Stable
+Environment :: Console
+Environment :: MacOS X :: Cocoa
+Intended Audience :: Developers
+License :: OSI Approved :: MIT License
+Natural Language :: English
+Operating System :: MacOS :: MacOS X
+Programming Language :: Python
+Programming Language :: Python :: 2
+Programming Language :: Python :: 2.6
+Programming Language :: Python :: 2.7
+Programming Language :: Python :: 3
+Programming Language :: Python :: 3.1
+Programming Language :: Python :: 3.2
+Programming Language :: Objective C
+Topic :: Software Development :: Libraries :: Python Modules
+Topic :: Software Development :: User Interfaces
+""".splitlines())
+
+
 def get_os_level():
     pl = plistlib.readPlist('/System/Library/CoreServices/SystemVersion.plist')
     v = pl['ProductVersion']

pyobjc-framework-InstallerPlugins/setup.py

 
 setup(
     name='pyobjc-framework-InstallerPlugins',
-    version="2.3b1",
+    version="2.3",
     description = "Wrappers for the framework InstallerPlugins on Mac OS X",
     packages = [ "InstallerPlugins" ],
     install_requires = [ 
-        'pyobjc-core>=2.3b1',
-        'pyobjc-framework-Cocoa>=2.3b1',
+        'pyobjc-core>=2.3',
+        'pyobjc-framework-Cocoa>=2.3',
     ],
 )

pyobjc-framework-InstantMessage/pyobjc_setup.py

             sys.path.remove(dirname)
 
         # Actually run the tests
+        if sys.version_info[0] == 2:
+            sys.path.insert(0, rootdir)
+    
         import PyObjCTest
         import unittest
         from pkg_resources import EntryPoint
 import sys
 import __main__
 
+CLASSIFIERS = filter(None,
+"""
+Development Status :: 5 - Production/Stable
+Environment :: Console
+Environment :: MacOS X :: Cocoa
+Intended Audience :: Developers
+License :: OSI Approved :: MIT License
+Natural Language :: English
+Operating System :: MacOS :: MacOS X
+Programming Language :: Python
+Programming Language :: Python :: 2
+Programming Language :: Python :: 2.6
+Programming Language :: Python :: 2.7
+Programming Language :: Python :: 3
+Programming Language :: Python :: 3.1
+Programming Language :: Python :: 3.2
+Programming Language :: Objective C
+Topic :: Software Development :: Libraries :: Python Modules
+Topic :: Software Development :: User Interfaces
+""".splitlines())
+
+
 def get_os_level():
     pl = plistlib.readPlist('/System/Library/CoreServices/SystemVersion.plist')
     v = pl['ProductVersion']

pyobjc-framework-InstantMessage/setup.py

 setup(
     min_os_level='10.5',
     name='pyobjc-framework-InstantMessage',
-    version="2.3b1",
+    version="2.3",
     description = "Wrappers for the framework InstantMessage on Mac OS X",
     packages = [ "InstantMessage" ],
     install_requires = [ 
-        'pyobjc-core>=2.3b1',
-        'pyobjc-framework-Cocoa>=2.3b1',
-        'pyobjc-framework-Quartz>=2.3b1',
+        'pyobjc-core>=2.3',
+        'pyobjc-framework-Cocoa>=2.3',
+        'pyobjc-framework-Quartz>=2.3',
     ],
 )

pyobjc-framework-InterfaceBuilderKit/pyobjc_setup.py

             sys.path.remove(dirname)
 
         # Actually run the tests
+        if sys.version_info[0] == 2:
+            sys.path.insert(0, rootdir)
+    
         import PyObjCTest
         import unittest
         from pkg_resources import EntryPoint
 import sys
 import __main__
 
+CLASSIFIERS = filter(None,
+"""
+Development Status :: 5 - Production/Stable
+Environment :: Console
+Environment :: MacOS X :: Cocoa
+Intended Audience :: Developers
+License :: OSI Approved :: MIT License
+Natural Language :: English
+Operating System :: MacOS :: MacOS X
+Programming Language :: Python
+Programming Language :: Python :: 2
+Programming Language :: Python :: 2.6
+Programming Language :: Python :: 2.7
+Programming Language :: Python :: 3
+Programming Language :: Python :: 3.1
+Programming Language :: Python :: 3.2
+Programming Language :: Objective C
+Topic :: Software Development :: Libraries :: Python Modules
+Topic :: Software Development :: User Interfaces
+""".splitlines())
+
+
 def get_os_level():
     pl = plistlib.readPlist('/System/Library/CoreServices/SystemVersion.plist')
     v = pl['ProductVersion']

pyobjc-framework-InterfaceBuilderKit/setup.py

 setup(
     min_os_level='10.5',
     name='pyobjc-framework-InterfaceBuilderKit',
-    version="2.3b1",
+    version="2.3",
     description = "Wrappers for the framework InterfaceBuilderKit on Mac OS X",
     packages = [ "InterfaceBuilderKit" ],
     install_requires = [ 
-        'pyobjc-core>=2.3b1',
-        'pyobjc-framework-Cocoa>=2.3b1',
+        'pyobjc-core>=2.3',
+        'pyobjc-framework-Cocoa>=2.3',
     ],
 )

pyobjc-framework-LatentSemanticMapping/pyobjc_setup.py

             sys.path.remove(dirname)
 
         # Actually run the tests
+        if sys.version_info[0] == 2:
+            sys.path.insert(0, rootdir)
+    
         import PyObjCTest
         import unittest
         from pkg_resources import EntryPoint
 import sys
 import __main__
 
+CLASSIFIERS = filter(None,
+"""
+Development Status :: 5 - Production/Stable
+Environment :: Console
+Environment :: MacOS X :: Cocoa
+Intended Audience :: Developers
+License :: OSI Approved :: MIT License
+Natural Language :: English
+Operating System :: MacOS :: MacOS X
+Programming Language :: Python
+Programming Language :: Python :: 2
+Programming Language :: Python :: 2.6
+Programming Language :: Python :: 2.7
+Programming Language :: Python :: 3
+Programming Language :: Python :: 3.1
+Programming Language :: Python :: 3.2
+Programming Language :: Objective C
+Topic :: Software Development :: Libraries :: Python Modules
+Topic :: Software Development :: User Interfaces
+""".splitlines())
+
+
 def get_os_level():
     pl = plistlib.readPlist('/System/Library/CoreServices/SystemVersion.plist')
     v = pl['ProductVersion']

pyobjc-framework-LatentSemanticMapping/setup.py

 setup(
     min_os_level='10.5',
     name='pyobjc-framework-LatentSemanticMapping',
-    version="2.3b1",
+    version="2.3",
     description = "Wrappers for the framework LatentSemanticMapping on Mac OS X",
     packages = [ "LatentSemanticMapping" ],
     install_requires = [ 
-        'pyobjc-core>=2.3b1',
-        'pyobjc-framework-Cocoa>=2.3b1',
+        'pyobjc-core>=2.3',
+        'pyobjc-framework-Cocoa>=2.3',
     ],
 )

pyobjc-framework-LaunchServices/pyobjc_setup.py

             sys.path.remove(dirname)
 
         # Actually run the tests
+        if sys.version_info[0] == 2:
+            sys.path.insert(0, rootdir)
+    
         import PyObjCTest
         import unittest
         from pkg_resources import EntryPoint
 import sys
 import __main__
 
+CLASSIFIERS = filter(None,
+"""
+Development Status :: 5 - Production/Stable
+Environment :: Console
+Environment :: MacOS X :: Cocoa
+Intended Audience :: Developers
+License :: OSI Approved :: MIT License
+Natural Language :: English
+Operating System :: MacOS :: MacOS X
+Programming Language :: Python
+Programming Language :: Python :: 2
+Programming Language :: Python :: 2.6
+Programming Language :: Python :: 2.7
+Programming Language :: Python :: 3
+Programming Language :: Python :: 3.1
+Programming Language :: Python :: 3.2
+Programming Language :: Objective C
+Topic :: Software Development :: Libraries :: Python Modules
+Topic :: Software Development :: User Interfaces
+""".splitlines())
+
+
 def get_os_level():
     pl = plistlib.readPlist('/System/Library/CoreServices/SystemVersion.plist')
     v = pl['ProductVersion']

pyobjc-framework-LaunchServices/setup.py

 for information on how to use this framework and PyObjC's documentation
 for general tips and tricks regarding the translation between Python
 and (Objective-)C frameworks
+
+NOTE: This wrapper is not complete, this will change in a future version.
 '''
 from pyobjc_setup import setup
 
 setup(
     name='pyobjc-framework-LaunchServices',
-    version="2.3b1",
+    version="2.3",
     description = "Wrappers for the framework LaunchServices on Mac OS X",
     packages = [ "LaunchServices" ],
     install_requires = [ 
-        'pyobjc-core>=2.3b1',
-        'pyobjc-framework-Cocoa>=2.3b1',
+        'pyobjc-core>=2.3',
+        'pyobjc-framework-Cocoa>=2.3',
     ],
 )

pyobjc-framework-Message/pyobjc_setup.py

             sys.path.remove(dirname)
 
         # Actually run the tests
+        if sys.version_info[0] == 2:
+            sys.path.insert(0, rootdir)
+    
         import PyObjCTest
         import unittest
         from pkg_resources import EntryPoint
 import sys
 import __main__
 
+CLASSIFIERS = filter(None,
+"""
+Development Status :: 5 - Production/Stable
+Environment :: Console
+Environment :: MacOS X :: Cocoa
+Intended Audience :: Developers
+License :: OSI Approved :: MIT License
+Natural Language :: English
+Operating System :: MacOS :: MacOS X
+Programming Language :: Python
+Programming Language :: Python :: 2
+Programming Language :: Python :: 2.6
+Programming Language :: Python :: 2.7
+Programming Language :: Python :: 3
+Programming Language :: Python :: 3.1
+Programming Language :: Python :: 3.2
+Programming Language :: Objective C
+Topic :: Software Development :: Libraries :: Python Modules
+Topic :: Software Development :: User Interfaces
+""".splitlines())
+
+
 def get_os_level():
     pl = plistlib.readPlist('/System/Library/CoreServices/SystemVersion.plist')
     v = pl['ProductVersion']

pyobjc-framework-Message/setup.py

 from pyobjc_setup import setup
 setup(
     name='pyobjc-framework-Message',
-    version="2.3b1",
+    version="2.3",
     description = "Wrappers for the framework Message on Mac OS X",
     packages = [ "Message" ],
     install_requires = [ 
-        'pyobjc-core>=2.3b1',
-        'pyobjc-framework-Cocoa>=2.3b1',
+        'pyobjc-core>=2.3',
+        'pyobjc-framework-Cocoa>=2.3',
     ],
 )

pyobjc-framework-OpenDirectory/pyobjc_setup.py

             sys.path.remove(dirname)
 
         # Actually run the tests
+        if sys.version_info[0] == 2:
+            sys.path.insert(0, rootdir)
+    
         import PyObjCTest
         import unittest
         from pkg_resources import EntryPoint
 import sys
 import __main__
 
+CLASSIFIERS = filter(None,
+"""
+Development Status :: 5 - Production/Stable
+Environment :: Console
+Environment :: MacOS X :: Cocoa
+Intended Audience :: Developers
+License :: OSI Approved :: MIT License
+Natural Language :: English
+Operating System :: MacOS :: MacOS X
+Programming Language :: Python
+Programming Language :: Python :: 2
+Programming Language :: Python :: 2.6
+Programming Language :: Python :: 2.7
+Programming Language :: Python :: 3
+Programming Language :: Python :: 3.1
+Programming Language :: Python :: 3.2
+Programming Language :: Objective C
+Topic :: Software Development :: Libraries :: Python Modules
+Topic :: Software Development :: User Interfaces
+""".splitlines())
+
+
 def get_os_level():
     pl = plistlib.readPlist('/System/Library/CoreServices/SystemVersion.plist')
     v = pl['ProductVersion']

pyobjc-framework-OpenDirectory/setup.py

 setup(
     min_os_level='10.6',
     name='pyobjc-framework-OpenDirectory',
-    version="2.3b1",
+    version="2.3",
     description = "Wrappers for the framework OpenDirectory on Mac OS X",
     packages = [ "OpenDirectory", "CFOpenDirectory" ],
     install_requires = [ 
-        'pyobjc-core>=2.3b1',
-        'pyobjc-framework-Cocoa>=2.3b1',
+        'pyobjc-core>=2.3',
+        'pyobjc-framework-Cocoa>=2.3',
     ],
 )

pyobjc-framework-PreferencePanes/pyobjc_setup.py

             sys.path.remove(dirname)
 
         # Actually run the tests
+        if sys.version_info[0] == 2:
+            sys.path.insert(0, rootdir)
+    
         import PyObjCTest
         import unittest
         from pkg_resources import EntryPoint
 import sys
 import __main__
 
+CLASSIFIERS = filter(None,
+"""
+Development Status :: 5 - Production/Stable
+Environment :: Console
+Environment :: MacOS X :: Cocoa
+Intended Audience :: Developers
+License :: OSI Approved :: MIT License
+Natural Language :: English
+Operating System :: MacOS :: MacOS X
+Programming Language :: Python
+Programming Language :: Python :: 2
+Programming Language :: Python :: 2.6
+Programming Language :: Python :: 2.7
+Programming Language :: Python :: 3
+Programming Language :: Python :: 3.1
+Programming Language :: Python :: 3.2
+Programming Language :: Objective C
+Topic :: Software Development :: Libraries :: Python Modules
+Topic :: Software Development :: User Interfaces
+""".splitlines())
+
+
 def get_os_level():
     pl = plistlib.readPlist('/System/Library/CoreServices/SystemVersion.plist')
     v = pl['ProductVersion']

pyobjc-framework-PreferencePanes/setup.py

 from pyobjc_setup import *
 setup(
     name='pyobjc-framework-PreferencePanes',
-    version="2.3b1",
+    version="2.3",
     description = "Wrappers for the framework PreferencePanes on Mac OS X",
     packages = [ "PreferencePanes" ],
     install_requires = [ 
-        'pyobjc-core>=2.3b1',
-        'pyobjc-framework-Cocoa>=2.3b1',
+        'pyobjc-core>=2.3',
+        'pyobjc-framework-Cocoa>=2.3',
     ],
 )

pyobjc-framework-PubSub/pyobjc_setup.py

             sys.path.remove(dirname)
 
         # Actually run the tests
+        if sys.version_info[0] == 2:
+            sys.path.insert(0, rootdir)
+    
         import PyObjCTest
         import unittest
         from pkg_resources import EntryPoint
 import sys
 import __main__
 
+CLASSIFIERS = filter(None,
+"""
+Development Status :: 5 - Production/Stable
+Environment :: Console
+Environment :: MacOS X :: Cocoa
+Intended Audience :: Developers
+License :: OSI Approved :: MIT License
+Natural Language :: English
+Operating System :: MacOS :: MacOS X
+Programming Language :: Python
+Programming Language :: Python :: 2
+Programming Language :: Python :: 2.6
+Programming Language :: Python :: 2.7
+Programming Language :: Python :: 3
+Programming Language :: Python :: 3.1
+Programming Language :: Python :: 3.2
+Programming Language :: Objective C
+Topic :: Software Development :: Libraries :: Python Modules
+Topic :: Software Development :: User Interfaces
+""".splitlines())
+
+
 def get_os_level():
     pl = plistlib.readPlist('/System/Library/CoreServices/SystemVersion.plist')
     v = pl['ProductVersion']

pyobjc-framework-PubSub/setup.py

 setup(
     min_os_level='10.5',
     name='pyobjc-framework-PubSub',
-    version="2.3b1",
+    version="2.3",
     description = "Wrappers for the framework PubSub on Mac OS X",
     packages = [ "PubSub" ],
     install_requires = [ 
-        'pyobjc-core>=2.3b1',
-        'pyobjc-framework-Cocoa>=2.3b1',
+        'pyobjc-core>=2.3',
+        'pyobjc-framework-Cocoa>=2.3',
     ],
 )

pyobjc-framework-QTKit/pyobjc_setup.py

             sys.path.remove(dirname)
 
         # Actually run the tests
+        if sys.version_info[0] == 2:
+            sys.path.insert(0, rootdir)
+    
         import PyObjCTest
         import unittest
         from pkg_resources import EntryPoint
 import sys
 import __main__
 
+CLASSIFIERS = filter(None,
+"""
+Development Status :: 5 - Production/Stable
+Environment :: Console
+Environment :: MacOS X :: Cocoa
+Intended Audience :: Developers
+License :: OSI Approved :: MIT License
+Natural Language :: English
+Operating System :: MacOS :: MacOS X
+Programming Language :: Python
+Programming Language :: Python :: 2
+Programming Language :: Python :: 2.6
+Programming Language :: Python :: 2.7
+Programming Language :: Python :: 3
+Programming Language :: Python :: 3.1
+Programming Language :: Python :: 3.2
+Programming Language :: Objective C
+Topic :: Software Development :: Libraries :: Python Modules
+Topic :: Software Development :: User Interfaces
+""".splitlines())
+
+
 def get_os_level():
     pl = plistlib.readPlist('/System/Library/CoreServices/SystemVersion.plist')
     v = pl['ProductVersion']

pyobjc-framework-QTKit/setup.py

 
 setup(
     name='pyobjc-framework-QTKit',
-    version="2.3b1",
+    version="2.3",
     description = "Wrappers for the framework QTKit on Mac OS X",
     packages = [ "QTKit" ],
     install_requires = [ 
-        'pyobjc-core>=2.3b1',
-        'pyobjc-framework-Cocoa>=2.3b1',
-        'pyobjc-framework-Quartz>=2.3b1',
+        'pyobjc-core>=2.3',
+        'pyobjc-framework-Cocoa>=2.3',
+        'pyobjc-framework-Quartz>=2.3',
     ],
 )

pyobjc-framework-Quartz/pyobjc_setup.py

             sys.path.remove(dirname)
 
         # Actually run the tests
+        if sys.version_info[0] == 2:
+            sys.path.insert(0, rootdir)
+    
         import PyObjCTest
         import unittest
         from pkg_resources import EntryPoint
 import sys
 import __main__
 
+CLASSIFIERS = filter(None,
+"""
+Development Status :: 5 - Production/Stable
+Environment :: Console
+Environment :: MacOS X :: Cocoa
+Intended Audience :: Developers
+License :: OSI Approved :: MIT License
+Natural Language :: English
+Operating System :: MacOS :: MacOS X
+Programming Language :: Python
+Programming Language :: Python :: 2
+Programming Language :: Python :: 2.6
+Programming Language :: Python :: 2.7
+Programming Language :: Python :: 3
+Programming Language :: Python :: 3.1
+Programming Language :: Python :: 3.2
+Programming Language :: Objective C
+Topic :: Software Development :: Libraries :: Python Modules
+Topic :: Software Development :: User Interfaces
+""".splitlines())
+
+
 def get_os_level():
     pl = plistlib.readPlist('/System/Library/CoreServices/SystemVersion.plist')
     v = pl['ProductVersion']

pyobjc-framework-Quartz/setup.py

 
 setup(
     name='pyobjc-framework-Quartz',
-    version="2.3b1",
+    version="2.3",
     description = "Wrappers for the Quartz frameworks on Mac OS X",
     packages = [ "Quartz" ] + subpackages,
     install_requires = [ 
-        'pyobjc-core>=2.3b1',
-        'pyobjc-framework-Cocoa>=2.3b1',
+        'pyobjc-core>=2.3',
+        'pyobjc-framework-Cocoa>=2.3',
     ],
     ext_modules = [
         # CoreVideo

pyobjc-framework-ScreenSaver/pyobjc_setup.py

             sys.path.remove(dirname)
 
         # Actually run the tests
+        if sys.version_info[0] == 2:
+            sys.path.insert(0, rootdir)
+    
         import PyObjCTest
         import unittest
         from pkg_resources import EntryPoint
 import sys
 import __main__
 
+CLASSIFIERS = filter(None,
+"""
+Development Status :: 5 - Production/Stable
+Environment :: Console
+Environment :: MacOS X :: Cocoa
+Intended Audience :: Developers
+License :: OSI Approved :: MIT License
+Natural Language :: English
+Operating System :: MacOS :: MacOS X
+Programming Language :: Python
+Programming Language :: Python :: 2
+Programming Language :: Python :: 2.6
+Programming Language :: Python :: 2.7
+Programming Language :: Python :: 3
+Programming Language :: Python :: 3.1
+Programming Language :: Python :: 3.2
+Programming Language :: Objective C
+Topic :: Software Development :: Libraries :: Python Modules
+Topic :: Software Development :: User Interfaces
+""".splitlines())
+
+
 def get_os_level():
     pl = plistlib.readPlist('/System/Library/CoreServices/SystemVersion.plist')
     v = pl['ProductVersion']

pyobjc-framework-ScreenSaver/setup.py

 
 setup(
     name='pyobjc-framework-ScreenSaver',
-    version="2.3b1",
+    version="2.3",
     description = "Wrappers for the framework ScreenSaver on Mac OS X",
     packages = [ "ScreenSaver" ],
     install_requires = [ 
-        'pyobjc-core>=2.3b1',
-        'pyobjc-framework-Cocoa>=2.3b1',
+        'pyobjc-core>=2.3',
+        'pyobjc-framework-Cocoa>=2.3',
     ],
     ext_modules = [
         Extension('ScreenSaver._inlines',

pyobjc-framework-ScriptingBridge/pyobjc_setup.py

             sys.path.remove(dirname)
 
         # Actually run the tests
+        if sys.version_info[0] == 2:
+            sys.path.insert(0, rootdir)
+    
         import PyObjCTest
         import unittest
         from pkg_resources import EntryPoint
 import sys
 import __main__
 
+CLASSIFIERS = filter(None,
+"""
+Development Status :: 5 - Production/Stable
+Environment :: Console
+Environment :: MacOS X :: Cocoa
+Intended Audience :: Developers
+License :: OSI Approved :: MIT License
+Natural Language :: English
+Operating System :: MacOS :: MacOS X
+Programming Language :: Python
+Programming Language :: Python :: 2
+Programming Language :: Python :: 2.6
+Programming Language :: Python :: 2.7
+Programming Language :: Python :: 3
+Programming Language :: Python :: 3.1
+Programming Language :: Python :: 3.2
+Programming Language :: Objective C
+Topic :: Software Development :: Libraries :: Python Modules
+Topic :: Software Development :: User Interfaces
+""".splitlines())
+
+
 def get_os_level():
     pl = plistlib.readPlist('/System/Library/CoreServices/SystemVersion.plist')
     v = pl['ProductVersion']

pyobjc-framework-ScriptingBridge/setup.py

 setup(
     min_os_level='10.5',
     name='pyobjc-framework-ScriptingBridge',
-    version="2.3b1",
+    version="2.3",
     description = "Wrappers for the framework ScriptingBridge on Mac OS X",
     packages = [ "ScriptingBridge" ],
     install_requires = [ 
-        'pyobjc-core>=2.3b1',
-        'pyobjc-framework-Cocoa>=2.3b1',
+        'pyobjc-core>=2.3',
+        'pyobjc-framework-Cocoa>=2.3',
     ],
 )

pyobjc-framework-SearchKit/pyobjc_setup.py

             sys.path.remove(dirname)
 
         # Actually run the tests
+        if sys.version_info[0] == 2:
+            sys.path.insert(0, rootdir)
+    
         import PyObjCTest
         import unittest
         from pkg_resources import EntryPoint
 import sys
 import __main__
 
+CLASSIFIERS = filter(None,
+"""
+Development Status :: 5 - Production/Stable
+Environment :: Console
+Environment :: MacOS X :: Cocoa
+Intended Audience :: Developers
+License :: OSI Approved :: MIT License
+Natural Language :: English
+Operating System :: MacOS :: MacOS X
+Programming Language :: Python
+Programming Language :: Python :: 2
+Programming Language :: Python :: 2.6
+Programming Language :: Python :: 2.7
+Programming Language :: Python :: 3
+Programming Language :: Python :: 3.1
+Programming Language :: Python :: 3.2
+Programming Language :: Objective C
+Topic :: Software Development :: Libraries :: Python Modules
+Topic :: Software Development :: User Interfaces
+""".splitlines())
+
+
 def get_os_level():
     pl = plistlib.readPlist('/System/Library/CoreServices/SystemVersion.plist')
     v = pl['ProductVersion']

pyobjc-framework-SearchKit/setup.py

 for information on how to use this framework and PyObjC's documentation
 for general tips and tricks regarding the translation between Python
 and (Objective-)C frameworks
+
+NOTE: These wrappers are pretty fragile, sadly enough not all run-time
+information that needed to build reliable wrappers is exported from 
+the framework.
 '''
 from pyobjc_setup import setup
 
 setup(
     min_os_level='10.5',
     name='pyobjc-framework-SearchKit',
-    version="2.3b1",
+    version="2.3",
     description = "Wrappers for the framework SearchKit on Mac OS X",
     packages = [ "SearchKit" ],
     install_requires = [ 
-        'pyobjc-core>=2.3b1',
-        'pyobjc-framework-Cocoa>=2.3b1',
+        'pyobjc-core>=2.3',
+        'pyobjc-framework-Cocoa>=2.3',
     ],
 )

pyobjc-framework-ServerNotification/pyobjc_setup.py

             sys.path.remove(dirname)
 
         # Actually run the tests
+        if sys.version_info[0] == 2:
+            sys.path.insert(0, rootdir)
+    
         import PyObjCTest
         import unittest
         from pkg_resources import EntryPoint
 import sys
 import __main__
 
+CLASSIFIERS = filter(None,
+"""
+Development Status :: 5 - Production/Stable
+Environment :: Console
+Environment :: MacOS X :: Cocoa
+Intended Audience :: Developers
+License :: OSI Approved :: MIT License
+Natural Language :: English
+Operating System :: MacOS :: MacOS X
+Programming Language :: Python
+Programming Language :: Python :: 2
+Programming Language :: Python :: 2.6
+Programming Language :: Python :: 2.7
+Programming Language :: Python :: 3
+Programming Language :: Python :: 3.1
+Programming Language :: Python :: 3.2
+Programming Language :: Objective C
+Topic :: Software Development :: Libraries :: Python Modules
+Topic :: Software Development :: User Interfaces
+""".splitlines())
+
+
 def get_os_level():
     pl = plistlib.readPlist('/System/Library/CoreServices/SystemVersion.plist')
     v = pl['ProductVersion']

pyobjc-framework-ServerNotification/setup.py

 setup(
     min_os_level='10.6',
     name='pyobjc-framework-ServerNotification',
-    version="2.3b1",
+    version="2.3",
     description = "Wrappers for the framework ServerNotification on Mac OS X",
     packages = [ "ServerNotification" ],
     install_requires = [ 
-        'pyobjc-core>=2.3b1',
-        'pyobjc-framework-Cocoa>=2.3b1',
+        'pyobjc-core>=2.3',
+        'pyobjc-framework-Cocoa>=2.3',
     ],
 )

pyobjc-framework-ServiceManagement/pyobjc_setup.py

             sys.path.remove(dirname)
 
         # Actually run the tests
+        if sys.version_info[0] == 2:
+            sys.path.insert(0, rootdir)
+    
         import PyObjCTest
         import unittest
         from pkg_resources import EntryPoint
 import sys
 import __main__
 
+CLASSIFIERS = filter(None,
+"""
+Development Status :: 5 - Production/Stable
+Environment :: Console
+Environment :: MacOS X :: Cocoa
+Intended Audience :: Developers
+License :: OSI Approved :: MIT License
+Natural Language :: English
+Operating System :: MacOS :: MacOS X
+Programming Language :: Python
+Programming Language :: Python :: 2
+Programming Language :: Python :: 2.6
+Programming Language :: Python :: 2.7
+Programming Language :: Python :: 3
+Programming Language :: Python :: 3.1
+Programming Language :: Python :: 3.2
+Programming Language :: Objective C
+Topic :: Software Development :: Libraries :: Python Modules
+Topic :: Software Development :: User Interfaces
+""".splitlines())
+
+
 def get_os_level():
     pl = plistlib.readPlist('/System/Library/CoreServices/SystemVersion.plist')
     v = pl['ProductVersion']