GraphResearcher / scripts /hf_deploy_check.py
yugbirla's picture
Deploy GraphRAG FastAPI app to Hugging Face Spaces
d4a141c
Raw
History Blame Contribute Delete
1.68 kB
from pathlib import Path
REQUIRED_FILES = [
"Dockerfile",
".dockerignore",
"README.md",
"requirements.txt",
"app/main.py",
"app/core/config.py",
"app/deployment/hf_status.py"
]
def main():
print("=" * 70)
print("HUGGING FACE DEPLOYMENT READINESS CHECK")
print("=" * 70)
missing_files = []
for file_path in REQUIRED_FILES:
path = Path(file_path)
if path.exists():
print(f"OK {file_path}")
else:
print(f"MISSING {file_path}")
missing_files.append(file_path)
if Path("README.md").exists():
readme_text = Path("README.md").read_text(encoding="utf-8")
print("\nREADME metadata check:")
for item in ["sdk: docker", "app_port: 7860"]:
if item in readme_text:
print(f"OK {item}")
else:
print(f"MISSING {item}")
missing_files.append(f"README item: {item}")
if Path("Dockerfile").exists():
dockerfile_text = Path("Dockerfile").read_text(encoding="utf-8")
print("\nDockerfile check:")
for item in ["uvicorn", "app.main:app", "--port", "7860", "USER user"]:
if item in dockerfile_text:
print(f"OK {item}")
else:
print(f"MISSING {item}")
missing_files.append(f"Dockerfile item: {item}")
print("\nResult:")
if missing_files:
print("NOT READY")
print("Missing items:")
for item in missing_files:
print(f"- {item}")
else:
print("READY FOR HUGGING FACE SPACES")
if __name__ == "__main__":
main()