.github/scripts/check_prerelease_dependencies.py PYTHON 37 lines View on github.com → Search inside
1"""Check that no dependencies allow prereleases unless we're releasing a prerelease."""23import sys45import tomllib67if __name__ == "__main__":8    # Get the TOML file path from the command line argument9    toml_file = sys.argv[1]1011    with open(toml_file, "rb") as file:12        toml_data = tomllib.load(file)1314    # See if we're releasing an rc or dev version15    version = toml_data["project"]["version"]16    releasing_rc = "rc" in version or "dev" in version1718    # If not, iterate through dependencies and make sure none allow prereleases19    if not releasing_rc:20        dependencies = toml_data["project"]["dependencies"]21        for dep_version in dependencies:22            dep_version_string = (23                dep_version["version"] if isinstance(dep_version, dict) else dep_version24            )2526            if "rc" in dep_version_string:27                raise ValueError(28                    f"Dependency {dep_version} has a prerelease version. Please remove this."29                )3031            if isinstance(dep_version, dict) and dep_version.get(32                "allow-prereleases", False33            ):34                raise ValueError(35                    f"Dependency {dep_version} has allow-prereleases set to true. Please remove this."36                )

Code quality findings 2

Overuse may indicate design issues; consider polymorphism
isinstance-overuse
dep_version["version"] if isinstance(dep_version, dict) else dep_version
Overuse may indicate design issues; consider polymorphism
isinstance-overuse
if isinstance(dep_version, dict) and dep_version.get(

Get this view in your editor

Same data, no extra tab — call code_get_file + code_get_findings over MCP from Claude/Cursor/Copilot.