Home / Function/ find_breaking_changes() — anthropic-sdk-python Function Reference

find_breaking_changes() — anthropic-sdk-python Function Reference

Architecture documentation for the find_breaking_changes() function in detect-breaking-changes.py from the anthropic-sdk-python codebase.

Entity Profile

Dependency Diagram

graph TD
  b7405e69_1607_d3dc_34ad_ff7b356e4a67["find_breaking_changes()"]
  f35c06ad_626e_0ab9_5a04_f3a67cc1344b["detect-breaking-changes.py"]
  b7405e69_1607_d3dc_34ad_ff7b356e4a67 -->|defined in| f35c06ad_626e_0ab9_5a04_f3a67cc1344b
  a55ce8c3_4110_406d_c5a6_815f3f1358d9["main()"]
  a55ce8c3_4110_406d_c5a6_815f3f1358d9 -->|calls| b7405e69_1607_d3dc_34ad_ff7b356e4a67
  4e14e1dd_a927_dd2d_0abf_08b926f99aea["public_members()"]
  b7405e69_1607_d3dc_34ad_ff7b356e4a67 -->|calls| 4e14e1dd_a927_dd2d_0abf_08b926f99aea
  style b7405e69_1607_d3dc_34ad_ff7b356e4a67 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

scripts/detect-breaking-changes.py lines 23–47

def find_breaking_changes(
    new_obj: griffe.Object | griffe.Alias,
    old_obj: griffe.Object | griffe.Alias,
    *,
    path: list[str],
) -> Iterator[Text | str]:
    new_members = public_members(new_obj)
    old_members = public_members(old_obj)

    for name, old_member in old_members.items():
        if isinstance(old_member, griffe.Alias) and len(path) > 2:
            # ignore imports in `/types/` for now, they're technically part of the public API
            # but we don't have good preventative measures in place to prevent changing them
            continue

        new_member = new_members.get(name)
        if new_member is None:
            cls_name = old_member.__class__.__name__
            yield Text(f"({cls_name})", style=Style(color="rgb(119, 119, 119)"))
            yield from [" " for _ in range(10 - len(cls_name))]
            yield f" {'.'.join(path)}.{name}"
            yield "\n"
            continue

        yield from find_breaking_changes(new_member, old_member, path=[*path, name])

Subdomains

Called By

Frequently Asked Questions

What does find_breaking_changes() do?
find_breaking_changes() is a function in the anthropic-sdk-python codebase, defined in scripts/detect-breaking-changes.py.
Where is find_breaking_changes() defined?
find_breaking_changes() is defined in scripts/detect-breaking-changes.py at line 23.
What does find_breaking_changes() call?
find_breaking_changes() calls 1 function(s): public_members.
What calls find_breaking_changes()?
find_breaking_changes() is called by 1 function(s): main.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free