from pathlib import Path def main(): content = create_content() with open("g4f/provider/__init__.py", "w", encoding="utf-8") as f: f.write(content) def create_content(): path = Path() paths = path.glob("g4f/provider/*.py") paths = [p for p in paths if p.name not in ["__init__.py", "base_provider.py"]] classnames = [p.stem for p in paths] import_lines = [f"from .{name} import {name}" for name in classnames] import_content = "\n".join(import_lines) classnames.insert(0, "BaseProvider") all_content = [f' "{name}"' for name in classnames] all_content = ",\n".join(all_content) all_content = f"__all__ = [\n{all_content},\n]" return f"""from .base_provider import BaseProvider {import_content} {all_content} """ if __name__ == "__main__": main()