"""Transform the README.md to support a specific deployment target. By default, we assume that our README.md will be rendered on GitHub. However, different targets have different strategies for rendering light- and dark-mode images. This script adjusts the images in the README.md to support the given target. """ from __future__ import annotations import argparse from pathlib import Path URL = "https://github.com/astral-sh/uv/assets/1309177/{}" URL_LIGHT = URL.format("629e59c0-9c6e-4013-9ad4-adb2bcf5080d") URL_DARK = URL.format("03aa9163-1c79-4a87-a31d-7a9311ed9310") # https://docs.github.com/en/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax#specifying-the-theme-an-image-is-shown-to GITHUB = f"""

Shows a bar chart with benchmark results.

""" # https://github.com/pypi/warehouse/issues/11251 PYPI = f"""

Shows a bar chart with benchmark results.

""" def main(target: str) -> None: """Modify the README.md to support the given target.""" with Path("README.md").open(encoding="utf8") as fp: content = fp.read() if GITHUB not in content: msg = "README.md is not in the expected format." raise ValueError(msg) if target == "pypi": with Path("README.md").open("w", encoding="utf8") as fp: fp.write(content.replace(GITHUB, PYPI)) else: msg = f"Unknown target: {target}" raise ValueError(msg) if __name__ == "__main__": parser = argparse.ArgumentParser( description="Modify the README.md to support a specific deployment target.", ) parser.add_argument( "--target", type=str, required=True, choices=("pypi", "mkdocs"), ) args = parser.parse_args() main(target=args.target)