Skip to content

Instantly share code, notes, and snippets.

@tushortz
Created December 9, 2018 05:58
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save tushortz/4ea400f7de60d932bdc23cc41495cbe0 to your computer and use it in GitHub Desktop.
Save tushortz/4ea400f7de60d932bdc23cc41495cbe0 to your computer and use it in GitHub Desktop.
Get all module members including signature
import inspect
import re
import importlib
def get_module_members(module, package=''):
imported = importlib.import_module(module)
module = str(module)
if package:
imported = getattr(imported, package)
module = module + "." + package
all_members = []
members = inspect.getmembers(imported)
if members:
for member in members:
if not member[0].startswith("__"):
try:
signature = re.sub(
r'(?:, /|[\/])|(?:self[ ,]+)', "", str(inspect.signature(member[1])))
all_members.append((module, member[0], signature))
except Exception:
all_members.append((module, member[0], ""))
return all_members
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment