Python Stuff


Support the development of py2app, xattr, etc.:

simplejson 02/28/2012
simplejson is a simple, fast, extensible JSON encoder/decoder for Python

simplejson is compatible with Python 2.6 and later with no external dependencies. It covers the full JSON specification for both encoding and decoding, with unicode support. By default, encoding is done in an encoding neutral fashion (plain ASCII with \uXXXX escapes for unicode characters).

The encoder may be subclassed to provide serialization in any kind of situation, without any special support by the objects to be serialized (somewhat like pickle).

The decoder can handle incoming JSON strings of any specified encoding (UTF-8 by default).

simplejson is the externally maintained development version of the json library included with Python 2.6 and Python 3.0, but maintains backwards compatibility with Python 2.5.

links
documentation (master)
github
simplejson 2.3.3 source
bookmarks
JSON.org
simplejson - Github
Python Package Index : simplejson

py2app 3/5/2007
A distutils extension which converts python scripts into executable Mac OS X applications, able to run without requiring an existing Python installation. This is a replacement for bundlebuilder. Installation instructions are in the
documentation.

links
py2app on Package Index
py2app trac
py2app svn trunk
documentation (for trunk)
bookmarks
py2exe
cx_Freeze
setuptools
distutils

bdist_mpkg 7/19/2006
bdist_mpkg is a distutils plugin that implements the bdist_mpkg command, which builds a Mac OS X metapackage for use by Installer.app for easy GUI installation of Python modules, much like bdist_wininst. It also comes with a bdist_mpkg script, which is a setup.py front-end that will allow you to easy build an installer metapackage from nearly any existing package that uses distutils.

links
bdist_mpkg on Package Index
bdist_mpkg trac
bdist_mpkg svn trunk
bookmarks

modulegraph 7/19/2006
modulegraph determines a dependency graph between Python modules primarily by bytecode analysis for import statements. modulegraph uses similar methods to modulefinder from the standard library, but uses a more flexible internal representation, has more extensive knowledge of special cases, and is extensible.

links
modulegraph on Package Index
modulegraph trac
modulegraph svn trunk
bookmarks

macholib 7/19/2006
macholib can be used to analyze and edit Mach-O headers, the executable format used by Mac OS X. It's typically used as a dependency analysis tool, and also to rewrite dylib references in Mach-O headers to be @executable_path relative. Though this tool targets a platform specific file format, it is pure python code that is platform and endian independent.

links
macholib on Package Index
macholib trac
macholib svn trunk
bookmarks

altgraph 7/19/2006
altgraph is a fork of graphlib: a graph (network) package for constructing graphs, BFS and DFS traversals, topological sort, shortest paths, etc. with graphviz output.

links
altgraph on Package Index
altgraph trac
altgraph svn trunk
bookmarks

TigerPython23Compat 5/2/2005
The installation of Python 2.3.5 that ships with Mac OS X 10.4 (Tiger) has a "site-packages" directory of /Library/Python/2.3/site-packages, where it was previously just /Library/Python/2.3 on Mac OS X 10.3's Python 2.3.0.

TigerPython23Compat installs a .pth file that adds Mac OS X 10.3's "site-packages" location as a site directory, so that you may install and use extensions built for that environment.

links
pythonmac.org packages (installer available here)

greenlet 1/9/2006
Lightweight in-process concurrent programming

(This is the py.magic.greenlet module from the py lib, made standalone)

The "greenlet" package is a spin-off of Stackless, a version of CPython that supports micro-threads called "tasklets". Tasklets run pseudo-concurrently (typically in a single or a few OS-level threads) and are synchronized with data exchanges on "channels".

A "greenlet", on the other hand, is a still more primitive notion of micro-thread with no implicit scheduling; coroutines, in other words. This is useful when you want to control exactly when your code runs. You can build custom scheduled micro-threads on top of greenlet; however, it seems that greenlets are useful on their own as a way to make advanced control flow structures. For example, we can recreate generators; the difference with Python's own generators is that our generators can call nested functions and the nested functions can yield values too. Additionally, you don't need a "yield" keyword. See the example in test_generator.py.

Greenlets are provided as a C extension module for the regular unmodified interpreter.

links
svn trunk
bookmarks
Python Package Index : greenlet
py lib
py.magic.greenlet documentation

flashticle 1/3/2006
flashticle reads and writes Macromedia Flash data formats

