Tabble-v1 / run.py
Shyamnath's picture
Initial commit with Git LFS
80feb1b
import uvicorn
import os
import socket
def get_ip_address():
"""Get the local IP address of the machine."""
try:
# Create a socket connection to an external server
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
# Doesn't need to be reachable
s.connect(("8.8.8.8", 80))
ip_address = s.getsockname()[0]
s.close()
return ip_address
except Exception as e:
print(f"Error getting IP address: {e}")
return "127.0.0.1" # Return localhost if there's an error
if __name__ == "__main__":
# Create static/images directory if it doesn't exist
os.makedirs("app/static/images", exist_ok=True)
# Get host and port from environment variables (for Hugging Face Spaces)
host = os.getenv("HOST", "0.0.0.0")
port = int(os.getenv("PORT", "8000"))
# Get the IP address for local development
ip_address = get_ip_address()
# Display access information
print("\n" + "=" * 50)
print(f"Access from other devices at: http://{ip_address}:{port}")
print("=" * 50 + "\n")
# Run the application
uvicorn.run(
"app.main:app",
host=host,
port=port,
reload=os.getenv("ENVIRONMENT") == "development"
)