I found two Python modules: radon and xenon that compute cyclomatic complexity. Radon computes several measures and xenon provides a way to add complexity measures to a continuous integration.

To measure the entire project, including test code from the project's root directory:

The core abstraction in RBTLIB at this point is still the Composite design pattern.radon cc -e"ven/*" -as .

This component has the highest complexity:

rbtlib/resource/composite.py

M 41:4 Composite.href_component - B (6)

M 63:4 Composite.component - B (6)

C 31:0 Composite - A (4)

M 53:4 Composite.list_component - A (4)

M 34:4 Composite.__init__ - A (1)

From the radon documents:

M - Module

C - Class

A - low - simple block

B - low - well structured and stable block

Overall complexity of the project thus far:

72 blocks (classes, functions, methods) analyzed.

Average complexity: A (1.88888888889)

So far, complexity doesn't appear to be a problem.