Python is my current programming language of choice, and one at which I have already become quite proficient. I am, however, not shy of using something else if it is better suited for the task.
It is also one of the main contributors to my occasional rants on the utter lack of an universal system scripting language.
My Stuff:
- Yaki, which will probably never be completely finished.
- MailArchive, a quick hack to file web pages as MIME-compliant e-mail messages.
- Growl native protocol implementation and proxy.
- PicoRendezvous.py, a minimalist (and dumb) Bonjour/Rendezvous client.
- PNGCanvas, a native Python PNG creation module.
- PicoStats, a minimalist Apache log parser.
Stuff I Help Out With:
- The Python Grimoire, which I converted into TiddlyWiki format
- newspipe, which I use daily and occasionally contribute to.
IDEs:
- Integrated Development Environments at the Python Info Wiki (there's also a listing of Python-aware editors).
- Movable Python - integrates with SPE for a completely standalone development environment.
- Intro to using PyObjC with Xcode
- IPython - interactive shell
- MacPython - Mac OS X GUI editor/debugger
- PythonCard
- Boa Constructor
Testing Aids:
- Testosterone, a testing framework with a great screencast
- Pycallgraph, which can generate a program flow graph via Graphviz.
Web Application Frameworks
- Draco
- medusa
- CherryPy
- Karrigell
- Twisted
- Snakelets - minimalistic app server, my current web platform of choice.
Web UI Toolkits
- pyjamas, a Python port of Google's web toolkit
Database Libraries:
Resources:
- The state of Python XML in 2004 - a useful guide to XML processing resources
- winGuiAuto.py
- VPython - 3D/OpenGL libraries for quick visualization.
Mac OS X-specific Stuff:
- Using Python with Quartz 2D on Mac OS X - an intro to the developer samples that have shipped with Xcode for a good while now
- Learn Python, Daniel Jalkut's integrated tutorial browser and Python prompt.
- The PyObjC bridge (intro article, notes)
- Python Metadata Importer - for Spotlight
- BundleBuilder - to build standalone Mac OS X app bundles
- Mac OS X Preferences
- AppScript - AppleScript bindings.
- StartCocoa - Python and Cocoa
Windows:
GUI Toolkits:
PDF:
- PyPdf, a PDF toolkit
- Kiva, a DisplayPDF library.
- ReportLab Toolkit, a pure Python PDF library that includes a presentation tool.
Motion Tracking:
Parsing/Text Processing:
- cssutils, a CSS Cascading Style Sheets parser and library for Python
- pygments, a Python syntax highlighter able to handle multiple nested languages.
- Ludicrously Simple Templates
- mxTidy
Web Servers:
- FAPWS, a very fast asynchronous web server with a small codebase.
Unsorted:
- How to Write a Spelling Corrector - an interesting technique that can come in handy to fix/suggest search terms, etc.
- telnetscript, a simple module to do scripted telnet sessions.
- geopy, an amazingly flexible geocoding library.
- Mechanize, a programmatic web browser for screen scraping.
- Shed Skin, a Python-to-C++ compiler.
- Movable Python - runs off a USB disk.
- PuSSH - SSH wrapper
- dpkt - packet creation and parsers
- a Python sidebar for Mozilla
- POP - a POP3 class with neat semantics
- PyRendezvous - neat little Rendezvous module
- Debugging in Python
- Dive Into Python
- Pydoc - built-in Web help, anytime, anywhere
- vim integration
- Distributing Python Apps
- Pcapy - a packet manipulation library
- Python extension for PHP (embed Python code in PHP scripts using a PECL extension)
- simple non-blocking HTTP server
Snippets:
Getting libxml2 bindings on Panther:
This pythonmac-sig post seems to do the trick, although the fact that Fink also doesn't do this properly when recompiling Python and libxml2 from source is somewhat annoying.
If you don't use Fink and need a newer libxml2, compiling with this:
./configure --with-python=/System/Library/Frameworks/Python.framework/Versions/2.3/
...should also work.
Instant Web Server on port 8000:
#!/bin/sh
python -c '__import__("SimpleHTTPServer").test()'
Libraries:
- Tftpy a pure Python TFTP library, useful for implementing UDP file transfer testbeds.
- PyOSD - X-centric on-screen display library.
- SciPy - scientific (including plotting) libraries for Python. Most impressive.
- Skip's Python Bits - lots of useful snippets
- Gnosis Utilities - all sorts of XML goodies.
- lxml, a different libxml binding.
- BeautifulSoup, an HTML parser for screen-scraping.
- Appscript, an AppleScript bridge
- PythonCard - for simple GUI apps
- pygame, a game-oriented library with SDL support
- IPy, an IP address manipulation library.