Monday, July 7, 2008

Python Entry Points

What are entry points? Entry points are a way to expose Python objects to other Python packages on a given system. See the PEAK documentation for a detailed reference. Other Python packages can iterate through various groups of entry points, and if your package has defined an entry point within this group, the entry point is dealt with polymorphically.

This is a good way to "glue" Python applications together. If your Python package consumes entry points, you should document the interfaces that are required by all the entry points your package may encounter. This way, other developers can implement packages with entry points that conform to your entry point requirements. Once this is complete, all they need to do is install their package. Thats it. The consuming package knows where to look.

Whats missing is a GUI front-end or a command line utility that will query and display the various entry points on any given system. Another, and more importantly, missing piece of the puzzle is a front-end Python package manager.