| 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() |