Spaces:
Running
Running
| import subprocess | |
| import sys | |
| import os | |
| import signal | |
| def start_backend(): | |
| env = os.environ.copy() | |
| # Ensure backend path is on PYTHONPATH | |
| backend_dir = os.path.join(os.getcwd(), "deepshell-backend") | |
| env["PYTHONPATH"] = backend_dir + os.pathsep + env.get("PYTHONPATH", "") | |
| # Respect env vars already set in shell (PROVIDER, GROQ_API_KEY, LLM_MODEL, PORT) | |
| # Run the deepshell package (__main__.py) which exposes the FastAPI app | |
| cmd = [sys.executable, "-m", "deepshell"] | |
| process = subprocess.Popen(cmd, env=env, cwd=backend_dir) | |
| print(f"DeepShell backend started with PID {process.pid}") | |
| return process | |
| def main(): | |
| backend_process = start_backend() | |
| try: | |
| backend_process.wait() | |
| except KeyboardInterrupt: | |
| print("Stopping DeepShell backend...") | |
| backend_process.send_signal(signal.SIGINT) | |
| backend_process.wait() | |
| if __name__ == "__main__": | |
| main() | |