CoolFace
Apppublic

akhaliq/anycoder

sourceHugging Faceupdated 5mo agoView on Hugging Face
3.3klikes
import_project_example.py167 linesDownload Raw Back to examples
1"""2Example usage of the ProjectImporter module3 4This script demonstrates how to use the standalone project importer5to fetch code from various sources without Gradio.6"""7 8import sys9import os10 11# Add parent directory to path12sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__))))13 14from project_importer import ProjectImporter15 16 17def example_import_space():18    """Example: Import a HuggingFace Space"""19    print("=" * 80)20    print("Example 1: Importing a HuggingFace Space")21    print("=" * 80)22    23    importer = ProjectImporter()24    result = importer.import_space("akhaliq", "anycoder")25    26    print(f"Status: {result['status']}")27    print(f"Message: {result['message']}")28    print(f"Language: {result['language']}")29    print(f"Files: {len(result['metadata'].get('files', []))}")30    print(f"\nFirst 500 characters of code:\n{result['code'][:500]}...")31    print()32 33 34def example_import_model():35    """Example: Import a HuggingFace Model"""36    print("=" * 80)37    print("Example 2: Importing a HuggingFace Model")38    print("=" * 80)39    40    importer = ProjectImporter()41    result = importer.import_model("meta-llama/Llama-3.2-1B-Instruct")42    43    print(f"Status: {result['status']}")44    print(f"Message: {result['message']}")45    print(f"Language: {result['language']}")46    print(f"Pipeline Tag: {result['metadata'].get('pipeline_tag')}")47    print(f"\nCode:\n{result['code']}")48    print()49 50 51def example_import_github():52    """Example: Import a GitHub Repository"""53    print("=" * 80)54    print("Example 3: Importing from GitHub")55    print("=" * 80)56    57    importer = ProjectImporter()58    result = importer.import_github_repo("huggingface", "transformers")59    60    print(f"Status: {result['status']}")61    print(f"Message: {result['message']}")62    print(f"Language: {result['language']}")63    print(f"\nFirst 500 characters of code:\n{result['code'][:500]}...")64    print()65 66 67def example_import_from_url():68    """Example: Import from any URL"""69    print("=" * 80)70    print("Example 4: Import from URL (automatic detection)")71    print("=" * 80)72    73    importer = ProjectImporter()74    75    # Test different URL types76    urls = [77        "https://huggingface.co/spaces/akhaliq/anycoder",78        "https://huggingface.co/meta-llama/Llama-3.2-1B-Instruct",79        "https://github.com/huggingface/diffusers"80    ]81    82    for url in urls:83        print(f"\nImporting: {url}")84        result = importer.import_from_url(url)85        print(f"  Status: {result['status']}")86        print(f"  Language: {result['language']}")87        print(f"  Message: {result['message']}")88 89 90def example_save_to_file():91    """Example: Save imported code to a file"""92    print("=" * 80)93    print("Example 5: Save imported code to file")94    print("=" * 80)95    96    importer = ProjectImporter()97    result = importer.import_model("stabilityai/stable-diffusion-3.5-large")98    99    if result['status'] == 'success':100        output_file = "imported_sd3.5_code.py"101        with open(output_file, 'w', encoding='utf-8') as f:102            f.write(result['code'])103        print(f"Code saved to: {output_file}")104    else:105        print(f"Failed to import: {result['message']}")106    print()107 108 109def example_with_metadata():110    """Example: Working with metadata"""111    print("=" * 80)112    print("Example 6: Working with metadata")113    print("=" * 80)114    115    importer = ProjectImporter()116    result = importer.import_model("Qwen/Qwen2.5-Coder-32B-Instruct")117    118    print(f"Status: {result['status']}")119    print(f"Message: {result['message']}")120    print(f"\nMetadata:")121    for key, value in result['metadata'].items():122        print(f"  {key}: {value}")123    124    # Check if there are alternatives125    if result['metadata'].get('has_alternatives'):126        print("\nโœจ This model has multiple code options available!")127        print("  - Inference code (serverless)")128        print("  - Local code (transformers/diffusers)")129    print()130 131 132def main():133    """Run all examples"""134    print("\n๐Ÿš€ ProjectImporter Examples\n")135    136    try:137        example_import_space()138    except Exception as e:139        print(f"โŒ Space import failed: {e}\n")140    141    try:142        example_import_model()143    except Exception as e:144        print(f"โŒ Model import failed: {e}\n")145    146    try:147        example_import_github()148    except Exception as e:149        print(f"โŒ GitHub import failed: {e}\n")150    151    try:152        example_import_from_url()153    except Exception as e:154        print(f"โŒ URL import failed: {e}\n")155    156    try:157        example_with_metadata()158    except Exception as e:159        print(f"โŒ Metadata example failed: {e}\n")160    161    print("\nโœ… Examples completed!")162 163 164if __name__ == "__main__":165    main()166 167