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

_json.py — anthropic-sdk-python Source File

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

File python AnthropicClient SyncAPI 6 imports 1 functions 1 classes

Entity Profile

Dependency Diagram

graph LR
  add5a69b_d84f_deef_9958_765008080340["_json.py"]
  c96ee5ad_7068_af50_518d_eabdd7af5c4e["_compat.py"]
  add5a69b_d84f_deef_9958_765008080340 --> c96ee5ad_7068_af50_518d_eabdd7af5c4e
  28b0c811_20f6_fc4a_4b48_7fb9e87bf7e5["json"]
  add5a69b_d84f_deef_9958_765008080340 --> 28b0c811_20f6_fc4a_4b48_7fb9e87bf7e5
  89ddcdd7_3ae1_4c7b_41bb_9f1e25f16875["typing"]
  add5a69b_d84f_deef_9958_765008080340 --> 89ddcdd7_3ae1_4c7b_41bb_9f1e25f16875
  7e1d14c5_475e_409c_7c4e_1274f9d40aa9["datetime"]
  add5a69b_d84f_deef_9958_765008080340 --> 7e1d14c5_475e_409c_7c4e_1274f9d40aa9
  37c05070_ca59_d596_7250_de9d1939227f["typing_extensions"]
  add5a69b_d84f_deef_9958_765008080340 --> 37c05070_ca59_d596_7250_de9d1939227f
  21de8837_7dae_989e_fdbb_1415c0770d90["pydantic"]
  add5a69b_d84f_deef_9958_765008080340 --> 21de8837_7dae_989e_fdbb_1415c0770d90
  style add5a69b_d84f_deef_9958_765008080340 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

import json
from typing import Any
from datetime import datetime
from typing_extensions import override

import pydantic

from .._compat import model_dump


def openapi_dumps(obj: Any) -> bytes:
    """
    Serialize an object to UTF-8 encoded JSON bytes.

    Extends the standard json.dumps with support for additional types
    commonly used in the SDK, such as `datetime`, `pydantic.BaseModel`, etc.
    """
    return json.dumps(
        obj,
        cls=_CustomEncoder,
        # Uses the same defaults as httpx's JSON serialization
        ensure_ascii=False,
        separators=(",", ":"),
        allow_nan=False,
    ).encode()


class _CustomEncoder(json.JSONEncoder):
    @override
    def default(self, o: Any) -> Any:
        if isinstance(o, datetime):
            return o.isoformat()
        if isinstance(o, pydantic.BaseModel):
            return model_dump(o, exclude_unset=True, mode="json", by_alias=True)
        return super().default(o)

Subdomains

Functions

Classes

Dependencies

  • _compat.py
  • datetime
  • json
  • pydantic
  • typing
  • typing_extensions

Frequently Asked Questions

What does _json.py do?
_json.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 _json.py?
_json.py defines 1 function(s): openapi_dumps.
What does _json.py depend on?
_json.py imports 6 module(s): _compat.py, datetime, json, pydantic, typing, typing_extensions.
Where is _json.py in the architecture?
_json.py is located at src/anthropic/_utils/_json.py (domain: AnthropicClient, subdomain: SyncAPI, directory: src/anthropic/_utils).

Analyze Your Own Codebase

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

Try Supermodel Free