Return to David's Python Resources

Features | Screenshot | Background | Requirements | Manuals | Download | Support


A simple yet versatile program for managing your internet traffic in real time.


pyshaper lets you set bandwidth minimum and maximum limits on several criteria:
With all these filtering criteria available, you can set up some pretty sophisticated filters.

For instance, you can use the 'by program' filtering to put bandwidth caps on peer2peer programs that often talk via several different protocols, to different ports (which evades most other traffic-shaping programs).

Or, you can set individual inbound and/or outbound limits based on specific countries (or all countries other than your own).

Configuration file syntax is pretty simple and straightforward. No arcane nuts'n'bolts TCP/IP grease-monkey bit-bashing knowledge needed. After a quick pass through the doco and examples, you'll be building your shaping configuration within a few short minutes.


pyshaper includes a graphical user interface which you can use to conveniently view/change throttle settings in real time. Note that pyshaper runs as a daemon, so can function perfectly in non-graphical environments.

pyshaper screenshot


Development of pyshaper was driven by a number of factors:
I scoured the net, and came across the wondershaper script, as well as a prototype easy-shaper program called 'snitch'. These programs helped me to start fathoming the occult mysteries of the arcane 'tc' utility (part of the iproute2 suite). tc in its present state is very lacking in doco and examples, so these programs helped heaps.

So, as is an Open Source motto - If you can't find it, write it! - I realised I had to pull my finger out and write something myself.


In addition, if you want to run the optional GUI front-end, you'll need:


Check out:


You can download pyshaper here as pyshaper-0.1.3.tar.gz
Earlier versions:


I'm busy as hell, so may or may not at any particular time be able to support you.
Drop me a line at david at freenet dot org dot nz, and I'll see what I can do.

(put the word 'pyshaper' in the subject, to get around my aggressive spam filter).

If you're using pyshaper in a commercial setting, and need quick specific support or customisation, a contribution of cash in my general direction will do wonders for stimulating my interest and energy. You're getting the software for free, so please don't be afraid of paying up a little for support.