def find_version(*file_paths):
    base_module_file = os.path.join(*file_paths)
    with open(base_module_file) as f:
        base_module_data = f.read()
    version_match = re.search(r"^__version__ = ['\"]([^'\"]*)['\"]",
                              base_module_data, re.M)
    if version_match:
        return version_match.group(1)
    raise RuntimeError("Unable to find version string.")
This pattern was modeled on a method from the Python Packaging User Guide:
dataset/ETHPy150Open ktbyers/netmiko/setup.py/find_version