def moduleProvides(*interfaces):
    frame = sys._getframe(1)
    locals = frame.f_locals

    # Try to make sure we were called from a class def
    if (locals is not frame.f_globals) or ('__name__' not in locals):
        raise TypeError(
            "moduleProvides can only be used from a module definition.")

    if '__provides__' in locals:
        raise TypeError(
            "moduleProvides can only be used once in a module definition.")

    locals["__provides__"] = Provides(ModuleType,
                                      *_normalizeargs(interfaces))

##############################################################################
#
# Declaration querying support

# XXX:  is this a fossil?  Nobody calls it, no unit tests exercise it, no
#       doctests import it, and the package __init__ doesn't import it.
Generator that returns edges given a 2-column csv graph file
dataset/ETHPy150Open nlloyd/SubliminalCollaborator/libs/zope/interface/declarations.py/moduleProvides--crossover with--dataset/ETHPy150Open benhamner/FacebookRecruitingCompetition/Benchmarks/utilities.py/edges_generator