Python sdk error

For Workes & Pages, what is the name of the domain?

n/a

What is the error message?

pydantic.errors.PydanticUndefinedAnnotation: name ‘TraceItem’ is not defined

What is the issue or error you’re encountering

error importing python SDK

What steps have you taken to resolve the issue?

I installed cloudflare python sdk in a fresh virtualenv under Python 3.12.7

pip freeze output:

annotated-types==0.7.0
anyio==4.6.2.post1
certifi==2024.8.30
cloudflare==3.1.0
distro==1.9.0
h11==0.14.0
httpcore==1.0.7
httpx==0.27.2
idna==3.10
pydantic==2.10.1
pydantic_core==2.27.1
sniffio==1.3.1
typing_extensions==4.12.2

I get the following error when I try to the example in the readme:

$ python
Python 3.12.7 (main, Nov 11 2024, 14:48:43) [GCC 12.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from cloudflare import CloudFlare
Traceback (most recent call last):
  File "/home/altaurog/.venv/cm-customdomains/lib/python3.12/site-packages/pydantic/_internal/_generate_schema.py", line 815, in _resolve_forward_ref
    obj = _typing_extra.eval_type_backport(obj, *self._types_namespace)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/altaurog/.venv/cm-customdomains/lib/python3.12/site-packages/pydantic/_internal/_typing_extra.py", line 534, in eval_type_backport
    return _eval_type_backport(value, globalns, localns, type_params)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/altaurog/.venv/cm-customdomains/lib/python3.12/site-packages/pydantic/_internal/_typing_extra.py", line 558, in _eval_type_backport
    return _eval_type(value, globalns, localns, type_params)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/altaurog/.venv/cm-customdomains/lib/python3.12/site-packages/pydantic/_internal/_typing_extra.py", line 592, in _eval_type
    return typing._eval_type(  # type: ignore
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/typing.py", line 415, in _eval_type
    return t._evaluate(globalns, localns, type_params, recursive_guard=recursive_guard)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/typing.py", line 952, in _evaluate
    self.__forward_value__ = _eval_type(
                             ^^^^^^^^^^^
  File "/usr/local/lib/python3.12/typing.py", line 430, in _eval_type
    ev_args = tuple(
              ^^^^^^
  File "/usr/local/lib/python3.12/typing.py", line 431, in <genexpr>
    _eval_type(
  File "/usr/local/lib/python3.12/typing.py", line 415, in _eval_type
    return t._evaluate(globalns, localns, type_params, recursive_guard=recursive_guard)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/typing.py", line 952, in _evaluate
    self.__forward_value__ = _eval_type(
                             ^^^^^^^^^^^
  File "/usr/local/lib/python3.12/typing.py", line 430, in _eval_type
    ev_args = tuple(
              ^^^^^^
  File "/usr/local/lib/python3.12/typing.py", line 431, in <genexpr>
    _eval_type(
  File "/usr/local/lib/python3.12/typing.py", line 415, in _eval_type
    return t._evaluate(globalns, localns, type_params, recursive_guard=recursive_guard)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/typing.py", line 947, in _evaluate
    eval(self.__forward_code__, globalns, localns),
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<string>", line 1, in <module>
NameError: name 'TraceItem' is not defined

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/altaurog/.venv/cm-customdomains/lib/python3.12/site-packages/cloudflare/__init__.py", line 6, in <module>
    from ._client import (
  File "/home/altaurog/.venv/cm-customdomains/lib/python3.12/site-packages/cloudflare/_client.py", line 11, in <module>
    from . import resources, _exceptions
  File "/home/altaurog/.venv/cm-customdomains/lib/python3.12/site-packages/cloudflare/resources/__init__.py", line 555, in <module>
    from .request_tracers import (
  File "/home/altaurog/.venv/cm-customdomains/lib/python3.12/site-packages/cloudflare/resources/request_tracers/__init__.py", line 3, in <module>
    from .traces import (
  File "/home/altaurog/.venv/cm-customdomains/lib/python3.12/site-packages/cloudflare/resources/request_tracers/traces.py", line 24, in <module>
    from ...types.request_tracers import trace_create_params
  File "/home/altaurog/.venv/cm-customdomains/lib/python3.12/site-packages/cloudflare/types/request_tracers/__init__.py", line 8, in <module>
    from .trace_create_response import TraceCreateResponse as TraceCreateResponse
  File "/home/altaurog/.venv/cm-customdomains/lib/python3.12/site-packages/cloudflare/types/request_tracers/trace_create_response.py", line 23, in <module>
    TraceCreateResponse.model_rebuild()
  File "/home/altaurog/.venv/cm-customdomains/lib/python3.12/site-packages/pydantic/main.py", line 594, in model_rebuild
    return _model_construction.complete_model_class(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/altaurog/.venv/cm-customdomains/lib/python3.12/site-packages/pydantic/_internal/_model_construction.py", line 658, in complete_model_class
    schema = cls.__get_pydantic_core_schema__(cls, handler)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/altaurog/.venv/cm-customdomains/lib/python3.12/site-packages/pydantic/main.py", line 702, in __get_pydantic_core_schema__
    return handler(source)
           ^^^^^^^^^^^^^^^
  File "/home/altaurog/.venv/cm-customdomains/lib/python3.12/site-packages/pydantic/_internal/_schema_generation_shared.py", line 84, in __call__
    schema = self._handler(source_type)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/altaurog/.venv/cm-customdomains/lib/python3.12/site-packages/pydantic/_internal/_generate_schema.py", line 612, in generate_schema
    schema = self._generate_schema_inner(obj)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/altaurog/.venv/cm-customdomains/lib/python3.12/site-packages/pydantic/_internal/_generate_schema.py", line 881, in _generate_schema_inner
    return self._model_schema(obj)
           ^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/altaurog/.venv/cm-customdomains/lib/python3.12/site-packages/pydantic/_internal/_generate_schema.py", line 693, in _model_schema
    {k: self._generate_md_field_schema(k, v, decorators) for k, v in fields.items()},
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/altaurog/.venv/cm-customdomains/lib/python3.12/site-packages/pydantic/_internal/_generate_schema.py", line 1073, in _generate_md_field_schema
    common_field = self._common_field_schema(name, field_info, decorators)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/altaurog/.venv/cm-customdomains/lib/python3.12/site-packages/pydantic/_internal/_generate_schema.py", line 1261, in _common_field_schema
    schema = self._apply_annotations(
             ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/altaurog/.venv/cm-customdomains/lib/python3.12/site-packages/pydantic/_internal/_generate_schema.py", line 2061, in _apply_annotations
    schema = get_inner_schema(source_type)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/altaurog/.venv/cm-customdomains/lib/python3.12/site-packages/pydantic/_internal/_schema_generation_shared.py", line 84, in __call__
    schema = self._handler(source_type)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/altaurog/.venv/cm-customdomains/lib/python3.12/site-packages/pydantic/_internal/_generate_schema.py", line 2042, in inner_handler
    schema = self._generate_schema_inner(obj)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/altaurog/.venv/cm-customdomains/lib/python3.12/site-packages/pydantic/_internal/_generate_schema.py", line 875, in _generate_schema_inner
    return self.generate_schema(self._resolve_forward_ref(obj))
                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/altaurog/.venv/cm-customdomains/lib/python3.12/site-packages/pydantic/_internal/_generate_schema.py", line 817, in _resolve_forward_ref
    raise PydanticUndefinedAnnotation.from_name_error(e) from e
pydantic.errors.PydanticUndefinedAnnotation: name 'TraceItem' is not defined

What are the steps to reproduce the issue?

pip install cloudflare
python -c 'from cloudflare import CloudFlare
3 Likes

See also Bug in Python API? (Pydantic Dependency)

Thanks!

This topic was automatically closed 15 days after the last reply. New replies are no longer allowed.