Source code for run

import os
import subprocess
import sys

VENV_DIR = ".venv"
DOCS_DIR = "docs"
FLASK_PORT = "8001"
FLASK_HOST = "0.0.0.0"
TESTS_DIR = "tests"

[docs] def activate_virtualenv(): """Activate the virtual environment.""" if not os.path.exists(VENV_DIR): print("Virtual environment not found. Please create one with 'python -m venv .venv'.") sys.exit(1) activate_script = os.path.join(VENV_DIR, "Scripts" if os.name == "nt" else "bin", "activate") if os.name != "nt": subprocess.run(["source", activate_script], shell=True, executable="/bin/bash") else: subprocess.run(activate_script, shell=True)
[docs] def install_dependencies(): """Install dependencies from requirements.txt.""" pip_loc = os.path.join(VENV_DIR, "Scripts" if os.name == "nt" else "bin", "pip3.exe" if os.name == "nt" else "pip3") if os.path.exists("requirements.txt"): subprocess.run([pip_loc, "install", "-r", "requirements.txt"], check=True)
[docs] def build_sphinx_docs(): """Build Sphinx documentation.""" python_loc = os.path.join(VENV_DIR, "Scripts" if os.name == "nt" else "bin", "python.exe" if os.name == "nt" else "python") if os.path.exists(DOCS_DIR): print("Building Sphinx documentation...") subprocess.run([python_loc, "-m", "sphinx.cmd.build", "-b", "html", "source", "build"], cwd=DOCS_DIR, check=True) else: print("Sphinx documentation directory not found.")
[docs] def run_tests(): """Run the tests.""" pytest_loc = os.path.join(VENV_DIR, "Scripts" if os.name == "nt" else "bin", "pytest.exe" if os.name == "nt" else "pytest") coverage_loc = os.path.join(VENV_DIR, "Scripts" if os.name == "nt" else "bin", "coverage.exe" if os.name == "nt" else "coverage") if os.path.exists(TESTS_DIR): print("Runnning tests...") subprocess.run([coverage_loc, "run", "-m", "pytest", TESTS_DIR, "-v"], check=True) subprocess.run([coverage_loc, "html"]) else: print("Tests directory not found.")
[docs] def run_flask(): """Run the Flask application.""" flask_loc = os.path.join(VENV_DIR, "Scripts" if os.name == "nt" else "bin", "flask.exe" if os.name == "nt" else "flask") subprocess.run([flask_loc, "--app", "app", "run", "--debug", "--port", FLASK_PORT, "--host", FLASK_HOST])
if __name__ == "__main__": activate_virtualenv() install_dependencies() try: build_sphinx_docs() except: print("Docs failed to build") try: run_tests() except: print("Tests failed") run_flask()