In my test suite I have a file called "utils.py" in which I have assorted functions required by many of the tests.  To accomplish this I created a "Utils" class and had all of the functions inside it.
A colleague, with more Python experience, insisted that there should be no such class and instead all of these functions should be top-level.  Thus "Utils.get_feature_id()" became "get_feature_id()".
Would you concur with his assertion?
Robert
Yes. If a function doesn't access a self, it should most likely not be a method. You can use a full module if your goal was to arrange your functions in a distinct namespace. Python uses namespaces everywhere, so we need not shy away from global names like C++ tends to and Java enforces (effectively, because they're not that global after all).
Is it Pythonic to have global functions not part of a class?