MacPython Logo from __future__ import *

buy music albums Silver Apples buy mp3 albums Tarrus Riley buy tracks mp3 Kravits buy Reaper albums mp3 buy Kravits albums music buy music Evita CD online albums mp3 Silver Apples download Madonna CD music buy tracks music Kravits download music albums Silver Apples

2004-12-31

PyObjC at PyCon 2005

Filed under: PyCon, PyObjC, python — bob @ 4:20 am

I went ahead and submitted my two 30min proposals for PyCon 2005, hopefully both will be accepted!

Introduction to PyObjC:

Introduction to PyObjC is a quick tour of PyObjC suitable for anyone with Python experience looking to get their feet wet with Cocoa development using their programming language of choice. Prior Objective-C knowledge or Interface Builder experience is not necessary.

PyObjC Hacking:

PyObjC Hacking is a quick tour of advanced uses for PyObjC and related tools. This talk is geared toward those who have a working knowledge of PyObjC (or at least attended Introduction to PyObjC) and ideally understand data structures at the C level.

ANN: py2app 0.1.7

Filed under: PyObjC, py2app, python — bob @ 12:28 am

py2app is the bundlebuilder replacement we've all been waiting for. It is implemented as a distutils command, similar to py2exe, that builds Mac OS X applications from Python scripts, extensions, and related data files. It tries very hard to include all dependencies it can find so that your application can be distributed standalone, as Mac OS X applications should be.

py2app 0.1.7 is included in the installer for PyObjC 1.2. If you have installed PyObjC 1.2, then you already have py2app 0.1.7 installed.

Download and related links are here: http://undefined.org/python/#py2app

py2app 0.1.7 is a bug fix release:

  • The bdist_mpkg script will now set up sys.path properly, for setup scripts that require local imports.
  • bdist_mpkg will now correctly accept ReadMe, License, Welcome, and background files by parameter.
  • bdist_mpkg can now display a custom background again (0.1.6 broke this).
  • bdist_mpkg now accepts a build-base= argument, to put build files in an alternate location.
  • py2app will now accept main scripts with a .pyw extension.
  • py2app's not_stdlib_filter will now ignore a site-python directory as well as site-packages.
  • py2app's plugin bundle template no longer displays GUI dialogs by default, but still links to AppKit.
  • py2app now ensures that the directory of the main script is now added to sys.path when scanning modules.
  • The py2app build command has been refactored such that it would be easier to change its behavior by subclassing.
  • py2app alias bundles can now cope with editors that do atomic saves (write new file, swap names with existing file).
  • macholib now has minimal support for fat binaries. It still assumes big endian and will not make any changes to a little endian header.
  • Add a warning message when using the install command rather than installing from a package.
  • New simple/structured example that shows how you could package an application that is organized into several folders.
  • New PyObjC/pbplugin Xcode Plug-In example.

Since I have been slacking and the last announcement was for 0.1.4, here are the changes for the soft-launched releases 0.1.5 and 0.1.6:

py2app 0.1.6 was a major feature enhancements release:

  • py2applet and bdist_mpkg scripts have been moved to Python modules so that the functionality can be shared with the tools.
  • Generic graph-related functionality from py2app was moved to altgraph.ObjectGraph and altgraph.GraphUtil.
  • bdist_mpkg now outputs more specific plist requirements (for future compatibility).
  • py2app can now create plugin bundles (MH_BUNDLE) as well as executables.
  • New recipe for supporting extensions built with sip, such as PyQt. Note that due to the way that sip works, when one sip-based extension is used, all sip-based extensions are included in your application. In practice, this means anything provided by Riverbank, I don't think anyone else uses sip (publicly).
  • New recipe for PyOpenGL. This is very naive and simply includes the whole thing, rather than trying to monkeypatch their brain-dead version acquisition routine in __init__.
  • Bootstrap now sets ARGVZERO and EXECUTABLEPATH environment variables, corresponding to the argv[0] and the _NSGetExecutablePath(...) that the bundle saw. This is only really useful if you need to relaunch your own application.
  • More correct dyld search behavior.
  • Refactored macholib to use altgraph, can now generate GraphViz graphs and more complex analysis of dependencies can be done.
  • macholib was refactored to be easier to maintain, and the structure handling has been optimized a bit.
  • The few tests that there are were refactored in py.test style.
  • New PyQt example.
  • New PyOpenGL example.
  • See also:

py2app 0.1.5 was a major feature enhancements release:

  • Added a bdist_mpkg distutils extension, for creating Installer an metapackage from any distutils script.
    • Includes PackageInstaller tool
    • bdist_mpkg script
    • setup.py enhancements to support bdist_mpkg functionality
  • Added a PackageInstaller tool, a droplet that performs the same function as the bdist_mpkg script.
  • Create a custom bdist_mpkg subclass for py2app's setup script.
  • Source package now includes PJE's setuptools extension to distutils.
  • Added lots of metadata to the setup script.
  • py2app.modulegraph is now a top-level package, modulegraph.
  • py2app.find_modules is now modulegraph.find_modules.
  • Should now correctly handle paths (and application names) with unicode characters in them.
  • New --strip option for py2app build command, strips all Mach-O files in output application bundle.
  • New --bdist-base= option for py2app build command, allows an alternate build directory to be specified.
  • New docutils recipe.
  • Support for non-framework Python, such as the one provided by DarwinPorts.
  • See also:

2004-12-30

Extending VoodooPad with PyObjC

Filed under: PyObjC, python — bob @ 3:13 pm

Gus Mueller demonstrates how easy it is to write a VoodooPad plugin using the new features of PyObjC 1.2.

2004-12-29

PyObjC 1.2 Released!

Filed under: PyObjC, py2app, python — bob @ 11:45 pm

PyObjC 1.2 is finally out the door, accompanied by py2app 0.1.7!

I haven't yet collected the list of new features and bug fixes for py2app, but check out the PyObjC NEWS.

Note that the PyObjC installers will also install py2app!

reStructuredText and WordPress

Filed under: docutils, python — bob @ 11:44 pm

Well, I've installed WordPress, because it was a lot easier than anything else that can use reStructuredText. I'm using a slightly modified version of this plugin. Hopefully I'll be able to whip together some quick scripts to import all of the entries from the old PyDS (ughh) blog and post them here, probably with the XML-RPC interface.

This post was written with MarsEdit 1.0, but I would like something that understands reStructuredText in the future. Maybe a future version will allow me to write a PyObjC plugin that gives it this support?

Powered by WordPress