A Brief Field Guide to Python Development Tools and Utilities

Here is a brief overview of some of the tools I’ve discovered for writing and testing Python. Documentation, sources and executables for these tools can be found readily using Google. Many of the OSS/free tools are hosted on SourceForge.

Debugging Tools

pdb
(Linux/Windows)
Part of the standard Python distribution. Refer to the Python documentation for usage details.

winpdb
(Linux/Windows)
A multi-platorm debugger for Python (the name is misleading). Claims to be 20 times faster than pdb. Does pretty much everything that Wing does in terms of debugging.

Wing
(Linux/Windows)
A commercial IDE/debugger for Python.

Editing/Display Tools

Eclipse
(Linux/Windows)
An open source IDE for multiple platforms and languages. The Pydev plug-in adds Python specific development and debugging support. Very similar in appearance and functionality to Wing, but just slightly less clunky looking. Oh, and by the way, it’s free.

PythonIDE
(Linux/Windows)
A minimal IDE/editor/debugger that ships with the ActiveState distribution. Not recommended except perhaps as something for the novice to poke around with.

Wing
(Linux/Windows)
A commercial IDE/debugger for Python. Lots of bells and whistles, not all of which may actually improve productivity. The editor is rather clunky compared to something like UltraEdit, but it has more knobs and dials than the cockpit of a 747.

UltraEdit
(Windows)
Very nice streamlined programmer’s editor. Commercial tool. Can recognize Python syntax. No debugging support. Can be configured to work with external tools (Python, winpdb, etc.).

UE Studio
(Windows)
UltraEdit on steroids. Commercial tool. Can recognize Python syntax. No debugging support.

Source Documentation and Analysis Tools

Some of these tools are Linux-only GUI-based applications and require the Cygwin X server on a Windows machine to run them from a Linux machne. Others, such as the command-line tools, do not.

epydoc
(Linux/Windows)
Python source code documentation using docstrings and embedded tags. HTML output.

doxygen
(Linux/Windows)
C/C++ source code documentation using comment blocks and embedded tags. HTML output.

umbrello
(Linux Only)
C/C++/Python class diagramming (requires X). Can generate diagrams for existing code.

PyNsource
(Linux/Windows)
Python-to-UML reverse engineering tool. Generates UML class relationship diagrams from Python source.

pymetrics
(Linux/Windows)
Python source code metrics generator. Very nice.

pylint
(Linux/Windows)
Python lint-like tool. Like the classic lint, but maybe a little wordier.

pycallgraph
(Linux/Windows)
Import call graph generator. Generates graphical import dependency charts.


Do you know of any useful tools for Python development? Have any comments on the ones I’ve listed above?

Advertisements

1 Response to “A Brief Field Guide to Python Development Tools and Utilities”


  1. 1 Roddom.Kremenchug.info January 7, 2017 at 2:26 am

    Tеrrific post but I աas wanting tօ know if you could
    write a litte more on this subjеct? I’ɗ be very thankful if you cоuld elaborate ɑ little bit more.
    Thamk you!


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s




Follow Crankycode on WordPress.com

Little Buddy

An awesome little friend

Jordi the Sheltie passed away in 2008 at the ripe old age of 14. He was the most awesome dog I've ever known.


%d bloggers like this: