Overuse may indicate design issues; consider polymorphism
dep_version["version"] if isinstance(dep_version, dict) else dep_version
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 )
Same data, no extra tab — call code_get_file + code_get_findings over MCP from Claude/Cursor/Copilot.