def cleanup(session: nox.Session) -> None: """Cleanup any temporary files made in this project by its nox tasks.""" import shutil # Remove directories for raw_path in ["./site", "./.nox"]: path = pathlib.Path(raw_path) try: shutil.rmtree(str(path.absolute())) except Exception as exc: session.warn(f"[ FAIL ] Failed to remove '{raw_path}': {exc!s}") else: session.log(f"[ OK ] Removed '{raw_path}'") # Remove individual files for raw_path in ["./.coverage", "./coverage_html.xml"]: path = pathlib.Path(raw_path) try: path.unlink() except Exception as exc: session.warn(f"[ FAIL ] Failed to remove '{raw_path}': {exc!s}") else: session.log(f"[ OK ] Removed '{raw_path}'")
def docs(session: nox.Session) -> None: """ Build the docs. Pass "serve" to serve. """ session.install(".[docs]") session.chdir("docs") session.run("sphinx-build", "-M", "html", ".", "_build") if session.posargs: if "serve" in session.posargs: print("Launching docs at http://localhost:8000/ - use Ctrl-C to quit") session.run("python", "-m", "http.server", "8000", "-d", "_build/html") else: session.warn("Unsupported argument to docs")
def dev_build(session: nox.Session) -> None: session.warn("No building is necessary for development sessions.")