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.
Resources
| Category | Date | Link | Notes |
|---|---|---|---|
| Libraries | Apr 21 | pygooglechart | A nice Google Chart wrapper. |
| Apr 19 | Whoosh | A pure Python indexing and searching library with a built-in spellchecker | |
| Mar 29 | argparse | A nice command-line argument parser library | |
| Techniques | Dec 5 | The Python IAQ: Infrequently Answered Questions | some useful tidbits |
| Mar 15 | stored_result() | automatic serialization of expensive calculations by wrapping the functions that perform them | |
| Testing Aids | Older | Testosterone | a testing framework with a great screencast |
| Pycallgraph | generate a program flow graph via Graphviz |
IDEs:
- IronPythonStudio brilliant Windows IDE based on the Visual Studio runtime engine
- 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
Resources:
- The state of Python XML in 2004 – a useful guide to XML processing resources
- Debugging in Python
- Dive Into Python
Mac OS X specific Stuff:
- An Epic Introduction to PyObjC and Cocoa
- PyObjC Resources – quite a few bits of sample code.
- pymacadmin – interfaces to the Keychain and other niceties
- 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 OS X app bundles
- Mac OS X Preferences
- AppScript – AppleScript bindings.
- StartCocoa – Python and Cocoa
Windows:
Libraries:
Database:
GUI Stuff:
- PythonCard
- PyOSD – X -centric on-screen display library.
- winGuiAuto.py
- VPython – 3D / OpenGL libraries for quick visualization.
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
Networking:
- RPyC, an awesome RPC library
- ftputil, a high-level interface to the
ftplibmodule - Tftpy a pure Python TFTP library, useful for implementing UDP file transfer testbeds.
- telnetscript, a simple module to do scripted telnet sessions.
- FAPWS, a very fast asynchronous web server with a small codebase.
- simple non-blocking HTTP server
- PuSSH – SSH wrapper
- dpkt – packet creation and parsers
- POP – a POP3 class with neat semantics
- Pcapy – a packet manipulation library
- PyRendezvous – neat little Rendezvous module
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
- Gnosis Utilities – all sorts of XML goodies.
- lxml , a different
libxmlbinding. - BeautifulSoup , an HTML parser for screen-scraping.
- Mechanize, a programmatic web browser for screen scraping.
- How to Write a Spelling Corrector – an interesting technique that can come in handy to fix/suggest search terms, etc.
Plotting
- Graphite, a real-time graphing system similar to RRDTool.
- SciPy – scientific (including plotting) libraries for Python. Most impressive.
- Skip’s Python Bits – lots of useful snippets
- PythonCard – for simple GUI apps
- pygame , a game-oriented library with SDL support
- IPy , an IP address manipulation library.
PDF:
- PDFMiner a parser and text renderer that can identify location of text on a page and do basic rendering to HTML.
- PyPdf, a PDF toolkit
- Kiva, a Display PDF library.
- ReportLab Toolkit, a pure Python PDF library that includes a presentation tool.
Motion Tracking:
Unsorted:
- daemon.py, an example daemon script.
- xlwt, a library to parse Excel documents (cheatsheet), now documented here
- geopy, an amazingly flexible geocoding library.
- Movable Python – runs off a USB disk.
- a Python sidebar for Mozilla
- Pydoc – built-in Web help, anytime, anywhere
- vim integration
- Distributing Python Apps
- Python extension for PHP (embed Python code in PHP scripts using a PECL extension)
Notes:
Instant Web Server on port 8000:
#!/bin/sh
python -c '__import__("SimpleHTTPServer").test()'
or…
python -c "import SimpleHTTPServer;SimpleHTTPServer.test()"
Totally Unrelated:
- Estimating the Airspeed of an Unladen Swallow (which has nothing to do with the new LLVM project)
