Home / File/ test_typing.py — anthropic-sdk-python Source File

test_typing.py — anthropic-sdk-python Source File

Architecture documentation for test_typing.py, a python file in the anthropic-sdk-python codebase. 2 imports, 0 dependents.

File python AnthropicClient SyncAPI 2 imports 5 functions 5 classes

Entity Profile

Dependency Diagram

graph LR
  6deec2e7_6582_87c9_e917_a253ed44c6cd["test_typing.py"]
  89ddcdd7_3ae1_4c7b_41bb_9f1e25f16875["typing"]
  6deec2e7_6582_87c9_e917_a253ed44c6cd --> 89ddcdd7_3ae1_4c7b_41bb_9f1e25f16875
  d1009234_f799_7c53_7892_4262523206dd["anthropic._utils"]
  6deec2e7_6582_87c9_e917_a253ed44c6cd --> d1009234_f799_7c53_7892_4262523206dd
  style 6deec2e7_6582_87c9_e917_a253ed44c6cd fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

from __future__ import annotations

from typing import Generic, TypeVar, cast

from anthropic._utils import extract_type_var_from_base

_T = TypeVar("_T")
_T2 = TypeVar("_T2")
_T3 = TypeVar("_T3")


class BaseGeneric(Generic[_T]): ...


class SubclassGeneric(BaseGeneric[_T]): ...


class BaseGenericMultipleTypeArgs(Generic[_T, _T2, _T3]): ...


class SubclassGenericMultipleTypeArgs(BaseGenericMultipleTypeArgs[_T, _T2, _T3]): ...


class SubclassDifferentOrderGenericMultipleTypeArgs(BaseGenericMultipleTypeArgs[_T2, _T, _T3]): ...


def test_extract_type_var() -> None:
    assert (
        extract_type_var_from_base(
            BaseGeneric[int],
            index=0,
            generic_bases=cast("tuple[type, ...]", (BaseGeneric,)),
        )
        == int
    )


def test_extract_type_var_generic_subclass() -> None:
    assert (
        extract_type_var_from_base(
            SubclassGeneric[int],
            index=0,
            generic_bases=cast("tuple[type, ...]", (BaseGeneric,)),
        )
        == int
    )


def test_extract_type_var_multiple() -> None:
    typ = BaseGenericMultipleTypeArgs[int, str, None]

    generic_bases = cast("tuple[type, ...]", (BaseGenericMultipleTypeArgs,))
    assert extract_type_var_from_base(typ, index=0, generic_bases=generic_bases) == int
    assert extract_type_var_from_base(typ, index=1, generic_bases=generic_bases) == str
    assert extract_type_var_from_base(typ, index=2, generic_bases=generic_bases) == type(None)


def test_extract_type_var_generic_subclass_multiple() -> None:
    typ = SubclassGenericMultipleTypeArgs[int, str, None]

    generic_bases = cast("tuple[type, ...]", (BaseGenericMultipleTypeArgs,))
    assert extract_type_var_from_base(typ, index=0, generic_bases=generic_bases) == int
    assert extract_type_var_from_base(typ, index=1, generic_bases=generic_bases) == str
    assert extract_type_var_from_base(typ, index=2, generic_bases=generic_bases) == type(None)


def test_extract_type_var_generic_subclass_different_ordering_multiple() -> None:
    typ = SubclassDifferentOrderGenericMultipleTypeArgs[int, str, None]

    generic_bases = cast("tuple[type, ...]", (BaseGenericMultipleTypeArgs,))
    assert extract_type_var_from_base(typ, index=0, generic_bases=generic_bases) == int
    assert extract_type_var_from_base(typ, index=1, generic_bases=generic_bases) == str
    assert extract_type_var_from_base(typ, index=2, generic_bases=generic_bases) == type(None)

Subdomains

Dependencies

  • anthropic._utils
  • typing

Frequently Asked Questions

What does test_typing.py do?
test_typing.py is a source file in the anthropic-sdk-python codebase, written in python. It belongs to the AnthropicClient domain, SyncAPI subdomain.
What functions are defined in test_typing.py?
test_typing.py defines 5 function(s): test_extract_type_var, test_extract_type_var_generic_subclass, test_extract_type_var_generic_subclass_different_ordering_multiple, test_extract_type_var_generic_subclass_multiple, test_extract_type_var_multiple.
What does test_typing.py depend on?
test_typing.py imports 2 module(s): anthropic._utils, typing.
Where is test_typing.py in the architecture?
test_typing.py is located at tests/test_utils/test_typing.py (domain: AnthropicClient, subdomain: SyncAPI, directory: tests/test_utils).

Analyze Your Own Codebase

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

Try Supermodel Free