def requires(*methodList):
    """
    Optional decorator for shard functions to list any dependencies.
    
    If a shard uses methods it does not provide/import, it should declare
    them using this function or by setting the __requiresMethods attribute
    manually.
    
    If this attribute is not present, it will be assumed no additional
    methods are required.
    """
    def setDependents(shard):
        shard.__requiresMethods = methodList
        return shard
    
    return setDependents