mirror of
				https://github.com/deepset-ai/haystack.git
				synced 2025-10-31 01:39:45 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			32 lines
		
	
	
		
			932 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			32 lines
		
	
	
		
			932 B
		
	
	
	
		
			Python
		
	
	
	
	
	
| import json
 | |
| from pathlib import Path
 | |
| import os
 | |
| import sys
 | |
| import shutil
 | |
| 
 | |
| sys.path.append("../../../../")
 | |
| 
 | |
| rest_path = Path("../../../../rest_api").absolute()
 | |
| pipeline_path = str(rest_path / "pipeline" / "pipeline_empty.yaml")
 | |
| app_path = str(rest_path / "application.py")
 | |
| print(f"Loading OpenAPI specs from {app_path} with pipeline at {pipeline_path}")
 | |
| 
 | |
| os.environ["PIPELINE_YAML_PATH"] = pipeline_path
 | |
| 
 | |
| from rest_api.application import get_openapi_specs, haystack_version
 | |
| 
 | |
| # Generate the openapi specs
 | |
| specs = get_openapi_specs()
 | |
| 
 | |
| # Dump the specs into a JSON file
 | |
| with open("openapi.json", "w") as f:
 | |
|     json.dump(specs, f, indent=4)
 | |
| 
 | |
| # Remove rc versions of the specs from the folder
 | |
| for specs_file in os.listdir():
 | |
|     if os.path.isfile(specs_file) and "rc" in specs_file and Path(specs_file).suffix == ".json":
 | |
|         os.remove(specs_file)
 | |
| 
 | |
| # Add versioned copy
 | |
| shutil.copy("openapi.json", f"openapi-{haystack_version}.json")
 | 