Flashticle is an extensible suite of serializers and deserializers for data formats related to Macromedia Flash.

The following formats are currently supported:

- AMF: Action Message Format
- SOL: Local SharedObject files
- FLV: Flash Video
- SWF: Flash (partial support)

There is also a prototype Flash Remoting gateway implementation for TurboGears (that could be trivially adapted to raw CherryPy) in flashticle.turbogateway

links
svn trunk
bookmarks
Python Package Index : flashticle
flashticle wiki
TurboGears
CherryPy

xattr 8/17/2011
xattr is a Python wrapper for Darwin, Linux, and FreeBSD extended filesystem attributes

Extended attributes extend the basic attributes of files and directories in the file system. They are stored as name:data pairs associated with file system objects (files, directories, symlinks, etc).

Extended attributes are currently only available on Darwin 8.0+ (Mac OS X 10.4), Linux 2.6+, FreeBSD 5.1+

links
announcement (more details)
github
xattr 0.6.2 source
bookmarks
python.org
Python Package Index : xattr

pythonmac.org packages 3/31/2005
Pre-built Python packages for Mac OS X, using py2app's bdist_mpkg command. These are Apple installer packages, that do not use PackageManager / pimp. The current focus for packages is Python 2.4 on Mac OS X 10.3+, but most of them are also built for the Python 2.3.0 that ships with Mac OS X 10.3, with a few available for Python 2.3 on Mac OS X 10.2.

links
packages the list of packages

pythonmac.org 9/25/2003
Website for Mac OS X Python users and developers (wiki and links).

links
pythonmac.org
wiki

SystemConfiguration 10/19/2003
SystemConfiguration is an ObjC wrapper for Apple's SystemConfiguration API that can easily be used from Python via PyObjC. This API lets you read, subscribe to, and publish settings such as network configuration and battery level.

links
SystemConfiguration-0.3.tar.gz
SystemConfiguration wiki
0.1 announcement
bookmarks
Network Configuration, Connection, and Reachability
MoreSCF
QA1234 - Accessing HTTPS Proxy Settings

PyQTSequence 10/15/2003
PyQTSequence is a PyObjC application that takes a sequence if images and turns them into a QuickTime movie with whatever QuickTime supported compression you want. Note that it uses its own version of the QuickTime bgen wrapper, because I had to add some functionality to what Jack has in Python 2.3. I'm sure these changes will make it into Python eventually, but they're not in there yet. The source distribution requires Developer Tools, Python 2.3, PIL, PyObjC. The app is standalone and should run on MacOS X 10.2 and later. It's also got a nifty little PIL codec that'll decode SoftImage lossless frames. Note that due to some inconveniences with regard to QuickTime, Python, and PIL it's not a speed demon, but it's convenient, and might be the best way to work with SoftImage lossless sequences.
links
PyQTSequence.app-0.1.tgz (standalone app)
PyQTSequence-0.1.tgz (source)
bookmarks
QuickTime
Python Imaging Library (PIL)
Numerical Python
PyObjC


Authorization 10/13/2003
Authorization is a Python wrapper for Apple's Authorization API. Basically, it allows you to spawn arbitrary processes as root after successfully authenticating as an administrator. This is useful for installers, twiddling kernel settings (via sysctl or the like), etc.

links
Authorization-0.1.tar.gz
Authorization wiki
Authorization Documentation (pydoc)
0.1 announcement
bookmarks
Authorization Services Reference
Performing Privileged Operations With Authorization Services

TECManager 09/29/2003
Pythonic wrapper for the Text to Unicode functionality of Text Encoding Conversion Manager. It's now a full codec bridge between Python unicode and the proprietary Apple character sets.

links
TECManager-0.2.tar.gz
TECManager Documentation (pydoc)
0.1 announcement
bookmarks
Text Encoding Conversion Manager Reference
Programming With The Text Encoding Conversion Manager

gzstream 08/04/2003
gzstream.py is an example of how one could do streaming gzip/gunzip using Twisted (or otherwise, but it's built for Twisted). This code uses generators, so it requires at least Python 2.2.

links
twisted_gzstream.tgz
bookmarks
zlib library
zlib module
Twisted

Please note that I do not provide any support whatsoever for versions of Python prior to 2.3, or versions of Mac OS prior to 10.2. At all, don't bother asking. Seriously.

bob@redivi.com