([Gentoo 194499](http://bugs.gentoo.org/194499))
- dev-python/curses-check-for-keypress
(my [[curses_check_for_keypress]] package)
+- dev-python/django-tables2
+ ([django-tables2](https://github.com/bradleyayers/django-tables2/))
- dev-python/FFT-tools
(my [[FFT-tools]] wrappers)
- dev-python/geopy
([geopy](http://www.geopy.org/))
+- dev-python/geopy
+ ([geopy](http://www.geopy.org/))
+- dev-python/pymodbus
+ ([pymodbus](http://code.google.com/p/pymodbus/))
+- deb-python/pypid
+ (my [[pypid]] PID controller package)
- dev-python/splittable-kwargs
(my [[splittable_kwargs]] package)
- dev-tex/draftmark
- media-gfx/metacam
([Gentoo 65200](http://bugs.gentoo.org/65200), but I suggest you use
`media-gfx/exif` if you don't need `metacam`'s special decoding)
+- media-libs/aubio
+ (work around Python 2.7 issues in [aubio](http://aubio.org/) by
+ using the development trunk)
- media-sound/abcmidi
([Gentoo 76017](http://bugs.gentoo.org/76017),
also in the [Sunrise overlay][])
--- /dev/null
+[[!meta title="pypid"]]
+[[!template id=gitrepo repo=pypid]]
+
+I've just finished rewriting my [PID][] temperature control package in
+pure-Python, and it's now clean enough to go up on PyPI. Features:
+
+* Backend-agnostic architecture. I've written a first-order process
+ with dead time (FOPDT) test backend and a [pymodbus][]-based backend
+ for our Melcor MTCA controller, but it should be easy to plug in
+ your own custom backend.
+* The general PID controller will automatically tune your backend
+ using any of a variety of tuning rules.
+
+The `README` is posted on the [PyPI page][pypi].
+
+[PID]: http://en.wikipedia.org/wiki/PID_controller
+[pymodbus]: http://code.google.com/p/pymodbus/
+[pypi]: http://pypi.python.org/pypi/pypid/
+
+[[!tag tags/code]]
+[[!tag tags/linux]]
+[[!tag tags/programming]]
+[[!tag tags/pypi]]
+[[!tag tags/python]]
+[[!tag tags/theory]]