def METHOD_NAME(inventory: str) -> List[Dict]:
    hosts_facts = []
    with tempfile.TemporaryDirectory(
        prefix="gather_facts"
    ) as private_data_dir:
        inventory_dir = os.path.join(private_data_dir, "inventory")
        os.mkdir(inventory_dir)
        create_inventory(inventory_dir, inventory)
        r = ansible_runner.run(
            private_data_dir=private_data_dir,
            module="ansible.builtin.setup",
            host_pattern="*",
        )
        if r.rc != 0:
            raise Exception(
                "Error collecting facts in ansible_runner.run "
                f"rc={r.rc}, status={r.status}"
            )
        host_path = os.path.join(
            private_data_dir, "artifacts", "*", "fact_cache", "*"
        )
        for host_file in glob.glob(host_path):
            hostname = os.path.basename(host_file)
            with open(host_file) as f:
                data = json.load(f)
            data["meta"] = dict(hosts=hostname)
            hosts_facts.append(data)
    return hosts_facts