19:38, April 28, 2011
I’ve been doing a lot of work on two Python package tracking libraries lately:
I’ve got one app right now that does package tracking, and a future website I’m working on will need to do this, so I started looking for some useful code already done. Naturally there were a lot of semi-working or partly started things out there.
Python-fedex does work pretty well, after fixing a bug or two. Packagetrack is a wrapper for FedEx, UPS, and USPS package tracking, that uses the individual APIs and provides a generic result object with common fields, so you can basically just not care what sort of tracking number you have. It also returns objects that inherit from dict so I can use it to make JSON objects for web stuff later.
One thing that sucks is that the docs on how to use the shippers APIs are pretty overcomplicated. But then, isn’t that the case for most API docs? Good reading if you want to fall asleep, but frustrating when you want to actually get Real Work done.
I’m amused actually, since this is the first time in a LONG while that I’ve contributed to a public project. Nearly all of my work has been either for-hire (and thus proprietary), or so specific to my personal needs that there isn’t any point in cleaning it up for release. I’m enjoying this, even if in this case I’ve had to learn how to use git.