Skip to content

fix: Typo in params of WriteToKafka

0ca4bb0
Select commit
Loading
Failed to load commit list.
Sign in for the full log view
Closed

Fix typo in parameters of WriteToKafka in Python doc #36932

fix: Typo in params of WriteToKafka
0ca4bb0
Select commit
Loading
Failed to load commit list.
GitHub Actions / Python 3.13 Test Results (self-hosted, ubuntu-20.04, main) failed Nov 28, 2025 in 0s

3 fail, 140 skipped, 357 pass in 7m 57s

  2 files    2 suites   7m 57s ⏱️
500 tests 357 ✅ 140 💤 3 ❌
506 runs  357 ✅ 146 💤 3 ❌

Results for commit 0ca4bb0.

Annotations

Check warning on line 0 in apache_beam.ml.anomaly.detectors.pyod_adapter_test.PyODIForestTest

See this annotation in the file changed.

@github-actions github-actions / Python 3.13 Test Results (self-hosted, ubuntu-20.04, main)

test_scoring_with_matched_features_0 (apache_beam.ml.anomaly.detectors.pyod_adapter_test.PyODIForestTest) failed

sdks/python/test-suites/tox/py313/build/srcs/sdks/python/pytest_py313-ml.xml [took 2m 24s]
Raw output
RuntimeError: Pipeline job-001 failed in state FAILED: bundle inst003 stage-007 failed:Traceback (most recent call last):
  File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/sklearn/utils/_tags.py", line 275, in get_tags
    tags = estimator.__sklearn_tags__()
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'IForest' object has no attribute '__sklearn_tags__'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "apache_beam/runners/common.py", line 1498, in apache_beam.runners.common.DoFnRunner.process
    return self.do_fn_invoker.invoke_process(windowed_value)
  File "apache_beam/runners/common.py", line 912, in apache_beam.runners.common.PerWindowInvoker.invoke_process
    self._invoke_process_per_window(
  File "apache_beam/runners/common.py", line 1057, in apache_beam.runners.common.PerWindowInvoker._invoke_process_per_window
    self.process_method(*args_for_process, **kwargs_for_process),
  File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/inference/base.py", line 1933, in process
    return self._run_inference(batch, inference_args)
           ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
  File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/inference/base.py", line 1903, in _run_inference
    raise e
  File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/inference/base.py", line 1889, in _run_inference
    result_generator = self._model_handler.run_inference(
        batch, model, inference_args)
  File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/inference/base.py", line 1228, in run_inference
    return self._base.run_inference(batch, model, inference_args)
           ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/inference/base.py", line 764, in run_inference
    self._unkeyed.run_inference(unkeyed_batch, model, inference_args))
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/anomaly/detectors/pyod_adapter.py", line 84, in run_inference
    predictions = model.decision_function(vectorized_batch)
  File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/pyod/models/iforest.py", line 243, in decision_function
    check_is_fitted(self, ['decision_scores_', 'threshold_', 'labels_'])
    ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/sklearn/utils/validation.py", line 1699, in check_is_fitted
    tags = get_tags(estimator)
  File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/sklearn/utils/_tags.py", line 283, in get_tags
    raise AttributeError(
    ...<8 lines>...
    )
AttributeError: The following error was raised: 'IForest' object has no attribute '__sklearn_tags__'. It seems that there are no classes that implement `__sklearn_tags__` in the MRO and/or all classes in the MRO call `super().__sklearn_tags__()`. Make sure to inherit from `BaseEstimator` which implements `__sklearn_tags__` (or alternatively define `__sklearn_tags__` but we don't recommend this approach). Note that `BaseEstimator` needs to be on the right side of other Mixins in the inheritance order.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/worker/sdk_worker.py", line 316, in _execute
    response = task()
  File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/worker/sdk_worker.py", line 390, in <lambda>
    lambda: self.create_worker().do_instruction(request), request)
            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^
  File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/worker/sdk_worker.py", line 669, in do_instruction
    return getattr(self, request_type)(
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~^
        getattr(request, request_type), request.instruction_id)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/worker/sdk_worker.py", line 707, in process_bundle
    bundle_processor.process_bundle(instruction_id))
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^
  File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/worker/bundle_processor.py", line 1302, in process_bundle
    input_op_by_transform_id[element.transform_id].process_encoded(
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
        element.data)
        ^^^^^^^^^^^^^
  File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/worker/bundle_processor.py", line 242, in process_encoded
    self.output(decoded_value)
    ~~~~~~~~~~~^^^^^^^^^^^^^^^
  File "apache_beam/runners/worker/operations.py", line 568, in apache_beam.runners.worker.operations.Operation.output
    def output(self, windowed_value, output_index=0):
  File "apache_beam/runners/worker/operations.py", line 570, in apache_beam.runners.worker.operations.Operation.output
    _cast_to_receiver(self.receivers[output_index]).receive(windowed_value)
  File "apache_beam/runners/worker/operations.py", line 260, in apache_beam.runners.worker.operations.SingletonElementConsumerSet.receive
    def receive(self, windowed_value):
  File "apache_beam/runners/worker/operations.py", line 263, in apache_beam.runners.worker.operations.SingletonElementConsumerSet.receive
    self.consumer.process(windowed_value)
  File "apache_beam/runners/worker/operations.py", line 954, in apache_beam.runners.worker.operations.DoOperation.process
    with self.scoped_process_state:
  File "apache_beam/runners/worker/operations.py", line 955, in apache_beam.runners.worker.operations.DoOperation.process
    delayed_applications = self.dofn_runner.process(o)
  File "apache_beam/runners/common.py", line 1500, in apache_beam.runners.common.DoFnRunner.process
    self._reraise_augmented(exn, windowed_value)
  File "apache_beam/runners/common.py", line 1588, in apache_beam.runners.common.DoFnRunner._reraise_augmented
    raise exn
  File "apache_beam/runners/common.py", line 1498, in apache_beam.runners.common.DoFnRunner.process
    return self.do_fn_invoker.invoke_process(windowed_value)
  File "apache_beam/runners/common.py", line 684, in apache_beam.runners.common.SimpleInvoker.invoke_process
    self.output_handler.handle_process_outputs(
  File "apache_beam/runners/common.py", line 1683, in apache_beam.runners.common._OutputHandler.handle_process_outputs
    self._write_value_to_tag(tag, windowed_value, watermark_estimator)
  File "apache_beam/runners/common.py", line 1796, in apache_beam.runners.common._OutputHandler._write_value_to_tag
    self.main_receivers.receive(windowed_value)
  File "apache_beam/runners/worker/operations.py", line 263, in apache_beam.runners.worker.operations.SingletonElementConsumerSet.receive
    self.consumer.process(windowed_value)
  File "apache_beam/runners/worker/operations.py", line 954, in apache_beam.runners.worker.operations.DoOperation.process
    with self.scoped_process_state:
  File "apache_beam/runners/worker/operations.py", line 955, in apache_beam.runners.worker.operations.DoOperation.process
    delayed_applications = self.dofn_runner.process(o)
  File "apache_beam/runners/common.py", line 1500, in apache_beam.runners.common.DoFnRunner.process
    self._reraise_augmented(exn, windowed_value)
  File "apache_beam/runners/common.py", line 1588, in apache_beam.runners.common.DoFnRunner._reraise_augmented
    raise exn
  File "apache_beam/runners/common.py", line 1498, in apache_beam.runners.common.DoFnRunner.process
    return self.do_fn_invoker.invoke_process(windowed_value)
  File "apache_beam/runners/common.py", line 684, in apache_beam.runners.common.SimpleInvoker.invoke_process
    self.output_handler.handle_process_outputs(
  File "apache_beam/runners/common.py", line 1683, in apache_beam.runners.common._OutputHandler.handle_process_outputs
    self._write_value_to_tag(tag, windowed_value, watermark_estimator)
  File "apache_beam/runners/common.py", line 1796, in apache_beam.runners.common._OutputHandler._write_value_to_tag
    self.main_receivers.receive(windowed_value)
  File "apache_beam/runners/worker/operations.py", line 263, in apache_beam.runners.worker.operations.SingletonElementConsumerSet.receive
    self.consumer.process(windowed_value)
  File "apache_beam/runners/worker/operations.py", line 954, in apache_beam.runners.worker.operations.DoOperation.process
    with self.scoped_process_state:
  File "apache_beam/runners/worker/operations.py", line 955, in apache_beam.runners.worker.operations.DoOperation.process
    delayed_applications = self.dofn_runner.process(o)
  File "apache_beam/runners/common.py", line 1500, in apache_beam.runners.common.DoFnRunner.process
    self._reraise_augmented(exn, windowed_value)
  File "apache_beam/runners/common.py", line 1588, in apache_beam.runners.common.DoFnRunner._reraise_augmented
    raise exn
  File "apache_beam/runners/common.py", line 1498, in apache_beam.runners.common.DoFnRunner.process
    return self.do_fn_invoker.invoke_process(windowed_value)
  File "apache_beam/runners/common.py", line 684, in apache_beam.runners.common.SimpleInvoker.invoke_process
    self.output_handler.handle_process_outputs(
  File "apache_beam/runners/common.py", line 1683, in apache_beam.runners.common._OutputHandler.handle_process_outputs
    self._write_value_to_tag(tag, windowed_value, watermark_estimator)
  File "apache_beam/runners/common.py", line 1796, in apache_beam.runners.common._OutputHandler._write_value_to_tag
    self.main_receivers.receive(windowed_value)
  File "apache_beam/runners/worker/operations.py", line 263, in apache_beam.runners.worker.operations.SingletonElementConsumerSet.receive
    self.consumer.process(windowed_value)
  File "apache_beam/runners/worker/operations.py", line 954, in apache_beam.runners.worker.operations.DoOperation.process
    with self.scoped_process_state:
  File "apache_beam/runners/worker/operations.py", line 955, in apache_beam.runners.worker.operations.DoOperation.process
    delayed_applications = self.dofn_runner.process(o)
  File "apache_beam/runners/common.py", line 1500, in apache_beam.runners.common.DoFnRunner.process
    self._reraise_augmented(exn, windowed_value)
  File "apache_beam/runners/common.py", line 1588, in apache_beam.runners.common.DoFnRunner._reraise_augmented
    raise exn
  File "apache_beam/runners/common.py", line 1498, in apache_beam.runners.common.DoFnRunner.process
    return self.do_fn_invoker.invoke_process(windowed_value)
  File "apache_beam/runners/common.py", line 684, in apache_beam.runners.common.SimpleInvoker.invoke_process
    self.output_handler.handle_process_outputs(
  File "apache_beam/runners/common.py", line 1683, in apache_beam.runners.common._OutputHandler.handle_process_outputs
    self._write_value_to_tag(tag, windowed_value, watermark_estimator)
  File "apache_beam/runners/common.py", line 1796, in apache_beam.runners.common._OutputHandler._write_value_to_tag
    self.main_receivers.receive(windowed_value)
  File "apache_beam/runners/worker/operations.py", line 263, in apache_beam.runners.worker.operations.SingletonElementConsumerSet.receive
    self.consumer.process(windowed_value)
  File "apache_beam/runners/worker/operations.py", line 954, in apache_beam.runners.worker.operations.DoOperation.process
    with self.scoped_process_state:
  File "apache_beam/runners/worker/operations.py", line 955, in apache_beam.runners.worker.operations.DoOperation.process
    delayed_applications = self.dofn_runner.process(o)
  File "apache_beam/runners/common.py", line 1500, in apache_beam.runners.common.DoFnRunner.process
    self._reraise_augmented(exn, windowed_value)
  File "apache_beam/runners/common.py", line 1588, in apache_beam.runners.common.DoFnRunner._reraise_augmented
    raise exn
  File "apache_beam/runners/common.py", line 1498, in apache_beam.runners.common.DoFnRunner.process
    return self.do_fn_invoker.invoke_process(windowed_value)
  File "apache_beam/runners/common.py", line 684, in apache_beam.runners.common.SimpleInvoker.invoke_process
    self.output_handler.handle_process_outputs(
  File "apache_beam/runners/common.py", line 1683, in apache_beam.runners.common._OutputHandler.handle_process_outputs
    self._write_value_to_tag(tag, windowed_value, watermark_estimator)
  File "apache_beam/runners/common.py", line 1796, in apache_beam.runners.common._OutputHandler._write_value_to_tag
    self.main_receivers.receive(windowed_value)
  File "apache_beam/runners/worker/operations.py", line 263, in apache_beam.runners.worker.operations.SingletonElementConsumerSet.receive
    self.consumer.process(windowed_value)
  File "apache_beam/runners/worker/operations.py", line 954, in apache_beam.runners.worker.operations.DoOperation.process
    with self.scoped_process_state:
  File "apache_beam/runners/worker/operations.py", line 955, in apache_beam.runners.worker.operations.DoOperation.process
    delayed_applications = self.dofn_runner.process(o)
  File "apache_beam/runners/common.py", line 1500, in apache_beam.runners.common.DoFnRunner.process
    self._reraise_augmented(exn, windowed_value)
  File "apache_beam/runners/common.py", line 1588, in apache_beam.runners.common.DoFnRunner._reraise_augmented
    raise exn
  File "apache_beam/runners/common.py", line 1498, in apache_beam.runners.common.DoFnRunner.process
    return self.do_fn_invoker.invoke_process(windowed_value)
  File "apache_beam/runners/common.py", line 684, in apache_beam.runners.common.SimpleInvoker.invoke_process
    self.output_handler.handle_process_outputs(
  File "apache_beam/runners/common.py", line 1683, in apache_beam.runners.common._OutputHandler.handle_process_outputs
    self._write_value_to_tag(tag, windowed_value, watermark_estimator)
  File "apache_beam/runners/common.py", line 1796, in apache_beam.runners.common._OutputHandler._write_value_to_tag
    self.main_receivers.receive(windowed_value)
  File "apache_beam/runners/worker/operations.py", line 263, in apache_beam.runners.worker.operations.SingletonElementConsumerSet.receive
    self.consumer.process(windowed_value)
  File "apache_beam/runners/worker/operations.py", line 954, in apache_beam.runners.worker.operations.DoOperation.process
    with self.scoped_process_state:
  File "apache_beam/runners/worker/operations.py", line 955, in apache_beam.runners.worker.operations.DoOperation.process
    delayed_applications = self.dofn_runner.process(o)
  File "apache_beam/runners/common.py", line 1500, in apache_beam.runners.common.DoFnRunner.process
    self._reraise_augmented(exn, windowed_value)
  File "apache_beam/runners/common.py", line 1588, in apache_beam.runners.common.DoFnRunner._reraise_augmented
    raise exn
  File "apache_beam/runners/common.py", line 1498, in apache_beam.runners.common.DoFnRunner.process
    return self.do_fn_invoker.invoke_process(windowed_value)
  File "apache_beam/runners/common.py", line 684, in apache_beam.runners.common.SimpleInvoker.invoke_process
    self.output_handler.handle_process_outputs(
  File "apache_beam/runners/common.py", line 1683, in apache_beam.runners.common._OutputHandler.handle_process_outputs
    self._write_value_to_tag(tag, windowed_value, watermark_estimator)
  File "apache_beam/runners/common.py", line 1796, in apache_beam.runners.common._OutputHandler._write_value_to_tag
    self.main_receivers.receive(windowed_value)
  File "apache_beam/runners/worker/operations.py", line 263, in apache_beam.runners.worker.operations.SingletonElementConsumerSet.receive
    self.consumer.process(windowed_value)
  File "apache_beam/runners/worker/operations.py", line 954, in apache_beam.runners.worker.operations.DoOperation.process
    with self.scoped_process_state:
  File "apache_beam/runners/worker/operations.py", line 955, in apache_beam.runners.worker.operations.DoOperation.process
    delayed_applications = self.dofn_runner.process(o)
  File "apache_beam/runners/common.py", line 1500, in apache_beam.runners.common.DoFnRunner.process
    self._reraise_augmented(exn, windowed_value)
  File "apache_beam/runners/common.py", line 1609, in apache_beam.runners.common.DoFnRunner._reraise_augmented
    raise new_exn
  File "apache_beam/runners/common.py", line 1498, in apache_beam.runners.common.DoFnRunner.process
    return self.do_fn_invoker.invoke_process(windowed_value)
  File "apache_beam/runners/common.py", line 912, in apache_beam.runners.common.PerWindowInvoker.invoke_process
    self._invoke_process_per_window(
  File "apache_beam/runners/common.py", line 1057, in apache_beam.runners.common.PerWindowInvoker._invoke_process_per_window
    self.process_method(*args_for_process, **kwargs_for_process),
  File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/inference/base.py", line 1933, in process
    return self._run_inference(batch, inference_args)
           ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
  File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/inference/base.py", line 1903, in _run_inference
    raise e
  File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/inference/base.py", line 1889, in _run_inference
    result_generator = self._model_handler.run_inference(
        batch, model, inference_args)
  File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/inference/base.py", line 1228, in run_inference
    return self._base.run_inference(batch, model, inference_args)
           ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/inference/base.py", line 764, in run_inference
    self._unkeyed.run_inference(unkeyed_batch, model, inference_args))
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/anomaly/detectors/pyod_adapter.py", line 84, in run_inference
    predictions = model.decision_function(vectorized_batch)
  File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/pyod/models/iforest.py", line 243, in decision_function
    check_is_fitted(self, ['decision_scores_', 'threshold_', 'labels_'])
    ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/sklearn/utils/validation.py", line 1699, in check_is_fitted
    tags = get_tags(estimator)
  File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/sklearn/utils/_tags.py", line 283, in get_tags
    raise AttributeError(
    ...<8 lines>...
    )
AttributeError: The following error was raised: 'IForest' object has no attribute '__sklearn_tags__'. It seems that there are no classes that implement `__sklearn_tags__` in the MRO and/or all classes in the MRO call `super().__sklearn_tags__()`. Make sure to inherit from `BaseEstimator` which implements `__sklearn_tags__` (or alternatively define `__sklearn_tags__` but we don't recommend this approach). Note that `BaseEstimator` needs to be on the right side of other Mixins in the inheritance order. [while running 'AnomalyDetection/RunOfflineDetector/Call RunInference (OfflineDetector:14e61f)/BeamML_RunInference']
a = (<apache_beam.ml.anomaly.detectors.pyod_adapter_test.PyODIForestTest testMethod=test_scoring_with_matched_features_0>,)
kw = {}

    @wraps(func)
    def standalone_func(*a, **kw):
>       return func(*(a + p.args), **p.kwargs, **kw)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/parameterized/parameterized.py:620: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
apache_beam/ml/anomaly/detectors/pyod_adapter_test.py:130: in test_scoring_with_matched_features
    with beam.Pipeline(options=options) as p:
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/pipeline.py:648: in __exit__
    self.result.wait_until_finish()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <apache_beam.runners.portability.portable_runner.PipelineResult object at 0x7b2bc3dada90>
duration = None

    def wait_until_finish(self, duration=None):
      """
      :param duration: The maximum time in milliseconds to wait for the result of
      the execution. If None or zero, will wait until the pipeline finishes.
      :return: The result of the pipeline, i.e. PipelineResult.
      """
      last_error_text = None
    
      def read_messages() -> None:
        nonlocal last_error_text
        previous_state = -1
        for message in self._message_stream:
          if message.HasField('message_response'):
            mr = message.message_response
            logging.log(MESSAGE_LOG_LEVELS[mr.importance], "%s", mr.message_text)
            if mr.importance == beam_job_api_pb2.JobMessage.JOB_MESSAGE_ERROR:
              last_error_text = mr.message_text
          else:
            current_state = message.state_response.state
            if current_state != previous_state:
              _LOGGER.info(
                  "Job state changed to %s",
                  self.runner_api_state_to_pipeline_state(current_state))
              previous_state = current_state
          self._messages.append(message)
    
      message_thread = threading.Thread(
          target=read_messages, name='wait_until_finish_read')
      message_thread.daemon = True
      message_thread.start()
    
      if duration:
        state_thread = threading.Thread(
            target=functools.partial(self._observe_state, message_thread),
            name='wait_until_finish_state_observer')
        state_thread.daemon = True
        state_thread.start()
        start_time = time.time()
        duration_secs = duration / 1000
        while (time.time() - start_time < duration_secs and
               state_thread.is_alive()):
          time.sleep(1)
      else:
        self._observe_state(message_thread)
    
      if self._runtime_exception:
>       raise self._runtime_exception
E       RuntimeError: Pipeline job-001 failed in state FAILED: bundle inst003 stage-007 failed:Traceback (most recent call last):
E         File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/sklearn/utils/_tags.py", line 275, in get_tags
E           tags = estimator.__sklearn_tags__()
E                  ^^^^^^^^^^^^^^^^^^^^^^^^^^
E       AttributeError: 'IForest' object has no attribute '__sklearn_tags__'
E       
E       During handling of the above exception, another exception occurred:
E       
E       Traceback (most recent call last):
E         File "apache_beam/runners/common.py", line 1498, in apache_beam.runners.common.DoFnRunner.process
E           return self.do_fn_invoker.invoke_process(windowed_value)
E         File "apache_beam/runners/common.py", line 912, in apache_beam.runners.common.PerWindowInvoker.invoke_process
E           self._invoke_process_per_window(
E         File "apache_beam/runners/common.py", line 1057, in apache_beam.runners.common.PerWindowInvoker._invoke_process_per_window
E           self.process_method(*args_for_process, **kwargs_for_process),
E         File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/inference/base.py", line 1933, in process
E           return self._run_inference(batch, inference_args)
E                  ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
E         File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/inference/base.py", line 1903, in _run_inference
E           raise e
E         File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/inference/base.py", line 1889, in _run_inference
E           result_generator = self._model_handler.run_inference(
E               batch, model, inference_args)
E         File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/inference/base.py", line 1228, in run_inference
E           return self._base.run_inference(batch, model, inference_args)
E                  ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
E         File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/inference/base.py", line 764, in run_inference
E           self._unkeyed.run_inference(unkeyed_batch, model, inference_args))
E           ~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
E         File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/anomaly/detectors/pyod_adapter.py", line 84, in run_inference
E           predictions = model.decision_function(vectorized_batch)
E         File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/pyod/models/iforest.py", line 243, in decision_function
E           check_is_fitted(self, ['decision_scores_', 'threshold_', 'labels_'])
E           ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
E         File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/sklearn/utils/validation.py", line 1699, in check_is_fitted
E           tags = get_tags(estimator)
E         File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/sklearn/utils/_tags.py", line 283, in get_tags
E           raise AttributeError(
E           ...<8 lines>...
E           )
E       AttributeError: The following error was raised: 'IForest' object has no attribute '__sklearn_tags__'. It seems that there are no classes that implement `__sklearn_tags__` in the MRO and/or all classes in the MRO call `super().__sklearn_tags__()`. Make sure to inherit from `BaseEstimator` which implements `__sklearn_tags__` (or alternatively define `__sklearn_tags__` but we don't recommend this approach). Note that `BaseEstimator` needs to be on the right side of other Mixins in the inheritance order.
E       
E       During handling of the above exception, another exception occurred:
E       
E       Traceback (most recent call last):
E         File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/worker/sdk_worker.py", line 316, in _execute
E           response = task()
E         File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/worker/sdk_worker.py", line 390, in <lambda>
E           lambda: self.create_worker().do_instruction(request), request)
E                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^
E         File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/worker/sdk_worker.py", line 669, in do_instruction
E           return getattr(self, request_type)(
E                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~^
E               getattr(request, request_type), request.instruction_id)
E               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
E         File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/worker/sdk_worker.py", line 707, in process_bundle
E           bundle_processor.process_bundle(instruction_id))
E           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^
E         File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/worker/bundle_processor.py", line 1302, in process_bundle
E           input_op_by_transform_id[element.transform_id].process_encoded(
E           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
E               element.data)
E               ^^^^^^^^^^^^^
E         File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/worker/bundle_processor.py", line 242, in process_encoded
E           self.output(decoded_value)
E           ~~~~~~~~~~~^^^^^^^^^^^^^^^
E         File "apache_beam/runners/worker/operations.py", line 568, in apache_beam.runners.worker.operations.Operation.output
E           def output(self, windowed_value, output_index=0):
E         File "apache_beam/runners/worker/operations.py", line 570, in apache_beam.runners.worker.operations.Operation.output
E           _cast_to_receiver(self.receivers[output_index]).receive(windowed_value)
E         File "apache_beam/runners/worker/operations.py", line 260, in apache_beam.runners.worker.operations.SingletonElementConsumerSet.receive
E           def receive(self, windowed_value):
E         File "apache_beam/runners/worker/operations.py", line 263, in apache_beam.runners.worker.operations.SingletonElementConsumerSet.receive
E           self.consumer.process(windowed_value)
E         File "apache_beam/runners/worker/operations.py", line 954, in apache_beam.runners.worker.operations.DoOperation.process
E           with self.scoped_process_state:
E         File "apache_beam/runners/worker/operations.py", line 955, in apache_beam.runners.worker.operations.DoOperation.process
E           delayed_applications = self.dofn_runner.process(o)
E         File "apache_beam/runners/common.py", line 1500, in apache_beam.runners.common.DoFnRunner.process
E           self._reraise_augmented(exn, windowed_value)
E         File "apache_beam/runners/common.py", line 1588, in apache_beam.runners.common.DoFnRunner._reraise_augmented
E           raise exn
E         File "apache_beam/runners/common.py", line 1498, in apache_beam.runners.common.DoFnRunner.process
E           return self.do_fn_invoker.invoke_process(windowed_value)
E         File "apache_beam/runners/common.py", line 684, in apache_beam.runners.common.SimpleInvoker.invoke_process
E           self.output_handler.handle_process_outputs(
E         File "apache_beam/runners/common.py", line 1683, in apache_beam.runners.common._OutputHandler.handle_process_outputs
E           self._write_value_to_tag(tag, windowed_value, watermark_estimator)
E         File "apache_beam/runners/common.py", line 1796, in apache_beam.runners.common._OutputHandler._write_value_to_tag
E           self.main_receivers.receive(windowed_value)
E         File "apache_beam/runners/worker/operations.py", line 263, in apache_beam.runners.worker.operations.SingletonElementConsumerSet.receive
E           self.consumer.process(windowed_value)
E         File "apache_beam/runners/worker/operations.py", line 954, in apache_beam.runners.worker.operations.DoOperation.process
E           with self.scoped_process_state:
E         File "apache_beam/runners/worker/operations.py", line 955, in apache_beam.runners.worker.operations.DoOperation.process
E           delayed_applications = self.dofn_runner.process(o)
E         File "apache_beam/runners/common.py", line 1500, in apache_beam.runners.common.DoFnRunner.process
E           self._reraise_augmented(exn, windowed_value)
E         File "apache_beam/runners/common.py", line 1588, in apache_beam.runners.common.DoFnRunner._reraise_augmented
E           raise exn
E         File "apache_beam/runners/common.py", line 1498, in apache_beam.runners.common.DoFnRunner.process
E           return self.do_fn_invoker.invoke_process(windowed_value)
E         File "apache_beam/runners/common.py", line 684, in apache_beam.runners.common.SimpleInvoker.invoke_process
E           self.output_handler.handle_process_outputs(
E         File "apache_beam/runners/common.py", line 1683, in apache_beam.runners.common._OutputHandler.handle_process_outputs
E           self._write_value_to_tag(tag, windowed_value, watermark_estimator)
E         File "apache_beam/runners/common.py", line 1796, in apache_beam.runners.common._OutputHandler._write_value_to_tag
E           self.main_receivers.receive(windowed_value)
E         File "apache_beam/runners/worker/operations.py", line 263, in apache_beam.runners.worker.operations.SingletonElementConsumerSet.receive
E           self.consumer.process(windowed_value)
E         File "apache_beam/runners/worker/operations.py", line 954, in apache_beam.runners.worker.operations.DoOperation.process
E           with self.scoped_process_state:
E         File "apache_beam/runners/worker/operations.py", line 955, in apache_beam.runners.worker.operations.DoOperation.process
E           delayed_applications = self.dofn_runner.process(o)
E         File "apache_beam/runners/common.py", line 1500, in apache_beam.runners.common.DoFnRunner.process
E           self._reraise_augmented(exn, windowed_value)
E         File "apache_beam/runners/common.py", line 1588, in apache_beam.runners.common.DoFnRunner._reraise_augmented
E           raise exn
E         File "apache_beam/runners/common.py", line 1498, in apache_beam.runners.common.DoFnRunner.process
E           return self.do_fn_invoker.invoke_process(windowed_value)
E         File "apache_beam/runners/common.py", line 684, in apache_beam.runners.common.SimpleInvoker.invoke_process
E           self.output_handler.handle_process_outputs(
E         File "apache_beam/runners/common.py", line 1683, in apache_beam.runners.common._OutputHandler.handle_process_outputs
E           self._write_value_to_tag(tag, windowed_value, watermark_estimator)
E         File "apache_beam/runners/common.py", line 1796, in apache_beam.runners.common._OutputHandler._write_value_to_tag
E           self.main_receivers.receive(windowed_value)
E         File "apache_beam/runners/worker/operations.py", line 263, in apache_beam.runners.worker.operations.SingletonElementConsumerSet.receive
E           self.consumer.process(windowed_value)
E         File "apache_beam/runners/worker/operations.py", line 954, in apache_beam.runners.worker.operations.DoOperation.process
E           with self.scoped_process_state:
E         File "apache_beam/runners/worker/operations.py", line 955, in apache_beam.runners.worker.operations.DoOperation.process
E           delayed_applications = self.dofn_runner.process(o)
E         File "apache_beam/runners/common.py", line 1500, in apache_beam.runners.common.DoFnRunner.process
E           self._reraise_augmented(exn, windowed_value)
E         File "apache_beam/runners/common.py", line 1588, in apache_beam.runners.common.DoFnRunner._reraise_augmented
E           raise exn
E         File "apache_beam/runners/common.py", line 1498, in apache_beam.runners.common.DoFnRunner.process
E           return self.do_fn_invoker.invoke_process(windowed_value)
E         File "apache_beam/runners/common.py", line 684, in apache_beam.runners.common.SimpleInvoker.invoke_process
E           self.output_handler.handle_process_outputs(
E         File "apache_beam/runners/common.py", line 1683, in apache_beam.runners.common._OutputHandler.handle_process_outputs
E           self._write_value_to_tag(tag, windowed_value, watermark_estimator)
E         File "apache_beam/runners/common.py", line 1796, in apache_beam.runners.common._OutputHandler._write_value_to_tag
E           self.main_receivers.receive(windowed_value)
E         File "apache_beam/runners/worker/operations.py", line 263, in apache_beam.runners.worker.operations.SingletonElementConsumerSet.receive
E           self.consumer.process(windowed_value)
E         File "apache_beam/runners/worker/operations.py", line 954, in apache_beam.runners.worker.operations.DoOperation.process
E           with self.scoped_process_state:
E         File "apache_beam/runners/worker/operations.py", line 955, in apache_beam.runners.worker.operations.DoOperation.process
E           delayed_applications = self.dofn_runner.process(o)
E         File "apache_beam/runners/common.py", line 1500, in apache_beam.runners.common.DoFnRunner.process
E           self._reraise_augmented(exn, windowed_value)
E         File "apache_beam/runners/common.py", line 1588, in apache_beam.runners.common.DoFnRunner._reraise_augmented
E           raise exn
E         File "apache_beam/runners/common.py", line 1498, in apache_beam.runners.common.DoFnRunner.process
E           return self.do_fn_invoker.invoke_process(windowed_value)
E         File "apache_beam/runners/common.py", line 684, in apache_beam.runners.common.SimpleInvoker.invoke_process
E           self.output_handler.handle_process_outputs(
E         File "apache_beam/runners/common.py", line 1683, in apache_beam.runners.common._OutputHandler.handle_process_outputs
E           self._write_value_to_tag(tag, windowed_value, watermark_estimator)
E         File "apache_beam/runners/common.py", line 1796, in apache_beam.runners.common._OutputHandler._write_value_to_tag
E           self.main_receivers.receive(windowed_value)
E         File "apache_beam/runners/worker/operations.py", line 263, in apache_beam.runners.worker.operations.SingletonElementConsumerSet.receive
E           self.consumer.process(windowed_value)
E         File "apache_beam/runners/worker/operations.py", line 954, in apache_beam.runners.worker.operations.DoOperation.process
E           with self.scoped_process_state:
E         File "apache_beam/runners/worker/operations.py", line 955, in apache_beam.runners.worker.operations.DoOperation.process
E           delayed_applications = self.dofn_runner.process(o)
E         File "apache_beam/runners/common.py", line 1500, in apache_beam.runners.common.DoFnRunner.process
E           self._reraise_augmented(exn, windowed_value)
E         File "apache_beam/runners/common.py", line 1588, in apache_beam.runners.common.DoFnRunner._reraise_augmented
E           raise exn
E         File "apache_beam/runners/common.py", line 1498, in apache_beam.runners.common.DoFnRunner.process
E           return self.do_fn_invoker.invoke_process(windowed_value)
E         File "apache_beam/runners/common.py", line 684, in apache_beam.runners.common.SimpleInvoker.invoke_process
E           self.output_handler.handle_process_outputs(
E         File "apache_beam/runners/common.py", line 1683, in apache_beam.runners.common._OutputHandler.handle_process_outputs
E           self._write_value_to_tag(tag, windowed_value, watermark_estimator)
E         File "apache_beam/runners/common.py", line 1796, in apache_beam.runners.common._OutputHandler._write_value_to_tag
E           self.main_receivers.receive(windowed_value)
E         File "apache_beam/runners/worker/operations.py", line 263, in apache_beam.runners.worker.operations.SingletonElementConsumerSet.receive
E           self.consumer.process(windowed_value)
E         File "apache_beam/runners/worker/operations.py", line 954, in apache_beam.runners.worker.operations.DoOperation.process
E           with self.scoped_process_state:
E         File "apache_beam/runners/worker/operations.py", line 955, in apache_beam.runners.worker.operations.DoOperation.process
E           delayed_applications = self.dofn_runner.process(o)
E         File "apache_beam/runners/common.py", line 1500, in apache_beam.runners.common.DoFnRunner.process
E           self._reraise_augmented(exn, windowed_value)
E         File "apache_beam/runners/common.py", line 1588, in apache_beam.runners.common.DoFnRunner._reraise_augmented
E           raise exn
E         File "apache_beam/runners/common.py", line 1498, in apache_beam.runners.common.DoFnRunner.process
E           return self.do_fn_invoker.invoke_process(windowed_value)
E         File "apache_beam/runners/common.py", line 684, in apache_beam.runners.common.SimpleInvoker.invoke_process
E           self.output_handler.handle_process_outputs(
E         File "apache_beam/runners/common.py", line 1683, in apache_beam.runners.common._OutputHandler.handle_process_outputs
E           self._write_value_to_tag(tag, windowed_value, watermark_estimator)
E         File "apache_beam/runners/common.py", line 1796, in apache_beam.runners.common._OutputHandler._write_value_to_tag
E           self.main_receivers.receive(windowed_value)
E         File "apache_beam/runners/worker/operations.py", line 263, in apache_beam.runners.worker.operations.SingletonElementConsumerSet.receive
E           self.consumer.process(windowed_value)
E         File "apache_beam/runners/worker/operations.py", line 954, in apache_beam.runners.worker.operations.DoOperation.process
E           with self.scoped_process_state:
E         File "apache_beam/runners/worker/operations.py", line 955, in apache_beam.runners.worker.operations.DoOperation.process
E           delayed_applications = self.dofn_runner.process(o)
E         File "apache_beam/runners/common.py", line 1500, in apache_beam.runners.common.DoFnRunner.process
E           self._reraise_augmented(exn, windowed_value)
E         File "apache_beam/runners/common.py", line 1609, in apache_beam.runners.common.DoFnRunner._reraise_augmented
E           raise new_exn
E         File "apache_beam/runners/common.py", line 1498, in apache_beam.runners.common.DoFnRunner.process
E           return self.do_fn_invoker.invoke_process(windowed_value)
E         File "apache_beam/runners/common.py", line 912, in apache_beam.runners.common.PerWindowInvoker.invoke_process
E           self._invoke_process_per_window(
E         File "apache_beam/runners/common.py", line 1057, in apache_beam.runners.common.PerWindowInvoker._invoke_process_per_window
E           self.process_method(*args_for_process, **kwargs_for_process),
E         File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/inference/base.py", line 1933, in process
E           return self._run_inference(batch, inference_args)
E                  ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
E         File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/inference/base.py", line 1903, in _run_inference
E           raise e
E         File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/inference/base.py", line 1889, in _run_inference
E           result_generator = self._model_handler.run_inference(
E               batch, model, inference_args)
E         File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/inference/base.py", line 1228, in run_inference
E           return self._base.run_inference(batch, model, inference_args)
E                  ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
E         File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/inference/base.py", line 764, in run_inference
E           self._unkeyed.run_inference(unkeyed_batch, model, inference_args))
E           ~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
E         File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/anomaly/detectors/pyod_adapter.py", line 84, in run_inference
E           predictions = model.decision_function(vectorized_batch)
E         File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/pyod/models/iforest.py", line 243, in decision_function
E           check_is_fitted(self, ['decision_scores_', 'threshold_', 'labels_'])
E           ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
E         File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/sklearn/utils/validation.py", line 1699, in check_is_fitted
E           tags = get_tags(estimator)
E         File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/sklearn/utils/_tags.py", line 283, in get_tags
E           raise AttributeError(
E           ...<8 lines>...
E           )
E       AttributeError: The following error was raised: 'IForest' object has no attribute '__sklearn_tags__'. It seems that there are no classes that implement `__sklearn_tags__` in the MRO and/or all classes in the MRO call `super().__sklearn_tags__()`. Make sure to inherit from `BaseEstimator` which implements `__sklearn_tags__` (or alternatively define `__sklearn_tags__` but we don't recommend this approach). Note that `BaseEstimator` needs to be on the right side of other Mixins in the inheritance order. [while running 'AnomalyDetection/RunOfflineDetector/Call RunInference (OfflineDetector:14e61f)/BeamML_RunInference']

target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/portability/portable_runner.py:571: RuntimeError

Check warning on line 0 in apache_beam.ml.anomaly.detectors.pyod_adapter_test.PyODIForestTest

See this annotation in the file changed.

@github-actions github-actions / Python 3.13 Test Results (self-hosted, ubuntu-20.04, main)

test_scoring_with_matched_features_1 (apache_beam.ml.anomaly.detectors.pyod_adapter_test.PyODIForestTest) failed

sdks/python/test-suites/tox/py313/build/srcs/sdks/python/pytest_py313-ml.xml [took 1s]
Raw output
RuntimeError: Pipeline job-002 failed in state FAILED: bundle inst003 stage-007 failed:Traceback (most recent call last):
  File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/sklearn/utils/_tags.py", line 275, in get_tags
    tags = estimator.__sklearn_tags__()
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'IForest' object has no attribute '__sklearn_tags__'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "apache_beam/runners/common.py", line 1498, in apache_beam.runners.common.DoFnRunner.process
    return self.do_fn_invoker.invoke_process(windowed_value)
  File "apache_beam/runners/common.py", line 912, in apache_beam.runners.common.PerWindowInvoker.invoke_process
    self._invoke_process_per_window(
  File "apache_beam/runners/common.py", line 1057, in apache_beam.runners.common.PerWindowInvoker._invoke_process_per_window
    self.process_method(*args_for_process, **kwargs_for_process),
  File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/inference/base.py", line 1933, in process
    return self._run_inference(batch, inference_args)
           ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
  File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/inference/base.py", line 1903, in _run_inference
    raise e
  File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/inference/base.py", line 1889, in _run_inference
    result_generator = self._model_handler.run_inference(
        batch, model, inference_args)
  File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/inference/base.py", line 1228, in run_inference
    return self._base.run_inference(batch, model, inference_args)
           ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/inference/base.py", line 764, in run_inference
    self._unkeyed.run_inference(unkeyed_batch, model, inference_args))
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/anomaly/detectors/pyod_adapter.py", line 84, in run_inference
    predictions = model.decision_function(vectorized_batch)
  File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/pyod/models/iforest.py", line 243, in decision_function
    check_is_fitted(self, ['decision_scores_', 'threshold_', 'labels_'])
    ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/sklearn/utils/validation.py", line 1699, in check_is_fitted
    tags = get_tags(estimator)
  File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/sklearn/utils/_tags.py", line 283, in get_tags
    raise AttributeError(
    ...<8 lines>...
    )
AttributeError: The following error was raised: 'IForest' object has no attribute '__sklearn_tags__'. It seems that there are no classes that implement `__sklearn_tags__` in the MRO and/or all classes in the MRO call `super().__sklearn_tags__()`. Make sure to inherit from `BaseEstimator` which implements `__sklearn_tags__` (or alternatively define `__sklearn_tags__` but we don't recommend this approach). Note that `BaseEstimator` needs to be on the right side of other Mixins in the inheritance order.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/worker/sdk_worker.py", line 316, in _execute
    response = task()
  File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/worker/sdk_worker.py", line 390, in <lambda>
    lambda: self.create_worker().do_instruction(request), request)
            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^
  File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/worker/sdk_worker.py", line 669, in do_instruction
    return getattr(self, request_type)(
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~^
        getattr(request, request_type), request.instruction_id)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/worker/sdk_worker.py", line 707, in process_bundle
    bundle_processor.process_bundle(instruction_id))
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^
  File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/worker/bundle_processor.py", line 1302, in process_bundle
    input_op_by_transform_id[element.transform_id].process_encoded(
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
        element.data)
        ^^^^^^^^^^^^^
  File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/worker/bundle_processor.py", line 242, in process_encoded
    self.output(decoded_value)
    ~~~~~~~~~~~^^^^^^^^^^^^^^^
  File "apache_beam/runners/worker/operations.py", line 568, in apache_beam.runners.worker.operations.Operation.output
    def output(self, windowed_value, output_index=0):
  File "apache_beam/runners/worker/operations.py", line 570, in apache_beam.runners.worker.operations.Operation.output
    _cast_to_receiver(self.receivers[output_index]).receive(windowed_value)
  File "apache_beam/runners/worker/operations.py", line 260, in apache_beam.runners.worker.operations.SingletonElementConsumerSet.receive
    def receive(self, windowed_value):
  File "apache_beam/runners/worker/operations.py", line 263, in apache_beam.runners.worker.operations.SingletonElementConsumerSet.receive
    self.consumer.process(windowed_value)
  File "apache_beam/runners/worker/operations.py", line 954, in apache_beam.runners.worker.operations.DoOperation.process
    with self.scoped_process_state:
  File "apache_beam/runners/worker/operations.py", line 955, in apache_beam.runners.worker.operations.DoOperation.process
    delayed_applications = self.dofn_runner.process(o)
  File "apache_beam/runners/common.py", line 1500, in apache_beam.runners.common.DoFnRunner.process
    self._reraise_augmented(exn, windowed_value)
  File "apache_beam/runners/common.py", line 1588, in apache_beam.runners.common.DoFnRunner._reraise_augmented
    raise exn
  File "apache_beam/runners/common.py", line 1498, in apache_beam.runners.common.DoFnRunner.process
    return self.do_fn_invoker.invoke_process(windowed_value)
  File "apache_beam/runners/common.py", line 684, in apache_beam.runners.common.SimpleInvoker.invoke_process
    self.output_handler.handle_process_outputs(
  File "apache_beam/runners/common.py", line 1683, in apache_beam.runners.common._OutputHandler.handle_process_outputs
    self._write_value_to_tag(tag, windowed_value, watermark_estimator)
  File "apache_beam/runners/common.py", line 1796, in apache_beam.runners.common._OutputHandler._write_value_to_tag
    self.main_receivers.receive(windowed_value)
  File "apache_beam/runners/worker/operations.py", line 263, in apache_beam.runners.worker.operations.SingletonElementConsumerSet.receive
    self.consumer.process(windowed_value)
  File "apache_beam/runners/worker/operations.py", line 954, in apache_beam.runners.worker.operations.DoOperation.process
    with self.scoped_process_state:
  File "apache_beam/runners/worker/operations.py", line 955, in apache_beam.runners.worker.operations.DoOperation.process
    delayed_applications = self.dofn_runner.process(o)
  File "apache_beam/runners/common.py", line 1500, in apache_beam.runners.common.DoFnRunner.process
    self._reraise_augmented(exn, windowed_value)
  File "apache_beam/runners/common.py", line 1588, in apache_beam.runners.common.DoFnRunner._reraise_augmented
    raise exn
  File "apache_beam/runners/common.py", line 1498, in apache_beam.runners.common.DoFnRunner.process
    return self.do_fn_invoker.invoke_process(windowed_value)
  File "apache_beam/runners/common.py", line 684, in apache_beam.runners.common.SimpleInvoker.invoke_process
    self.output_handler.handle_process_outputs(
  File "apache_beam/runners/common.py", line 1683, in apache_beam.runners.common._OutputHandler.handle_process_outputs
    self._write_value_to_tag(tag, windowed_value, watermark_estimator)
  File "apache_beam/runners/common.py", line 1796, in apache_beam.runners.common._OutputHandler._write_value_to_tag
    self.main_receivers.receive(windowed_value)
  File "apache_beam/runners/worker/operations.py", line 263, in apache_beam.runners.worker.operations.SingletonElementConsumerSet.receive
    self.consumer.process(windowed_value)
  File "apache_beam/runners/worker/operations.py", line 954, in apache_beam.runners.worker.operations.DoOperation.process
    with self.scoped_process_state:
  File "apache_beam/runners/worker/operations.py", line 955, in apache_beam.runners.worker.operations.DoOperation.process
    delayed_applications = self.dofn_runner.process(o)
  File "apache_beam/runners/common.py", line 1500, in apache_beam.runners.common.DoFnRunner.process
    self._reraise_augmented(exn, windowed_value)
  File "apache_beam/runners/common.py", line 1588, in apache_beam.runners.common.DoFnRunner._reraise_augmented
    raise exn
  File "apache_beam/runners/common.py", line 1498, in apache_beam.runners.common.DoFnRunner.process
    return self.do_fn_invoker.invoke_process(windowed_value)
  File "apache_beam/runners/common.py", line 684, in apache_beam.runners.common.SimpleInvoker.invoke_process
    self.output_handler.handle_process_outputs(
  File "apache_beam/runners/common.py", line 1683, in apache_beam.runners.common._OutputHandler.handle_process_outputs
    self._write_value_to_tag(tag, windowed_value, watermark_estimator)
  File "apache_beam/runners/common.py", line 1796, in apache_beam.runners.common._OutputHandler._write_value_to_tag
    self.main_receivers.receive(windowed_value)
  File "apache_beam/runners/worker/operations.py", line 263, in apache_beam.runners.worker.operations.SingletonElementConsumerSet.receive
    self.consumer.process(windowed_value)
  File "apache_beam/runners/worker/operations.py", line 954, in apache_beam.runners.worker.operations.DoOperation.process
    with self.scoped_process_state:
  File "apache_beam/runners/worker/operations.py", line 955, in apache_beam.runners.worker.operations.DoOperation.process
    delayed_applications = self.dofn_runner.process(o)
  File "apache_beam/runners/common.py", line 1500, in apache_beam.runners.common.DoFnRunner.process
    self._reraise_augmented(exn, windowed_value)
  File "apache_beam/runners/common.py", line 1588, in apache_beam.runners.common.DoFnRunner._reraise_augmented
    raise exn
  File "apache_beam/runners/common.py", line 1498, in apache_beam.runners.common.DoFnRunner.process
    return self.do_fn_invoker.invoke_process(windowed_value)
  File "apache_beam/runners/common.py", line 684, in apache_beam.runners.common.SimpleInvoker.invoke_process
    self.output_handler.handle_process_outputs(
  File "apache_beam/runners/common.py", line 1683, in apache_beam.runners.common._OutputHandler.handle_process_outputs
    self._write_value_to_tag(tag, windowed_value, watermark_estimator)
  File "apache_beam/runners/common.py", line 1796, in apache_beam.runners.common._OutputHandler._write_value_to_tag
    self.main_receivers.receive(windowed_value)
  File "apache_beam/runners/worker/operations.py", line 263, in apache_beam.runners.worker.operations.SingletonElementConsumerSet.receive
    self.consumer.process(windowed_value)
  File "apache_beam/runners/worker/operations.py", line 954, in apache_beam.runners.worker.operations.DoOperation.process
    with self.scoped_process_state:
  File "apache_beam/runners/worker/operations.py", line 955, in apache_beam.runners.worker.operations.DoOperation.process
    delayed_applications = self.dofn_runner.process(o)
  File "apache_beam/runners/common.py", line 1500, in apache_beam.runners.common.DoFnRunner.process
    self._reraise_augmented(exn, windowed_value)
  File "apache_beam/runners/common.py", line 1588, in apache_beam.runners.common.DoFnRunner._reraise_augmented
    raise exn
  File "apache_beam/runners/common.py", line 1498, in apache_beam.runners.common.DoFnRunner.process
    return self.do_fn_invoker.invoke_process(windowed_value)
  File "apache_beam/runners/common.py", line 684, in apache_beam.runners.common.SimpleInvoker.invoke_process
    self.output_handler.handle_process_outputs(
  File "apache_beam/runners/common.py", line 1683, in apache_beam.runners.common._OutputHandler.handle_process_outputs
    self._write_value_to_tag(tag, windowed_value, watermark_estimator)
  File "apache_beam/runners/common.py", line 1796, in apache_beam.runners.common._OutputHandler._write_value_to_tag
    self.main_receivers.receive(windowed_value)
  File "apache_beam/runners/worker/operations.py", line 263, in apache_beam.runners.worker.operations.SingletonElementConsumerSet.receive
    self.consumer.process(windowed_value)
  File "apache_beam/runners/worker/operations.py", line 954, in apache_beam.runners.worker.operations.DoOperation.process
    with self.scoped_process_state:
  File "apache_beam/runners/worker/operations.py", line 955, in apache_beam.runners.worker.operations.DoOperation.process
    delayed_applications = self.dofn_runner.process(o)
  File "apache_beam/runners/common.py", line 1500, in apache_beam.runners.common.DoFnRunner.process
    self._reraise_augmented(exn, windowed_value)
  File "apache_beam/runners/common.py", line 1588, in apache_beam.runners.common.DoFnRunner._reraise_augmented
    raise exn
  File "apache_beam/runners/common.py", line 1498, in apache_beam.runners.common.DoFnRunner.process
    return self.do_fn_invoker.invoke_process(windowed_value)
  File "apache_beam/runners/common.py", line 684, in apache_beam.runners.common.SimpleInvoker.invoke_process
    self.output_handler.handle_process_outputs(
  File "apache_beam/runners/common.py", line 1683, in apache_beam.runners.common._OutputHandler.handle_process_outputs
    self._write_value_to_tag(tag, windowed_value, watermark_estimator)
  File "apache_beam/runners/common.py", line 1796, in apache_beam.runners.common._OutputHandler._write_value_to_tag
    self.main_receivers.receive(windowed_value)
  File "apache_beam/runners/worker/operations.py", line 263, in apache_beam.runners.worker.operations.SingletonElementConsumerSet.receive
    self.consumer.process(windowed_value)
  File "apache_beam/runners/worker/operations.py", line 954, in apache_beam.runners.worker.operations.DoOperation.process
    with self.scoped_process_state:
  File "apache_beam/runners/worker/operations.py", line 955, in apache_beam.runners.worker.operations.DoOperation.process
    delayed_applications = self.dofn_runner.process(o)
  File "apache_beam/runners/common.py", line 1500, in apache_beam.runners.common.DoFnRunner.process
    self._reraise_augmented(exn, windowed_value)
  File "apache_beam/runners/common.py", line 1609, in apache_beam.runners.common.DoFnRunner._reraise_augmented
    raise new_exn
  File "apache_beam/runners/common.py", line 1498, in apache_beam.runners.common.DoFnRunner.process
    return self.do_fn_invoker.invoke_process(windowed_value)
  File "apache_beam/runners/common.py", line 912, in apache_beam.runners.common.PerWindowInvoker.invoke_process
    self._invoke_process_per_window(
  File "apache_beam/runners/common.py", line 1057, in apache_beam.runners.common.PerWindowInvoker._invoke_process_per_window
    self.process_method(*args_for_process, **kwargs_for_process),
  File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/inference/base.py", line 1933, in process
    return self._run_inference(batch, inference_args)
           ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
  File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/inference/base.py", line 1903, in _run_inference
    raise e
  File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/inference/base.py", line 1889, in _run_inference
    result_generator = self._model_handler.run_inference(
        batch, model, inference_args)
  File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/inference/base.py", line 1228, in run_inference
    return self._base.run_inference(batch, model, inference_args)
           ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/inference/base.py", line 764, in run_inference
    self._unkeyed.run_inference(unkeyed_batch, model, inference_args))
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/anomaly/detectors/pyod_adapter.py", line 84, in run_inference
    predictions = model.decision_function(vectorized_batch)
  File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/pyod/models/iforest.py", line 243, in decision_function
    check_is_fitted(self, ['decision_scores_', 'threshold_', 'labels_'])
    ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/sklearn/utils/validation.py", line 1699, in check_is_fitted
    tags = get_tags(estimator)
  File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/sklearn/utils/_tags.py", line 283, in get_tags
    raise AttributeError(
    ...<8 lines>...
    )
AttributeError: The following error was raised: 'IForest' object has no attribute '__sklearn_tags__'. It seems that there are no classes that implement `__sklearn_tags__` in the MRO and/or all classes in the MRO call `super().__sklearn_tags__()`. Make sure to inherit from `BaseEstimator` which implements `__sklearn_tags__` (or alternatively define `__sklearn_tags__` but we don't recommend this approach). Note that `BaseEstimator` needs to be on the right side of other Mixins in the inheritance order. [while running 'AnomalyDetection/RunOfflineDetector/Call RunInference (OfflineDetector:8cf85f)/BeamML_RunInference']
a = (<apache_beam.ml.anomaly.detectors.pyod_adapter_test.PyODIForestTest testMethod=test_scoring_with_matched_features_1>,)
kw = {}

    @wraps(func)
    def standalone_func(*a, **kw):
>       return func(*(a + p.args), **p.kwargs, **kw)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/parameterized/parameterized.py:620: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
apache_beam/ml/anomaly/detectors/pyod_adapter_test.py:130: in test_scoring_with_matched_features
    with beam.Pipeline(options=options) as p:
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/pipeline.py:648: in __exit__
    self.result.wait_until_finish()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <apache_beam.runners.portability.portable_runner.PipelineResult object at 0x7b2bc3de3250>
duration = None

    def wait_until_finish(self, duration=None):
      """
      :param duration: The maximum time in milliseconds to wait for the result of
      the execution. If None or zero, will wait until the pipeline finishes.
      :return: The result of the pipeline, i.e. PipelineResult.
      """
      last_error_text = None
    
      def read_messages() -> None:
        nonlocal last_error_text
        previous_state = -1
        for message in self._message_stream:
          if message.HasField('message_response'):
            mr = message.message_response
            logging.log(MESSAGE_LOG_LEVELS[mr.importance], "%s", mr.message_text)
            if mr.importance == beam_job_api_pb2.JobMessage.JOB_MESSAGE_ERROR:
              last_error_text = mr.message_text
          else:
            current_state = message.state_response.state
            if current_state != previous_state:
              _LOGGER.info(
                  "Job state changed to %s",
                  self.runner_api_state_to_pipeline_state(current_state))
              previous_state = current_state
          self._messages.append(message)
    
      message_thread = threading.Thread(
          target=read_messages, name='wait_until_finish_read')
      message_thread.daemon = True
      message_thread.start()
    
      if duration:
        state_thread = threading.Thread(
            target=functools.partial(self._observe_state, message_thread),
            name='wait_until_finish_state_observer')
        state_thread.daemon = True
        state_thread.start()
        start_time = time.time()
        duration_secs = duration / 1000
        while (time.time() - start_time < duration_secs and
               state_thread.is_alive()):
          time.sleep(1)
      else:
        self._observe_state(message_thread)
    
      if self._runtime_exception:
>       raise self._runtime_exception
E       RuntimeError: Pipeline job-002 failed in state FAILED: bundle inst003 stage-007 failed:Traceback (most recent call last):
E         File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/sklearn/utils/_tags.py", line 275, in get_tags
E           tags = estimator.__sklearn_tags__()
E                  ^^^^^^^^^^^^^^^^^^^^^^^^^^
E       AttributeError: 'IForest' object has no attribute '__sklearn_tags__'
E       
E       During handling of the above exception, another exception occurred:
E       
E       Traceback (most recent call last):
E         File "apache_beam/runners/common.py", line 1498, in apache_beam.runners.common.DoFnRunner.process
E           return self.do_fn_invoker.invoke_process(windowed_value)
E         File "apache_beam/runners/common.py", line 912, in apache_beam.runners.common.PerWindowInvoker.invoke_process
E           self._invoke_process_per_window(
E         File "apache_beam/runners/common.py", line 1057, in apache_beam.runners.common.PerWindowInvoker._invoke_process_per_window
E           self.process_method(*args_for_process, **kwargs_for_process),
E         File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/inference/base.py", line 1933, in process
E           return self._run_inference(batch, inference_args)
E                  ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
E         File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/inference/base.py", line 1903, in _run_inference
E           raise e
E         File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/inference/base.py", line 1889, in _run_inference
E           result_generator = self._model_handler.run_inference(
E               batch, model, inference_args)
E         File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/inference/base.py", line 1228, in run_inference
E           return self._base.run_inference(batch, model, inference_args)
E                  ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
E         File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/inference/base.py", line 764, in run_inference
E           self._unkeyed.run_inference(unkeyed_batch, model, inference_args))
E           ~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
E         File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/anomaly/detectors/pyod_adapter.py", line 84, in run_inference
E           predictions = model.decision_function(vectorized_batch)
E         File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/pyod/models/iforest.py", line 243, in decision_function
E           check_is_fitted(self, ['decision_scores_', 'threshold_', 'labels_'])
E           ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
E         File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/sklearn/utils/validation.py", line 1699, in check_is_fitted
E           tags = get_tags(estimator)
E         File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/sklearn/utils/_tags.py", line 283, in get_tags
E           raise AttributeError(
E           ...<8 lines>...
E           )
E       AttributeError: The following error was raised: 'IForest' object has no attribute '__sklearn_tags__'. It seems that there are no classes that implement `__sklearn_tags__` in the MRO and/or all classes in the MRO call `super().__sklearn_tags__()`. Make sure to inherit from `BaseEstimator` which implements `__sklearn_tags__` (or alternatively define `__sklearn_tags__` but we don't recommend this approach). Note that `BaseEstimator` needs to be on the right side of other Mixins in the inheritance order.
E       
E       During handling of the above exception, another exception occurred:
E       
E       Traceback (most recent call last):
E         File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/worker/sdk_worker.py", line 316, in _execute
E           response = task()
E         File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/worker/sdk_worker.py", line 390, in <lambda>
E           lambda: self.create_worker().do_instruction(request), request)
E                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^
E         File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/worker/sdk_worker.py", line 669, in do_instruction
E           return getattr(self, request_type)(
E                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~^
E               getattr(request, request_type), request.instruction_id)
E               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
E         File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/worker/sdk_worker.py", line 707, in process_bundle
E           bundle_processor.process_bundle(instruction_id))
E           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^
E         File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/worker/bundle_processor.py", line 1302, in process_bundle
E           input_op_by_transform_id[element.transform_id].process_encoded(
E           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
E               element.data)
E               ^^^^^^^^^^^^^
E         File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/worker/bundle_processor.py", line 242, in process_encoded
E           self.output(decoded_value)
E           ~~~~~~~~~~~^^^^^^^^^^^^^^^
E         File "apache_beam/runners/worker/operations.py", line 568, in apache_beam.runners.worker.operations.Operation.output
E           def output(self, windowed_value, output_index=0):
E         File "apache_beam/runners/worker/operations.py", line 570, in apache_beam.runners.worker.operations.Operation.output
E           _cast_to_receiver(self.receivers[output_index]).receive(windowed_value)
E         File "apache_beam/runners/worker/operations.py", line 260, in apache_beam.runners.worker.operations.SingletonElementConsumerSet.receive
E           def receive(self, windowed_value):
E         File "apache_beam/runners/worker/operations.py", line 263, in apache_beam.runners.worker.operations.SingletonElementConsumerSet.receive
E           self.consumer.process(windowed_value)
E         File "apache_beam/runners/worker/operations.py", line 954, in apache_beam.runners.worker.operations.DoOperation.process
E           with self.scoped_process_state:
E         File "apache_beam/runners/worker/operations.py", line 955, in apache_beam.runners.worker.operations.DoOperation.process
E           delayed_applications = self.dofn_runner.process(o)
E         File "apache_beam/runners/common.py", line 1500, in apache_beam.runners.common.DoFnRunner.process
E           self._reraise_augmented(exn, windowed_value)
E         File "apache_beam/runners/common.py", line 1588, in apache_beam.runners.common.DoFnRunner._reraise_augmented
E           raise exn
E         File "apache_beam/runners/common.py", line 1498, in apache_beam.runners.common.DoFnRunner.process
E           return self.do_fn_invoker.invoke_process(windowed_value)
E         File "apache_beam/runners/common.py", line 684, in apache_beam.runners.common.SimpleInvoker.invoke_process
E           self.output_handler.handle_process_outputs(
E         File "apache_beam/runners/common.py", line 1683, in apache_beam.runners.common._OutputHandler.handle_process_outputs
E           self._write_value_to_tag(tag, windowed_value, watermark_estimator)
E         File "apache_beam/runners/common.py", line 1796, in apache_beam.runners.common._OutputHandler._write_value_to_tag
E           self.main_receivers.receive(windowed_value)
E         File "apache_beam/runners/worker/operations.py", line 263, in apache_beam.runners.worker.operations.SingletonElementConsumerSet.receive
E           self.consumer.process(windowed_value)
E         File "apache_beam/runners/worker/operations.py", line 954, in apache_beam.runners.worker.operations.DoOperation.process
E           with self.scoped_process_state:
E         File "apache_beam/runners/worker/operations.py", line 955, in apache_beam.runners.worker.operations.DoOperation.process
E           delayed_applications = self.dofn_runner.process(o)
E         File "apache_beam/runners/common.py", line 1500, in apache_beam.runners.common.DoFnRunner.process
E           self._reraise_augmented(exn, windowed_value)
E         File "apache_beam/runners/common.py", line 1588, in apache_beam.runners.common.DoFnRunner._reraise_augmented
E           raise exn
E         File "apache_beam/runners/common.py", line 1498, in apache_beam.runners.common.DoFnRunner.process
E           return self.do_fn_invoker.invoke_process(windowed_value)
E         File "apache_beam/runners/common.py", line 684, in apache_beam.runners.common.SimpleInvoker.invoke_process
E           self.output_handler.handle_process_outputs(
E         File "apache_beam/runners/common.py", line 1683, in apache_beam.runners.common._OutputHandler.handle_process_outputs
E           self._write_value_to_tag(tag, windowed_value, watermark_estimator)
E         File "apache_beam/runners/common.py", line 1796, in apache_beam.runners.common._OutputHandler._write_value_to_tag
E           self.main_receivers.receive(windowed_value)
E         File "apache_beam/runners/worker/operations.py", line 263, in apache_beam.runners.worker.operations.SingletonElementConsumerSet.receive
E           self.consumer.process(windowed_value)
E         File "apache_beam/runners/worker/operations.py", line 954, in apache_beam.runners.worker.operations.DoOperation.process
E           with self.scoped_process_state:
E         File "apache_beam/runners/worker/operations.py", line 955, in apache_beam.runners.worker.operations.DoOperation.process
E           delayed_applications = self.dofn_runner.process(o)
E         File "apache_beam/runners/common.py", line 1500, in apache_beam.runners.common.DoFnRunner.process
E           self._reraise_augmented(exn, windowed_value)
E         File "apache_beam/runners/common.py", line 1588, in apache_beam.runners.common.DoFnRunner._reraise_augmented
E           raise exn
E         File "apache_beam/runners/common.py", line 1498, in apache_beam.runners.common.DoFnRunner.process
E           return self.do_fn_invoker.invoke_process(windowed_value)
E         File "apache_beam/runners/common.py", line 684, in apache_beam.runners.common.SimpleInvoker.invoke_process
E           self.output_handler.handle_process_outputs(
E         File "apache_beam/runners/common.py", line 1683, in apache_beam.runners.common._OutputHandler.handle_process_outputs
E           self._write_value_to_tag(tag, windowed_value, watermark_estimator)
E         File "apache_beam/runners/common.py", line 1796, in apache_beam.runners.common._OutputHandler._write_value_to_tag
E           self.main_receivers.receive(windowed_value)
E         File "apache_beam/runners/worker/operations.py", line 263, in apache_beam.runners.worker.operations.SingletonElementConsumerSet.receive
E           self.consumer.process(windowed_value)
E         File "apache_beam/runners/worker/operations.py", line 954, in apache_beam.runners.worker.operations.DoOperation.process
E           with self.scoped_process_state:
E         File "apache_beam/runners/worker/operations.py", line 955, in apache_beam.runners.worker.operations.DoOperation.process
E           delayed_applications = self.dofn_runner.process(o)
E         File "apache_beam/runners/common.py", line 1500, in apache_beam.runners.common.DoFnRunner.process
E           self._reraise_augmented(exn, windowed_value)
E         File "apache_beam/runners/common.py", line 1588, in apache_beam.runners.common.DoFnRunner._reraise_augmented
E           raise exn
E         File "apache_beam/runners/common.py", line 1498, in apache_beam.runners.common.DoFnRunner.process
E           return self.do_fn_invoker.invoke_process(windowed_value)
E         File "apache_beam/runners/common.py", line 684, in apache_beam.runners.common.SimpleInvoker.invoke_process
E           self.output_handler.handle_process_outputs(
E         File "apache_beam/runners/common.py", line 1683, in apache_beam.runners.common._OutputHandler.handle_process_outputs
E           self._write_value_to_tag(tag, windowed_value, watermark_estimator)
E         File "apache_beam/runners/common.py", line 1796, in apache_beam.runners.common._OutputHandler._write_value_to_tag
E           self.main_receivers.receive(windowed_value)
E         File "apache_beam/runners/worker/operations.py", line 263, in apache_beam.runners.worker.operations.SingletonElementConsumerSet.receive
E           self.consumer.process(windowed_value)
E         File "apache_beam/runners/worker/operations.py", line 954, in apache_beam.runners.worker.operations.DoOperation.process
E           with self.scoped_process_state:
E         File "apache_beam/runners/worker/operations.py", line 955, in apache_beam.runners.worker.operations.DoOperation.process
E           delayed_applications = self.dofn_runner.process(o)
E         File "apache_beam/runners/common.py", line 1500, in apache_beam.runners.common.DoFnRunner.process
E           self._reraise_augmented(exn, windowed_value)
E         File "apache_beam/runners/common.py", line 1588, in apache_beam.runners.common.DoFnRunner._reraise_augmented
E           raise exn
E         File "apache_beam/runners/common.py", line 1498, in apache_beam.runners.common.DoFnRunner.process
E           return self.do_fn_invoker.invoke_process(windowed_value)
E         File "apache_beam/runners/common.py", line 684, in apache_beam.runners.common.SimpleInvoker.invoke_process
E           self.output_handler.handle_process_outputs(
E         File "apache_beam/runners/common.py", line 1683, in apache_beam.runners.common._OutputHandler.handle_process_outputs
E           self._write_value_to_tag(tag, windowed_value, watermark_estimator)
E         File "apache_beam/runners/common.py", line 1796, in apache_beam.runners.common._OutputHandler._write_value_to_tag
E           self.main_receivers.receive(windowed_value)
E         File "apache_beam/runners/worker/operations.py", line 263, in apache_beam.runners.worker.operations.SingletonElementConsumerSet.receive
E           self.consumer.process(windowed_value)
E         File "apache_beam/runners/worker/operations.py", line 954, in apache_beam.runners.worker.operations.DoOperation.process
E           with self.scoped_process_state:
E         File "apache_beam/runners/worker/operations.py", line 955, in apache_beam.runners.worker.operations.DoOperation.process
E           delayed_applications = self.dofn_runner.process(o)
E         File "apache_beam/runners/common.py", line 1500, in apache_beam.runners.common.DoFnRunner.process
E           self._reraise_augmented(exn, windowed_value)
E         File "apache_beam/runners/common.py", line 1588, in apache_beam.runners.common.DoFnRunner._reraise_augmented
E           raise exn
E         File "apache_beam/runners/common.py", line 1498, in apache_beam.runners.common.DoFnRunner.process
E           return self.do_fn_invoker.invoke_process(windowed_value)
E         File "apache_beam/runners/common.py", line 684, in apache_beam.runners.common.SimpleInvoker.invoke_process
E           self.output_handler.handle_process_outputs(
E         File "apache_beam/runners/common.py", line 1683, in apache_beam.runners.common._OutputHandler.handle_process_outputs
E           self._write_value_to_tag(tag, windowed_value, watermark_estimator)
E         File "apache_beam/runners/common.py", line 1796, in apache_beam.runners.common._OutputHandler._write_value_to_tag
E           self.main_receivers.receive(windowed_value)
E         File "apache_beam/runners/worker/operations.py", line 263, in apache_beam.runners.worker.operations.SingletonElementConsumerSet.receive
E           self.consumer.process(windowed_value)
E         File "apache_beam/runners/worker/operations.py", line 954, in apache_beam.runners.worker.operations.DoOperation.process
E           with self.scoped_process_state:
E         File "apache_beam/runners/worker/operations.py", line 955, in apache_beam.runners.worker.operations.DoOperation.process
E           delayed_applications = self.dofn_runner.process(o)
E         File "apache_beam/runners/common.py", line 1500, in apache_beam.runners.common.DoFnRunner.process
E           self._reraise_augmented(exn, windowed_value)
E         File "apache_beam/runners/common.py", line 1609, in apache_beam.runners.common.DoFnRunner._reraise_augmented
E           raise new_exn
E         File "apache_beam/runners/common.py", line 1498, in apache_beam.runners.common.DoFnRunner.process
E           return self.do_fn_invoker.invoke_process(windowed_value)
E         File "apache_beam/runners/common.py", line 912, in apache_beam.runners.common.PerWindowInvoker.invoke_process
E           self._invoke_process_per_window(
E         File "apache_beam/runners/common.py", line 1057, in apache_beam.runners.common.PerWindowInvoker._invoke_process_per_window
E           self.process_method(*args_for_process, **kwargs_for_process),
E         File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/inference/base.py", line 1933, in process
E           return self._run_inference(batch, inference_args)
E                  ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
E         File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/inference/base.py", line 1903, in _run_inference
E           raise e
E         File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/inference/base.py", line 1889, in _run_inference
E           result_generator = self._model_handler.run_inference(
E               batch, model, inference_args)
E         File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/inference/base.py", line 1228, in run_inference
E           return self._base.run_inference(batch, model, inference_args)
E                  ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
E         File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/inference/base.py", line 764, in run_inference
E           self._unkeyed.run_inference(unkeyed_batch, model, inference_args))
E           ~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
E         File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/anomaly/detectors/pyod_adapter.py", line 84, in run_inference
E           predictions = model.decision_function(vectorized_batch)
E         File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/pyod/models/iforest.py", line 243, in decision_function
E           check_is_fitted(self, ['decision_scores_', 'threshold_', 'labels_'])
E           ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
E         File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/sklearn/utils/validation.py", line 1699, in check_is_fitted
E           tags = get_tags(estimator)
E         File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/sklearn/utils/_tags.py", line 283, in get_tags
E           raise AttributeError(
E           ...<8 lines>...
E           )
E       AttributeError: The following error was raised: 'IForest' object has no attribute '__sklearn_tags__'. It seems that there are no classes that implement `__sklearn_tags__` in the MRO and/or all classes in the MRO call `super().__sklearn_tags__()`. Make sure to inherit from `BaseEstimator` which implements `__sklearn_tags__` (or alternatively define `__sklearn_tags__` but we don't recommend this approach). Note that `BaseEstimator` needs to be on the right side of other Mixins in the inheritance order. [while running 'AnomalyDetection/RunOfflineDetector/Call RunInference (OfflineDetector:8cf85f)/BeamML_RunInference']

target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/portability/portable_runner.py:571: RuntimeError

Check warning on line 0 in apache_beam.ml.anomaly.detectors.pyod_adapter_test.PyODIForestTest

See this annotation in the file changed.

@github-actions github-actions / Python 3.13 Test Results (self-hosted, ubuntu-20.04, main)

test_scoring_with_unmatched_features (apache_beam.ml.anomaly.detectors.pyod_adapter_test.PyODIForestTest) failed

sdks/python/test-suites/tox/py313/build/srcs/sdks/python/pytest_py313-ml.xml [took 3s]
Raw output
AssertionError: "is expecting 2 features" does not match "Pipeline job-003 failed in state FAILED: bundle inst002 stage-005 failed:Traceback (most recent call last):
  File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/sklearn/utils/_tags.py", line 275, in get_tags
    tags = estimator.__sklearn_tags__()
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'IForest' object has no attribute '__sklearn_tags__'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "apache_beam/runners/common.py", line 1498, in apache_beam.runners.common.DoFnRunner.process
    return self.do_fn_invoker.invoke_process(windowed_value)
  File "apache_beam/runners/common.py", line 912, in apache_beam.runners.common.PerWindowInvoker.invoke_process
    self._invoke_process_per_window(
  File "apache_beam/runners/common.py", line 1057, in apache_beam.runners.common.PerWindowInvoker._invoke_process_per_window
    self.process_method(*args_for_process, **kwargs_for_process),
  File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/inference/base.py", line 1933, in process
    return self._run_inference(batch, inference_args)
           ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
  File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/inference/base.py", line 1903, in _run_inference
    raise e
  File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/inference/base.py", line 1889, in _run_inference
    result_generator = self._model_handler.run_inference(
        batch, model, inference_args)
  File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/inference/base.py", line 1228, in run_inference
    return self._base.run_inference(batch, model, inference_args)
           ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/inference/base.py", line 764, in run_inference
    self._unkeyed.run_inference(unkeyed_batch, model, inference_args))
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/anomaly/detectors/pyod_adapter.py", line 84, in run_inference
    predictions = model.decision_function(vectorized_batch)
  File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/pyod/models/iforest.py", line 243, in decision_function
    check_is_fitted(self, ['decision_scores_', 'threshold_', 'labels_'])
    ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/sklearn/utils/validation.py", line 1699, in check_is_fitted
    tags = get_tags(estimator)
  File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/sklearn/utils/_tags.py", line 283, in get_tags
    raise AttributeError(
    ...<8 lines>...
    )
AttributeError: The following error was raised: 'IForest' object has no attribute '__sklearn_tags__'. It seems that there are no classes that implement `__sklearn_tags__` in the MRO and/or all classes in the MRO call `super().__sklearn_tags__()`. Make sure to inherit from `BaseEstimator` which implements `__sklearn_tags__` (or alternatively define `__sklearn_tags__` but we don't recommend this approach). Note that `BaseEstimator` needs to be on the right side of other Mixins in the inheritance order.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/worker/sdk_worker.py", line 316, in _execute
    response = task()
  File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/worker/sdk_worker.py", line 390, in <lambda>
    lambda: self.create_worker().do_instruction(request), request)
            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^
  File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/worker/sdk_worker.py", line 669, in do_instruction
    return getattr(self, request_type)(
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~^
        getattr(request, request_type), request.instruction_id)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/worker/sdk_worker.py", line 707, in process_bundle
    bundle_processor.process_bundle(instruction_id))
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^
  File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/worker/bundle_processor.py", line 1302, in process_bundle
    input_op_by_transform_id[element.transform_id].process_encoded(
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
        element.data)
        ^^^^^^^^^^^^^
  File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/worker/bundle_processor.py", line 242, in process_encoded
    self.output(decoded_value)
    ~~~~~~~~~~~^^^^^^^^^^^^^^^
  File "apache_beam/runners/worker/operations.py", line 568, in apache_beam.runners.worker.operations.Operation.output
    def output(self, windowed_value, output_index=0):
  File "apache_beam/runners/worker/operations.py", line 570, in apache_beam.runners.worker.operations.Operation.output
    _cast_to_receiver(self.receivers[output_index]).receive(windowed_value)
  File "apache_beam/runners/worker/operations.py", line 260, in apache_beam.runners.worker.operations.SingletonElementConsumerSet.receive
    def receive(self, windowed_value):
  File "apache_beam/runners/worker/operations.py", line 263, in apache_beam.runners.worker.operations.SingletonElementConsumerSet.receive
    self.consumer.process(windowed_value)
  File "apache_beam/runners/worker/operations.py", line 954, in apache_beam.runners.worker.operations.DoOperation.process
    with self.scoped_process_state:
  File "apache_beam/runners/worker/operations.py", line 955, in apache_beam.runners.worker.operations.DoOperation.process
    delayed_applications = self.dofn_runner.process(o)
  File "apache_beam/runners/common.py", line 1500, in apache_beam.runners.common.DoFnRunner.process
    self._reraise_augmented(exn, windowed_value)
  File "apache_beam/runners/common.py", line 1588, in apache_beam.runners.common.DoFnRunner._reraise_augmented
    raise exn
  File "apache_beam/runners/common.py", line 1498, in apache_beam.runners.common.DoFnRunner.process
    return self.do_fn_invoker.invoke_process(windowed_value)
  File "apache_beam/runners/common.py", line 684, in apache_beam.runners.common.SimpleInvoker.invoke_process
    self.output_handler.handle_process_outputs(
  File "apache_beam/runners/common.py", line 1683, in apache_beam.runners.common._OutputHandler.handle_process_outputs
    self._write_value_to_tag(tag, windowed_value, watermark_estimator)
  File "apache_beam/runners/common.py", line 1796, in apache_beam.runners.common._OutputHandler._write_value_to_tag
    self.main_receivers.receive(windowed_value)
  File "apache_beam/runners/worker/operations.py", line 263, in apache_beam.runners.worker.operations.SingletonElementConsumerSet.receive
    self.consumer.process(windowed_value)
  File "apache_beam/runners/worker/operations.py", line 954, in apache_beam.runners.worker.operations.DoOperation.process
    with self.scoped_process_state:
  File "apache_beam/runners/worker/operations.py", line 955, in apache_beam.runners.worker.operations.DoOperation.process
    delayed_applications = self.dofn_runner.process(o)
  File "apache_beam/runners/common.py", line 1500, in apache_beam.runners.common.DoFnRunner.process
    self._reraise_augmented(exn, windowed_value)
  File "apache_beam/runners/common.py", line 1588, in apache_beam.runners.common.DoFnRunner._reraise_augmented
    raise exn
  File "apache_beam/runners/common.py", line 1498, in apache_beam.runners.common.DoFnRunner.process
    return self.do_fn_invoker.invoke_process(windowed_value)
  File "apache_beam/runners/common.py", line 684, in apache_beam.runners.common.SimpleInvoker.invoke_process
    self.output_handler.handle_process_outputs(
  File "apache_beam/runners/common.py", line 1683, in apache_beam.runners.common._OutputHandler.handle_process_outputs
    self._write_value_to_tag(tag, windowed_value, watermark_estimator)
  File "apache_beam/runners/common.py", line 1796, in apache_beam.runners.common._OutputHandler._write_value_to_tag
    self.main_receivers.receive(windowed_value)
  File "apache_beam/runners/worker/operations.py", line 263, in apache_beam.runners.worker.operations.SingletonElementConsumerSet.receive
    self.consumer.process(windowed_value)
  File "apache_beam/runners/worker/operations.py", line 954, in apache_beam.runners.worker.operations.DoOperation.process
    with self.scoped_process_state:
  File "apache_beam/runners/worker/operations.py", line 955, in apache_beam.runners.worker.operations.DoOperation.process
    delayed_applications = self.dofn_runner.process(o)
  File "apache_beam/runners/common.py", line 1500, in apache_beam.runners.common.DoFnRunner.process
    self._reraise_augmented(exn, windowed_value)
  File "apache_beam/runners/common.py", line 1588, in apache_beam.runners.common.DoFnRunner._reraise_augmented
    raise exn
  File "apache_beam/runners/common.py", line 1498, in apache_beam.runners.common.DoFnRunner.process
    return self.do_fn_invoker.invoke_process(windowed_value)
  File "apache_beam/runners/common.py", line 684, in apache_beam.runners.common.SimpleInvoker.invoke_process
    self.output_handler.handle_process_outputs(
  File "apache_beam/runners/common.py", line 1683, in apache_beam.runners.common._OutputHandler.handle_process_outputs
    self._write_value_to_tag(tag, windowed_value, watermark_estimator)
  File "apache_beam/runners/common.py", line 1796, in apache_beam.runners.common._OutputHandler._write_value_to_tag
    self.main_receivers.receive(windowed_value)
  File "apache_beam/runners/worker/operations.py", line 263, in apache_beam.runners.worker.operations.SingletonElementConsumerSet.receive
    self.consumer.process(windowed_value)
  File "apache_beam/runners/worker/operations.py", line 954, in apache_beam.runners.worker.operations.DoOperation.process
    with self.scoped_process_state:
  File "apache_beam/runners/worker/operations.py", line 955, in apache_beam.runners.worker.operations.DoOperation.process
    delayed_applications = self.dofn_runner.process(o)
  File "apache_beam/runners/common.py", line 1500, in apache_beam.runners.common.DoFnRunner.process
    self._reraise_augmented(exn, windowed_value)
  File "apache_beam/runners/common.py", line 1588, in apache_beam.runners.common.DoFnRunner._reraise_augmented
    raise exn
  File "apache_beam/runners/common.py", line 1498, in apache_beam.runners.common.DoFnRunner.process
    return self.do_fn_invoker.invoke_process(windowed_value)
  File "apache_beam/runners/common.py", line 684, in apache_beam.runners.common.SimpleInvoker.invoke_process
    self.output_handler.handle_process_outputs(
  File "apache_beam/runners/common.py", line 1683, in apache_beam.runners.common._OutputHandler.handle_process_outputs
    self._write_value_to_tag(tag, windowed_value, watermark_estimator)
  File "apache_beam/runners/common.py", line 1796, in apache_beam.runners.common._OutputHandler._write_value_to_tag
    self.main_receivers.receive(windowed_value)
  File "apache_beam/runners/worker/operations.py", line 263, in apache_beam.runners.worker.operations.SingletonElementConsumerSet.receive
    self.consumer.process(windowed_value)
  File "apache_beam/runners/worker/operations.py", line 954, in apache_beam.runners.worker.operations.DoOperation.process
    with self.scoped_process_state:
  File "apache_beam/runners/worker/operations.py", line 955, in apache_beam.runners.worker.operations.DoOperation.process
    delayed_applications = self.dofn_runner.process(o)
  File "apache_beam/runners/common.py", line 1500, in apache_beam.runners.common.DoFnRunner.process
    self._reraise_augmented(exn, windowed_value)
  File "apache_beam/runners/common.py", line 1588, in apache_beam.runners.common.DoFnRunner._reraise_augmented
    raise exn
  File "apache_beam/runners/common.py", line 1498, in apache_beam.runners.common.DoFnRunner.process
    return self.do_fn_invoker.invoke_process(windowed_value)
  File "apache_beam/runners/common.py", line 684, in apache_beam.runners.common.SimpleInvoker.invoke_process
    self.output_handler.handle_process_outputs(
  File "apache_beam/runners/common.py", line 1683, in apache_beam.runners.common._OutputHandler.handle_process_outputs
    self._write_value_to_tag(tag, windowed_value, watermark_estimator)
  File "apache_beam/runners/common.py", line 1796, in apache_beam.runners.common._OutputHandler._write_value_to_tag
    self.main_receivers.receive(windowed_value)
  File "apache_beam/runners/worker/operations.py", line 263, in apache_beam.runners.worker.operations.SingletonElementConsumerSet.receive
    self.consumer.process(windowed_value)
  File "apache_beam/runners/worker/operations.py", line 954, in apache_beam.runners.worker.operations.DoOperation.process
    with self.scoped_process_state:
  File "apache_beam/runners/worker/operations.py", line 955, in apache_beam.runners.worker.operations.DoOperation.process
    delayed_applications = self.dofn_runner.process(o)
  File "apache_beam/runners/common.py", line 1500, in apache_beam.runners.common.DoFnRunner.process
    self._reraise_augmented(exn, windowed_value)
  File "apache_beam/runners/common.py", line 1588, in apache_beam.runners.common.DoFnRunner._reraise_augmented
    raise exn
  File "apache_beam/runners/common.py", line 1498, in apache_beam.runners.common.DoFnRunner.process
    return self.do_fn_invoker.invoke_process(windowed_value)
  File "apache_beam/runners/common.py", line 684, in apache_beam.runners.common.SimpleInvoker.invoke_process
    self.output_handler.handle_process_outputs(
  File "apache_beam/runners/common.py", line 1683, in apache_beam.runners.common._OutputHandler.handle_process_outputs
    self._write_value_to_tag(tag, windowed_value, watermark_estimator)
  File "apache_beam/runners/common.py", line 1796, in apache_beam.runners.common._OutputHandler._write_value_to_tag
    self.main_receivers.receive(windowed_value)
  File "apache_beam/runners/worker/operations.py", line 263, in apache_beam.runners.worker.operations.SingletonElementConsumerSet.receive
    self.consumer.process(windowed_value)
  File "apache_beam/runners/worker/operations.py", line 954, in apache_beam.runners.worker.operations.DoOperation.process
    with self.scoped_process_state:
  File "apache_beam/runners/worker/operations.py", line 955, in apache_beam.runners.worker.operations.DoOperation.process
    delayed_applications = self.dofn_runner.process(o)
  File "apache_beam/runners/common.py", line 1500, in apache_beam.runners.common.DoFnRunner.process
    self._reraise_augmented(exn, windowed_value)
  File "apache_beam/runners/common.py", line 1609, in apache_beam.runners.common.DoFnRunner._reraise_augmented
    raise new_exn
  File "apache_beam/runners/common.py", line 1498, in apache_beam.runners.common.DoFnRunner.process
    return self.do_fn_invoker.invoke_process(windowed_value)
  File "apache_beam/runners/common.py", line 912, in apache_beam.runners.common.PerWindowInvoker.invoke_process
    self._invoke_process_per_window(
  File "apache_beam/runners/common.py", line 1057, in apache_beam.runners.common.PerWindowInvoker._invoke_process_per_window
    self.process_method(*args_for_process, **kwargs_for_process),
  File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/inference/base.py", line 1933, in process
    return self._run_inference(batch, inference_args)
           ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
  File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/inference/base.py", line 1903, in _run_inference
    raise e
  File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/inference/base.py", line 1889, in _run_inference
    result_generator = self._model_handler.run_inference(
        batch, model, inference_args)
  File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/inference/base.py", line 1228, in run_inference
    return self._base.run_inference(batch, model, inference_args)
           ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/inference/base.py", line 764, in run_inference
    self._unkeyed.run_inference(unkeyed_batch, model, inference_args))
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/anomaly/detectors/pyod_adapter.py", line 84, in run_inference
    predictions = model.decision_function(vectorized_batch)
  File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/pyod/models/iforest.py", line 243, in decision_function
    check_is_fitted(self, ['decision_scores_', 'threshold_', 'labels_'])
    ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/sklearn/utils/validation.py", line 1699, in check_is_fitted
    tags = get_tags(estimator)
  File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/sklearn/utils/_tags.py", line 283, in get_tags
    raise AttributeError(
    ...<8 lines>...
    )
AttributeError: The following error was raised: 'IForest' object has no attribute '__sklearn_tags__'. It seems that there are no classes that implement `__sklearn_tags__` in the MRO and/or all classes in the MRO call `super().__sklearn_tags__()`. Make sure to inherit from `BaseEstimator` which implements `__sklearn_tags__` (or alternatively define `__sklearn_tags__` but we don't recommend this approach). Note that `BaseEstimator` needs to be on the right side of other Mixins in the inheritance order. [while running 'AnomalyDetection/RunOfflineDetector/Call RunInference (OfflineDetector:7600fa)/BeamML_RunInference']
"
RuntimeError: Pipeline job-003 failed in state FAILED: bundle inst002 stage-005 failed:Traceback (most recent call last):
  File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/sklearn/utils/_tags.py", line 275, in get_tags
    tags = estimator.__sklearn_tags__()
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'IForest' object has no attribute '__sklearn_tags__'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "apache_beam/runners/common.py", line 1498, in apache_beam.runners.common.DoFnRunner.process
    return self.do_fn_invoker.invoke_process(windowed_value)
  File "apache_beam/runners/common.py", line 912, in apache_beam.runners.common.PerWindowInvoker.invoke_process
    self._invoke_process_per_window(
  File "apache_beam/runners/common.py", line 1057, in apache_beam.runners.common.PerWindowInvoker._invoke_process_per_window
    self.process_method(*args_for_process, **kwargs_for_process),
  File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/inference/base.py", line 1933, in process
    return self._run_inference(batch, inference_args)
           ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
  File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/inference/base.py", line 1903, in _run_inference
    raise e
  File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/inference/base.py", line 1889, in _run_inference
    result_generator = self._model_handler.run_inference(
        batch, model, inference_args)
  File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/inference/base.py", line 1228, in run_inference
    return self._base.run_inference(batch, model, inference_args)
           ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/inference/base.py", line 764, in run_inference
    self._unkeyed.run_inference(unkeyed_batch, model, inference_args))
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/anomaly/detectors/pyod_adapter.py", line 84, in run_inference
    predictions = model.decision_function(vectorized_batch)
  File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/pyod/models/iforest.py", line 243, in decision_function
    check_is_fitted(self, ['decision_scores_', 'threshold_', 'labels_'])
    ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/sklearn/utils/validation.py", line 1699, in check_is_fitted
    tags = get_tags(estimator)
  File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/sklearn/utils/_tags.py", line 283, in get_tags
    raise AttributeError(
    ...<8 lines>...
    )
AttributeError: The following error was raised: 'IForest' object has no attribute '__sklearn_tags__'. It seems that there are no classes that implement `__sklearn_tags__` in the MRO and/or all classes in the MRO call `super().__sklearn_tags__()`. Make sure to inherit from `BaseEstimator` which implements `__sklearn_tags__` (or alternatively define `__sklearn_tags__` but we don't recommend this approach). Note that `BaseEstimator` needs to be on the right side of other Mixins in the inheritance order.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/worker/sdk_worker.py", line 316, in _execute
    response = task()
  File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/worker/sdk_worker.py", line 390, in <lambda>
    lambda: self.create_worker().do_instruction(request), request)
            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^
  File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/worker/sdk_worker.py", line 669, in do_instruction
    return getattr(self, request_type)(
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~^
        getattr(request, request_type), request.instruction_id)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/worker/sdk_worker.py", line 707, in process_bundle
    bundle_processor.process_bundle(instruction_id))
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^
  File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/worker/bundle_processor.py", line 1302, in process_bundle
    input_op_by_transform_id[element.transform_id].process_encoded(
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
        element.data)
        ^^^^^^^^^^^^^
  File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/worker/bundle_processor.py", line 242, in process_encoded
    self.output(decoded_value)
    ~~~~~~~~~~~^^^^^^^^^^^^^^^
  File "apache_beam/runners/worker/operations.py", line 568, in apache_beam.runners.worker.operations.Operation.output
    def output(self, windowed_value, output_index=0):
  File "apache_beam/runners/worker/operations.py", line 570, in apache_beam.runners.worker.operations.Operation.output
    _cast_to_receiver(self.receivers[output_index]).receive(windowed_value)
  File "apache_beam/runners/worker/operations.py", line 260, in apache_beam.runners.worker.operations.SingletonElementConsumerSet.receive
    def receive(self, windowed_value):
  File "apache_beam/runners/worker/operations.py", line 263, in apache_beam.runners.worker.operations.SingletonElementConsumerSet.receive
    self.consumer.process(windowed_value)
  File "apache_beam/runners/worker/operations.py", line 954, in apache_beam.runners.worker.operations.DoOperation.process
    with self.scoped_process_state:
  File "apache_beam/runners/worker/operations.py", line 955, in apache_beam.runners.worker.operations.DoOperation.process
    delayed_applications = self.dofn_runner.process(o)
  File "apache_beam/runners/common.py", line 1500, in apache_beam.runners.common.DoFnRunner.process
    self._reraise_augmented(exn, windowed_value)
  File "apache_beam/runners/common.py", line 1588, in apache_beam.runners.common.DoFnRunner._reraise_augmented
    raise exn
  File "apache_beam/runners/common.py", line 1498, in apache_beam.runners.common.DoFnRunner.process
    return self.do_fn_invoker.invoke_process(windowed_value)
  File "apache_beam/runners/common.py", line 684, in apache_beam.runners.common.SimpleInvoker.invoke_process
    self.output_handler.handle_process_outputs(
  File "apache_beam/runners/common.py", line 1683, in apache_beam.runners.common._OutputHandler.handle_process_outputs
    self._write_value_to_tag(tag, windowed_value, watermark_estimator)
  File "apache_beam/runners/common.py", line 1796, in apache_beam.runners.common._OutputHandler._write_value_to_tag
    self.main_receivers.receive(windowed_value)
  File "apache_beam/runners/worker/operations.py", line 263, in apache_beam.runners.worker.operations.SingletonElementConsumerSet.receive
    self.consumer.process(windowed_value)
  File "apache_beam/runners/worker/operations.py", line 954, in apache_beam.runners.worker.operations.DoOperation.process
    with self.scoped_process_state:
  File "apache_beam/runners/worker/operations.py", line 955, in apache_beam.runners.worker.operations.DoOperation.process
    delayed_applications = self.dofn_runner.process(o)
  File "apache_beam/runners/common.py", line 1500, in apache_beam.runners.common.DoFnRunner.process
    self._reraise_augmented(exn, windowed_value)
  File "apache_beam/runners/common.py", line 1588, in apache_beam.runners.common.DoFnRunner._reraise_augmented
    raise exn
  File "apache_beam/runners/common.py", line 1498, in apache_beam.runners.common.DoFnRunner.process
    return self.do_fn_invoker.invoke_process(windowed_value)
  File "apache_beam/runners/common.py", line 684, in apache_beam.runners.common.SimpleInvoker.invoke_process
    self.output_handler.handle_process_outputs(
  File "apache_beam/runners/common.py", line 1683, in apache_beam.runners.common._OutputHandler.handle_process_outputs
    self._write_value_to_tag(tag, windowed_value, watermark_estimator)
  File "apache_beam/runners/common.py", line 1796, in apache_beam.runners.common._OutputHandler._write_value_to_tag
    self.main_receivers.receive(windowed_value)
  File "apache_beam/runners/worker/operations.py", line 263, in apache_beam.runners.worker.operations.SingletonElementConsumerSet.receive
    self.consumer.process(windowed_value)
  File "apache_beam/runners/worker/operations.py", line 954, in apache_beam.runners.worker.operations.DoOperation.process
    with self.scoped_process_state:
  File "apache_beam/runners/worker/operations.py", line 955, in apache_beam.runners.worker.operations.DoOperation.process
    delayed_applications = self.dofn_runner.process(o)
  File "apache_beam/runners/common.py", line 1500, in apache_beam.runners.common.DoFnRunner.process
    self._reraise_augmented(exn, windowed_value)
  File "apache_beam/runners/common.py", line 1588, in apache_beam.runners.common.DoFnRunner._reraise_augmented
    raise exn
  File "apache_beam/runners/common.py", line 1498, in apache_beam.runners.common.DoFnRunner.process
    return self.do_fn_invoker.invoke_process(windowed_value)
  File "apache_beam/runners/common.py", line 684, in apache_beam.runners.common.SimpleInvoker.invoke_process
    self.output_handler.handle_process_outputs(
  File "apache_beam/runners/common.py", line 1683, in apache_beam.runners.common._OutputHandler.handle_process_outputs
    self._write_value_to_tag(tag, windowed_value, watermark_estimator)
  File "apache_beam/runners/common.py", line 1796, in apache_beam.runners.common._OutputHandler._write_value_to_tag
    self.main_receivers.receive(windowed_value)
  File "apache_beam/runners/worker/operations.py", line 263, in apache_beam.runners.worker.operations.SingletonElementConsumerSet.receive
    self.consumer.process(windowed_value)
  File "apache_beam/runners/worker/operations.py", line 954, in apache_beam.runners.worker.operations.DoOperation.process
    with self.scoped_process_state:
  File "apache_beam/runners/worker/operations.py", line 955, in apache_beam.runners.worker.operations.DoOperation.process
    delayed_applications = self.dofn_runner.process(o)
  File "apache_beam/runners/common.py", line 1500, in apache_beam.runners.common.DoFnRunner.process
    self._reraise_augmented(exn, windowed_value)
  File "apache_beam/runners/common.py", line 1588, in apache_beam.runners.common.DoFnRunner._reraise_augmented
    raise exn
  File "apache_beam/runners/common.py", line 1498, in apache_beam.runners.common.DoFnRunner.process
    return self.do_fn_invoker.invoke_process(windowed_value)
  File "apache_beam/runners/common.py", line 684, in apache_beam.runners.common.SimpleInvoker.invoke_process
    self.output_handler.handle_process_outputs(
  File "apache_beam/runners/common.py", line 1683, in apache_beam.runners.common._OutputHandler.handle_process_outputs
    self._write_value_to_tag(tag, windowed_value, watermark_estimator)
  File "apache_beam/runners/common.py", line 1796, in apache_beam.runners.common._OutputHandler._write_value_to_tag
    self.main_receivers.receive(windowed_value)
  File "apache_beam/runners/worker/operations.py", line 263, in apache_beam.runners.worker.operations.SingletonElementConsumerSet.receive
    self.consumer.process(windowed_value)
  File "apache_beam/runners/worker/operations.py", line 954, in apache_beam.runners.worker.operations.DoOperation.process
    with self.scoped_process_state:
  File "apache_beam/runners/worker/operations.py", line 955, in apache_beam.runners.worker.operations.DoOperation.process
    delayed_applications = self.dofn_runner.process(o)
  File "apache_beam/runners/common.py", line 1500, in apache_beam.runners.common.DoFnRunner.process
    self._reraise_augmented(exn, windowed_value)
  File "apache_beam/runners/common.py", line 1588, in apache_beam.runners.common.DoFnRunner._reraise_augmented
    raise exn
  File "apache_beam/runners/common.py", line 1498, in apache_beam.runners.common.DoFnRunner.process
    return self.do_fn_invoker.invoke_process(windowed_value)
  File "apache_beam/runners/common.py", line 684, in apache_beam.runners.common.SimpleInvoker.invoke_process
    self.output_handler.handle_process_outputs(
  File "apache_beam/runners/common.py", line 1683, in apache_beam.runners.common._OutputHandler.handle_process_outputs
    self._write_value_to_tag(tag, windowed_value, watermark_estimator)
  File "apache_beam/runners/common.py", line 1796, in apache_beam.runners.common._OutputHandler._write_value_to_tag
    self.main_receivers.receive(windowed_value)
  File "apache_beam/runners/worker/operations.py", line 263, in apache_beam.runners.worker.operations.SingletonElementConsumerSet.receive
    self.consumer.process(windowed_value)
  File "apache_beam/runners/worker/operations.py", line 954, in apache_beam.runners.worker.operations.DoOperation.process
    with self.scoped_process_state:
  File "apache_beam/runners/worker/operations.py", line 955, in apache_beam.runners.worker.operations.DoOperation.process
    delayed_applications = self.dofn_runner.process(o)
  File "apache_beam/runners/common.py", line 1500, in apache_beam.runners.common.DoFnRunner.process
    self._reraise_augmented(exn, windowed_value)
  File "apache_beam/runners/common.py", line 1588, in apache_beam.runners.common.DoFnRunner._reraise_augmented
    raise exn
  File "apache_beam/runners/common.py", line 1498, in apache_beam.runners.common.DoFnRunner.process
    return self.do_fn_invoker.invoke_process(windowed_value)
  File "apache_beam/runners/common.py", line 684, in apache_beam.runners.common.SimpleInvoker.invoke_process
    self.output_handler.handle_process_outputs(
  File "apache_beam/runners/common.py", line 1683, in apache_beam.runners.common._OutputHandler.handle_process_outputs
    self._write_value_to_tag(tag, windowed_value, watermark_estimator)
  File "apache_beam/runners/common.py", line 1796, in apache_beam.runners.common._OutputHandler._write_value_to_tag
    self.main_receivers.receive(windowed_value)
  File "apache_beam/runners/worker/operations.py", line 263, in apache_beam.runners.worker.operations.SingletonElementConsumerSet.receive
    self.consumer.process(windowed_value)
  File "apache_beam/runners/worker/operations.py", line 954, in apache_beam.runners.worker.operations.DoOperation.process
    with self.scoped_process_state:
  File "apache_beam/runners/worker/operations.py", line 955, in apache_beam.runners.worker.operations.DoOperation.process
    delayed_applications = self.dofn_runner.process(o)
  File "apache_beam/runners/common.py", line 1500, in apache_beam.runners.common.DoFnRunner.process
    self._reraise_augmented(exn, windowed_value)
  File "apache_beam/runners/common.py", line 1609, in apache_beam.runners.common.DoFnRunner._reraise_augmented
    raise new_exn
  File "apache_beam/runners/common.py", line 1498, in apache_beam.runners.common.DoFnRunner.process
    return self.do_fn_invoker.invoke_process(windowed_value)
  File "apache_beam/runners/common.py", line 912, in apache_beam.runners.common.PerWindowInvoker.invoke_process
    self._invoke_process_per_window(
  File "apache_beam/runners/common.py", line 1057, in apache_beam.runners.common.PerWindowInvoker._invoke_process_per_window
    self.process_method(*args_for_process, **kwargs_for_process),
  File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/inference/base.py", line 1933, in process
    return self._run_inference(batch, inference_args)
           ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
  File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/inference/base.py", line 1903, in _run_inference
    raise e
  File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/inference/base.py", line 1889, in _run_inference
    result_generator = self._model_handler.run_inference(
        batch, model, inference_args)
  File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/inference/base.py", line 1228, in run_inference
    return self._base.run_inference(batch, model, inference_args)
           ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/inference/base.py", line 764, in run_inference
    self._unkeyed.run_inference(unkeyed_batch, model, inference_args))
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/anomaly/detectors/pyod_adapter.py", line 84, in run_inference
    predictions = model.decision_function(vectorized_batch)
  File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/pyod/models/iforest.py", line 243, in decision_function
    check_is_fitted(self, ['decision_scores_', 'threshold_', 'labels_'])
    ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/sklearn/utils/validation.py", line 1699, in check_is_fitted
    tags = get_tags(estimator)
  File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/sklearn/utils/_tags.py", line 283, in get_tags
    raise AttributeError(
    ...<8 lines>...
    )
AttributeError: The following error was raised: 'IForest' object has no attribute '__sklearn_tags__'. It seems that there are no classes that implement `__sklearn_tags__` in the MRO and/or all classes in the MRO call `super().__sklearn_tags__()`. Make sure to inherit from `BaseEstimator` which implements `__sklearn_tags__` (or alternatively define `__sklearn_tags__` but we don't recommend this approach). Note that `BaseEstimator` needs to be on the right side of other Mixins in the inheritance order. [while running 'AnomalyDetection/RunOfflineDetector/Call RunInference (OfflineDetector:7600fa)/BeamML_RunInference']


During handling of the above exception, another exception occurred:

self = <apache_beam.ml.anomaly.detectors.pyod_adapter_test.PyODIForestTest testMethod=test_scoring_with_unmatched_features>

    def test_scoring_with_unmatched_features(self):
      # The model is trained with two features: a, b, but the input features of
      # scoring has one more feature (target).
      # In this case, we should either get rid of the extra feature(s) from
      # the scoring input or set `features` when creating the offline detector
      # (see the `test_scoring_with_matched_features`)
      detector = PyODFactory.create_detector(self.pickled_model_uri)
      options = PipelineOptions([])
      # This should raise a ValueError with message
      # "X has 3 features, but IsolationForest is expecting 2 features as input."
>     with self.assertRaisesRegex(Exception, "is expecting 2 features"):
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
E     AssertionError: "is expecting 2 features" does not match "Pipeline job-003 failed in state FAILED: bundle inst002 stage-005 failed:Traceback (most recent call last):
E       File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/sklearn/utils/_tags.py", line 275, in get_tags
E         tags = estimator.__sklearn_tags__()
E                ^^^^^^^^^^^^^^^^^^^^^^^^^^
E     AttributeError: 'IForest' object has no attribute '__sklearn_tags__'
E     
E     During handling of the above exception, another exception occurred:
E     
E     Traceback (most recent call last):
E       File "apache_beam/runners/common.py", line 1498, in apache_beam.runners.common.DoFnRunner.process
E         return self.do_fn_invoker.invoke_process(windowed_value)
E       File "apache_beam/runners/common.py", line 912, in apache_beam.runners.common.PerWindowInvoker.invoke_process
E         self._invoke_process_per_window(
E       File "apache_beam/runners/common.py", line 1057, in apache_beam.runners.common.PerWindowInvoker._invoke_process_per_window
E         self.process_method(*args_for_process, **kwargs_for_process),
E       File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/inference/base.py", line 1933, in process
E         return self._run_inference(batch, inference_args)
E                ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
E       File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/inference/base.py", line 1903, in _run_inference
E         raise e
E       File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/inference/base.py", line 1889, in _run_inference
E         result_generator = self._model_handler.run_inference(
E             batch, model, inference_args)
E       File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/inference/base.py", line 1228, in run_inference
E         return self._base.run_inference(batch, model, inference_args)
E                ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
E       File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/inference/base.py", line 764, in run_inference
E         self._unkeyed.run_inference(unkeyed_batch, model, inference_args))
E         ~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
E       File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/anomaly/detectors/pyod_adapter.py", line 84, in run_inference
E         predictions = model.decision_function(vectorized_batch)
E       File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/pyod/models/iforest.py", line 243, in decision_function
E         check_is_fitted(self, ['decision_scores_', 'threshold_', 'labels_'])
E         ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
E       File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/sklearn/utils/validation.py", line 1699, in check_is_fitted
E         tags = get_tags(estimator)
E       File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/sklearn/utils/_tags.py", line 283, in get_tags
E         raise AttributeError(
E         ...<8 lines>...
E         )
E     AttributeError: The following error was raised: 'IForest' object has no attribute '__sklearn_tags__'. It seems that there are no classes that implement `__sklearn_tags__` in the MRO and/or all classes in the MRO call `super().__sklearn_tags__()`. Make sure to inherit from `BaseEstimator` which implements `__sklearn_tags__` (or alternatively define `__sklearn_tags__` but we don't recommend this approach). Note that `BaseEstimator` needs to be on the right side of other Mixins in the inheritance order.
E     
E     During handling of the above exception, another exception occurred:
E     
E     Traceback (most recent call last):
E       File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/worker/sdk_worker.py", line 316, in _execute
E         response = task()
E       File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/worker/sdk_worker.py", line 390, in <lambda>
E         lambda: self.create_worker().do_instruction(request), request)
E                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^
E       File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/worker/sdk_worker.py", line 669, in do_instruction
E         return getattr(self, request_type)(
E                ~~~~~~~~~~~~~~~~~~~~~~~~~~~^
E             getattr(request, request_type), request.instruction_id)
E             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
E       File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/worker/sdk_worker.py", line 707, in process_bundle
E         bundle_processor.process_bundle(instruction_id))
E         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^
E       File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/worker/bundle_processor.py", line 1302, in process_bundle
E         input_op_by_transform_id[element.transform_id].process_encoded(
E         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
E             element.data)
E             ^^^^^^^^^^^^^
E       File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/worker/bundle_processor.py", line 242, in process_encoded
E         self.output(decoded_value)
E         ~~~~~~~~~~~^^^^^^^^^^^^^^^
E       File "apache_beam/runners/worker/operations.py", line 568, in apache_beam.runners.worker.operations.Operation.output
E         def output(self, windowed_value, output_index=0):
E       File "apache_beam/runners/worker/operations.py", line 570, in apache_beam.runners.worker.operations.Operation.output
E         _cast_to_receiver(self.receivers[output_index]).receive(windowed_value)
E       File "apache_beam/runners/worker/operations.py", line 260, in apache_beam.runners.worker.operations.SingletonElementConsumerSet.receive
E         def receive(self, windowed_value):
E       File "apache_beam/runners/worker/operations.py", line 263, in apache_beam.runners.worker.operations.SingletonElementConsumerSet.receive
E         self.consumer.process(windowed_value)
E       File "apache_beam/runners/worker/operations.py", line 954, in apache_beam.runners.worker.operations.DoOperation.process
E         with self.scoped_process_state:
E       File "apache_beam/runners/worker/operations.py", line 955, in apache_beam.runners.worker.operations.DoOperation.process
E         delayed_applications = self.dofn_runner.process(o)
E       File "apache_beam/runners/common.py", line 1500, in apache_beam.runners.common.DoFnRunner.process
E         self._reraise_augmented(exn, windowed_value)
E       File "apache_beam/runners/common.py", line 1588, in apache_beam.runners.common.DoFnRunner._reraise_augmented
E         raise exn
E       File "apache_beam/runners/common.py", line 1498, in apache_beam.runners.common.DoFnRunner.process
E         return self.do_fn_invoker.invoke_process(windowed_value)
E       File "apache_beam/runners/common.py", line 684, in apache_beam.runners.common.SimpleInvoker.invoke_process
E         self.output_handler.handle_process_outputs(
E       File "apache_beam/runners/common.py", line 1683, in apache_beam.runners.common._OutputHandler.handle_process_outputs
E         self._write_value_to_tag(tag, windowed_value, watermark_estimator)
E       File "apache_beam/runners/common.py", line 1796, in apache_beam.runners.common._OutputHandler._write_value_to_tag
E         self.main_receivers.receive(windowed_value)
E       File "apache_beam/runners/worker/operations.py", line 263, in apache_beam.runners.worker.operations.SingletonElementConsumerSet.receive
E         self.consumer.process(windowed_value)
E       File "apache_beam/runners/worker/operations.py", line 954, in apache_beam.runners.worker.operations.DoOperation.process
E         with self.scoped_process_state:
E       File "apache_beam/runners/worker/operations.py", line 955, in apache_beam.runners.worker.operations.DoOperation.process
E         delayed_applications = self.dofn_runner.process(o)
E       File "apache_beam/runners/common.py", line 1500, in apache_beam.runners.common.DoFnRunner.process
E         self._reraise_augmented(exn, windowed_value)
E       File "apache_beam/runners/common.py", line 1588, in apache_beam.runners.common.DoFnRunner._reraise_augmented
E         raise exn
E       File "apache_beam/runners/common.py", line 1498, in apache_beam.runners.common.DoFnRunner.process
E         return self.do_fn_invoker.invoke_process(windowed_value)
E       File "apache_beam/runners/common.py", line 684, in apache_beam.runners.common.SimpleInvoker.invoke_process
E         self.output_handler.handle_process_outputs(
E       File "apache_beam/runners/common.py", line 1683, in apache_beam.runners.common._OutputHandler.handle_process_outputs
E         self._write_value_to_tag(tag, windowed_value, watermark_estimator)
E       File "apache_beam/runners/common.py", line 1796, in apache_beam.runners.common._OutputHandler._write_value_to_tag
E         self.main_receivers.receive(windowed_value)
E       File "apache_beam/runners/worker/operations.py", line 263, in apache_beam.runners.worker.operations.SingletonElementConsumerSet.receive
E         self.consumer.process(windowed_value)
E       File "apache_beam/runners/worker/operations.py", line 954, in apache_beam.runners.worker.operations.DoOperation.process
E         with self.scoped_process_state:
E       File "apache_beam/runners/worker/operations.py", line 955, in apache_beam.runners.worker.operations.DoOperation.process
E         delayed_applications = self.dofn_runner.process(o)
E       File "apache_beam/runners/common.py", line 1500, in apache_beam.runners.common.DoFnRunner.process
E         self._reraise_augmented(exn, windowed_value)
E       File "apache_beam/runners/common.py", line 1588, in apache_beam.runners.common.DoFnRunner._reraise_augmented
E         raise exn
E       File "apache_beam/runners/common.py", line 1498, in apache_beam.runners.common.DoFnRunner.process
E         return self.do_fn_invoker.invoke_process(windowed_value)
E       File "apache_beam/runners/common.py", line 684, in apache_beam.runners.common.SimpleInvoker.invoke_process
E         self.output_handler.handle_process_outputs(
E       File "apache_beam/runners/common.py", line 1683, in apache_beam.runners.common._OutputHandler.handle_process_outputs
E         self._write_value_to_tag(tag, windowed_value, watermark_estimator)
E       File "apache_beam/runners/common.py", line 1796, in apache_beam.runners.common._OutputHandler._write_value_to_tag
E         self.main_receivers.receive(windowed_value)
E       File "apache_beam/runners/worker/operations.py", line 263, in apache_beam.runners.worker.operations.SingletonElementConsumerSet.receive
E         self.consumer.process(windowed_value)
E       File "apache_beam/runners/worker/operations.py", line 954, in apache_beam.runners.worker.operations.DoOperation.process
E         with self.scoped_process_state:
E       File "apache_beam/runners/worker/operations.py", line 955, in apache_beam.runners.worker.operations.DoOperation.process
E         delayed_applications = self.dofn_runner.process(o)
E       File "apache_beam/runners/common.py", line 1500, in apache_beam.runners.common.DoFnRunner.process
E         self._reraise_augmented(exn, windowed_value)
E       File "apache_beam/runners/common.py", line 1588, in apache_beam.runners.common.DoFnRunner._reraise_augmented
E         raise exn
E       File "apache_beam/runners/common.py", line 1498, in apache_beam.runners.common.DoFnRunner.process
E         return self.do_fn_invoker.invoke_process(windowed_value)
E       File "apache_beam/runners/common.py", line 684, in apache_beam.runners.common.SimpleInvoker.invoke_process
E         self.output_handler.handle_process_outputs(
E       File "apache_beam/runners/common.py", line 1683, in apache_beam.runners.common._OutputHandler.handle_process_outputs
E         self._write_value_to_tag(tag, windowed_value, watermark_estimator)
E       File "apache_beam/runners/common.py", line 1796, in apache_beam.runners.common._OutputHandler._write_value_to_tag
E         self.main_receivers.receive(windowed_value)
E       File "apache_beam/runners/worker/operations.py", line 263, in apache_beam.runners.worker.operations.SingletonElementConsumerSet.receive
E         self.consumer.process(windowed_value)
E       File "apache_beam/runners/worker/operations.py", line 954, in apache_beam.runners.worker.operations.DoOperation.process
E         with self.scoped_process_state:
E       File "apache_beam/runners/worker/operations.py", line 955, in apache_beam.runners.worker.operations.DoOperation.process
E         delayed_applications = self.dofn_runner.process(o)
E       File "apache_beam/runners/common.py", line 1500, in apache_beam.runners.common.DoFnRunner.process
E         self._reraise_augmented(exn, windowed_value)
E       File "apache_beam/runners/common.py", line 1588, in apache_beam.runners.common.DoFnRunner._reraise_augmented
E         raise exn
E       File "apache_beam/runners/common.py", line 1498, in apache_beam.runners.common.DoFnRunner.process
E         return self.do_fn_invoker.invoke_process(windowed_value)
E       File "apache_beam/runners/common.py", line 684, in apache_beam.runners.common.SimpleInvoker.invoke_process
E         self.output_handler.handle_process_outputs(
E       File "apache_beam/runners/common.py", line 1683, in apache_beam.runners.common._OutputHandler.handle_process_outputs
E         self._write_value_to_tag(tag, windowed_value, watermark_estimator)
E       File "apache_beam/runners/common.py", line 1796, in apache_beam.runners.common._OutputHandler._write_value_to_tag
E         self.main_receivers.receive(windowed_value)
E       File "apache_beam/runners/worker/operations.py", line 263, in apache_beam.runners.worker.operations.SingletonElementConsumerSet.receive
E         self.consumer.process(windowed_value)
E       File "apache_beam/runners/worker/operations.py", line 954, in apache_beam.runners.worker.operations.DoOperation.process
E         with self.scoped_process_state:
E       File "apache_beam/runners/worker/operations.py", line 955, in apache_beam.runners.worker.operations.DoOperation.process
E         delayed_applications = self.dofn_runner.process(o)
E       File "apache_beam/runners/common.py", line 1500, in apache_beam.runners.common.DoFnRunner.process
E         self._reraise_augmented(exn, windowed_value)
E       File "apache_beam/runners/common.py", line 1588, in apache_beam.runners.common.DoFnRunner._reraise_augmented
E         raise exn
E       File "apache_beam/runners/common.py", line 1498, in apache_beam.runners.common.DoFnRunner.process
E         return self.do_fn_invoker.invoke_process(windowed_value)
E       File "apache_beam/runners/common.py", line 684, in apache_beam.runners.common.SimpleInvoker.invoke_process
E         self.output_handler.handle_process_outputs(
E       File "apache_beam/runners/common.py", line 1683, in apache_beam.runners.common._OutputHandler.handle_process_outputs
E         self._write_value_to_tag(tag, windowed_value, watermark_estimator)
E       File "apache_beam/runners/common.py", line 1796, in apache_beam.runners.common._OutputHandler._write_value_to_tag
E         self.main_receivers.receive(windowed_value)
E       File "apache_beam/runners/worker/operations.py", line 263, in apache_beam.runners.worker.operations.SingletonElementConsumerSet.receive
E         self.consumer.process(windowed_value)
E       File "apache_beam/runners/worker/operations.py", line 954, in apache_beam.runners.worker.operations.DoOperation.process
E         with self.scoped_process_state:
E       File "apache_beam/runners/worker/operations.py", line 955, in apache_beam.runners.worker.operations.DoOperation.process
E         delayed_applications = self.dofn_runner.process(o)
E       File "apache_beam/runners/common.py", line 1500, in apache_beam.runners.common.DoFnRunner.process
E         self._reraise_augmented(exn, windowed_value)
E       File "apache_beam/runners/common.py", line 1609, in apache_beam.runners.common.DoFnRunner._reraise_augmented
E         raise new_exn
E       File "apache_beam/runners/common.py", line 1498, in apache_beam.runners.common.DoFnRunner.process
E         return self.do_fn_invoker.invoke_process(windowed_value)
E       File "apache_beam/runners/common.py", line 912, in apache_beam.runners.common.PerWindowInvoker.invoke_process
E         self._invoke_process_per_window(
E       File "apache_beam/runners/common.py", line 1057, in apache_beam.runners.common.PerWindowInvoker._invoke_process_per_window
E         self.process_method(*args_for_process, **kwargs_for_process),
E       File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/inference/base.py", line 1933, in process
E         return self._run_inference(batch, inference_args)
E                ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
E       File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/inference/base.py", line 1903, in _run_inference
E         raise e
E       File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/inference/base.py", line 1889, in _run_inference
E         result_generator = self._model_handler.run_inference(
E             batch, model, inference_args)
E       File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/inference/base.py", line 1228, in run_inference
E         return self._base.run_inference(batch, model, inference_args)
E                ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
E       File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/inference/base.py", line 764, in run_inference
E         self._unkeyed.run_inference(unkeyed_batch, model, inference_args))
E         ~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
E       File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/anomaly/detectors/pyod_adapter.py", line 84, in run_inference
E         predictions = model.decision_function(vectorized_batch)
E       File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/pyod/models/iforest.py", line 243, in decision_function
E         check_is_fitted(self, ['decision_scores_', 'threshold_', 'labels_'])
E         ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
E       File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/sklearn/utils/validation.py", line 1699, in check_is_fitted
E         tags = get_tags(estimator)
E       File "/runner/_work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/sklearn/utils/_tags.py", line 283, in get_tags
E         raise AttributeError(
E         ...<8 lines>...
E         )
E     AttributeError: The following error was raised: 'IForest' object has no attribute '__sklearn_tags__'. It seems that there are no classes that implement `__sklearn_tags__` in the MRO and/or all classes in the MRO call `super().__sklearn_tags__()`. Make sure to inherit from `BaseEstimator` which implements `__sklearn_tags__` (or alternatively define `__sklearn_tags__` but we don't recommend this approach). Note that `BaseEstimator` needs to be on the right side of other Mixins in the inheritance order. [while running 'AnomalyDetection/RunOfflineDetector/Call RunInference (OfflineDetector:7600fa)/BeamML_RunInference']
E     "

apache_beam/ml/anomaly/detectors/pyod_adapter_test.py:148: AssertionError

Check notice on line 0 in .github

See this annotation in the file changed.

@github-actions github-actions / Python 3.13 Test Results (self-hosted, ubuntu-20.04, main)

140 skipped tests found

There are 140 skipped tests, see "Raw output" for the full list of skipped tests.
Raw output
apache_beam.ml.anomaly.specifiable_test.TestInitCallCount ‑ test_on_dill_pickle
apache_beam.ml.gcp.cloud_dlp_it_test.CloudDLPIT ‑ test_deidentification
apache_beam.ml.gcp.cloud_dlp_it_test.CloudDLPIT ‑ test_inspection
apache_beam.ml.gcp.naturallanguageml_test_it.NaturalLanguageMlTestIT ‑ test_analyzing_syntax
apache_beam.ml.gcp.recommendations_ai_test_it.RecommendationAIIT ‑ test_create_catalog_item
apache_beam.ml.gcp.recommendations_ai_test_it.RecommendationAIIT ‑ test_create_user_event
apache_beam.ml.gcp.recommendations_ai_test_it.RecommendationAIIT ‑ test_predict
apache_beam.ml.gcp.videointelligenceml_test_it.VideoIntelligenceMlTestIT ‑ test_label_detection_with_video_context
apache_beam.ml.gcp.visionml_test_it.VisionMlTestIT ‑ test_text_detection_with_language_hint
apache_beam.ml.inference.base_test.RunInferenceBaseTest ‑ test_run_inference_with_side_inputin_streaming
apache_beam.ml.inference.gemini_inference_it_test.GeminiInference ‑ test_gemini_text_classification
apache_beam.ml.inference.huggingface_inference_it_test.HuggingFaceInference ‑ test_hf_language_modeling
apache_beam.ml.inference.huggingface_inference_it_test.HuggingFaceInference ‑ test_hf_language_modeling_large_model
apache_beam.ml.inference.huggingface_inference_it_test.HuggingFaceInference ‑ test_hf_pipeline
apache_beam.ml.inference.onnx_inference_it_test.OnnxInference ‑ test_onnx_run_inference_roberta_sentiment_classification
apache_beam.ml.inference.onnx_inference_test
apache_beam.ml.inference.pytorch_inference_it_test.PyTorchInference ‑ test_torch_run_inference_bert_for_masked_lm
apache_beam.ml.inference.pytorch_inference_it_test.PyTorchInference ‑ test_torch_run_inference_bert_for_masked_lm_large_model
apache_beam.ml.inference.pytorch_inference_it_test.PyTorchInference ‑ test_torch_run_inference_coco_maskrcnn_resnet50_fpn
apache_beam.ml.inference.pytorch_inference_it_test.PyTorchInference ‑ test_torch_run_inference_coco_maskrcnn_resnet50_fpn_v1_and_v2
apache_beam.ml.inference.pytorch_inference_it_test.PyTorchInference ‑ test_torch_run_inference_imagenet_mobilenetv2
apache_beam.ml.inference.sklearn_inference_it_test.SklearnInference ‑ test_sklearn_mnist_classification
apache_beam.ml.inference.sklearn_inference_it_test.SklearnInference ‑ test_sklearn_mnist_classification_large_model
apache_beam.ml.inference.sklearn_inference_it_test.SklearnInference ‑ test_sklearn_regression
apache_beam.ml.inference.tensorflow_inference_it_test.TensorflowInference ‑ test_tf_imagenet_image_segmentation
apache_beam.ml.inference.tensorflow_inference_it_test.TensorflowInference ‑ test_tf_mnist_classification
apache_beam.ml.inference.tensorflow_inference_it_test.TensorflowInference ‑ test_tf_mnist_classification_large_model
apache_beam.ml.inference.tensorflow_inference_it_test.TensorflowInference ‑ test_tf_mnist_with_weights_classification
apache_beam.ml.inference.tensorrt_inference_test
apache_beam.ml.inference.vertex_ai_inference_it_test.VertexAIInference ‑ test_vertex_ai_run_flower_image_classification
apache_beam.ml.inference.xgboost_inference_it_test.XGBoostInference ‑ test_iris_classification_datatable_multi_batch
apache_beam.ml.inference.xgboost_inference_it_test.XGBoostInference ‑ test_iris_classification_datatable_single_batch
apache_beam.ml.inference.xgboost_inference_it_test.XGBoostInference ‑ test_iris_classification_numpy_multi_batch
apache_beam.ml.inference.xgboost_inference_it_test.XGBoostInference ‑ test_iris_classification_numpy_single_batch
apache_beam.ml.inference.xgboost_inference_it_test.XGBoostInference ‑ test_iris_classification_numpy_single_batch_large_model
apache_beam.ml.inference.xgboost_inference_it_test.XGBoostInference ‑ test_iris_classification_pandas_multi_batch
apache_beam.ml.inference.xgboost_inference_it_test.XGBoostInference ‑ test_iris_classification_pandas_single_batch
apache_beam.ml.inference.xgboost_inference_it_test.XGBoostInference ‑ test_iris_classification_scipy_multi_batch
apache_beam.ml.inference.xgboost_inference_it_test.XGBoostInference ‑ test_iris_classification_scipy_single_batch
apache_beam.ml.inference.xgboost_inference_test
apache_beam.ml.rag.chunking.langchain_test.LangChainChunkingTest ‑ test_empty_document_field
apache_beam.ml.rag.chunking.langchain_test.LangChainChunkingTest ‑ test_empty_text
apache_beam.ml.rag.chunking.langchain_test.LangChainChunkingTest ‑ test_huggingface_tokenizer_splitter
apache_beam.ml.rag.chunking.langchain_test.LangChainChunkingTest ‑ test_invalid_document_field
apache_beam.ml.rag.chunking.langchain_test.LangChainChunkingTest ‑ test_invalid_text_splitter
apache_beam.ml.rag.chunking.langchain_test.LangChainChunkingTest ‑ test_multiple_metadata_fields
apache_beam.ml.rag.chunking.langchain_test.LangChainChunkingTest ‑ test_no_metadata_fields
apache_beam.ml.rag.chunking.langchain_test.LangChainChunkingTest ‑ test_recursive_splitter_no_overlap
apache_beam.ml.rag.enrichment.bigquery_vector_search_it_test.TestBigQueryVectorSearchIT ‑ test_basic_vector_search
apache_beam.ml.rag.enrichment.bigquery_vector_search_it_test.TestBigQueryVectorSearchIT ‑ test_batched_metadata_filter_vector_search
apache_beam.ml.rag.enrichment.bigquery_vector_search_it_test.TestBigQueryVectorSearchIT ‑ test_condition_batching
apache_beam.ml.rag.enrichment.bigquery_vector_search_it_test.TestBigQueryVectorSearchIT ‑ test_empty_input
apache_beam.ml.rag.enrichment.bigquery_vector_search_it_test.TestBigQueryVectorSearchIT ‑ test_euclidean_distance_search
apache_beam.ml.rag.enrichment.bigquery_vector_search_it_test.TestBigQueryVectorSearchIT ‑ test_include_distance
apache_beam.ml.rag.enrichment.bigquery_vector_search_it_test.TestBigQueryVectorSearchIT ‑ test_metadata_filter_leakage
apache_beam.ml.rag.enrichment.bigquery_vector_search_it_test.TestBigQueryVectorSearchIT ‑ test_no_metadata_restriction
apache_beam.ml.rag.enrichment.bigquery_vector_search_it_test.TestBigQueryVectorSearchIT ‑ test_price_range_filter_with_callable
apache_beam.ml.rag.ingestion.alloydb_it_test.AlloydbVectorWriterConfigTest ‑ test_conflict_resolution_default_ignore
apache_beam.ml.rag.ingestion.alloydb_it_test.AlloydbVectorWriterConfigTest ‑ test_conflict_resolution_default_update_fields
apache_beam.ml.rag.ingestion.alloydb_it_test.AlloydbVectorWriterConfigTest ‑ test_conflict_resolution_update
apache_beam.ml.rag.ingestion.alloydb_it_test.AlloydbVectorWriterConfigTest ‑ test_custom_specs
apache_beam.ml.rag.ingestion.alloydb_it_test.AlloydbVectorWriterConfigTest ‑ test_default_id_embedding_specs
apache_beam.ml.rag.ingestion.alloydb_it_test.AlloydbVectorWriterConfigTest ‑ test_default_schema
apache_beam.ml.rag.ingestion.alloydb_it_test.AlloydbVectorWriterConfigTest ‑ test_defaults_with_args_specs
apache_beam.ml.rag.ingestion.alloydb_it_test.AlloydbVectorWriterConfigTest ‑ test_language_connector
apache_beam.ml.rag.ingestion.alloydb_it_test.AlloydbVectorWriterConfigTest ‑ test_metadata_spec_and_conflicts
apache_beam.ml.rag.ingestion.bigquery_it_test.BigQueryVectorWriterConfigTest ‑ test_custom_schema
apache_beam.ml.rag.ingestion.bigquery_it_test.BigQueryVectorWriterConfigTest ‑ test_default_schema
apache_beam.ml.rag.ingestion.bigquery_it_test.BigQueryVectorWriterConfigTest ‑ test_default_schema_missing_embedding
apache_beam.ml.rag.ingestion.bigquery_it_test.BigQueryVectorWriterConfigTest ‑ test_streaming_default_schema
apache_beam.ml.rag.ingestion.cloudsql_it_test.CloudSQLVectorWriterConfigTest ‑ test_composite_unique_constraint_conflicts_0
apache_beam.ml.rag.ingestion.cloudsql_it_test.CloudSQLVectorWriterConfigTest ‑ test_composite_unique_constraint_conflicts_1
apache_beam.ml.rag.ingestion.cloudsql_it_test.CloudSQLVectorWriterConfigTest ‑ test_conflict_resolution_0
apache_beam.ml.rag.ingestion.cloudsql_it_test.CloudSQLVectorWriterConfigTest ‑ test_conflict_resolution_1
apache_beam.ml.rag.ingestion.cloudsql_it_test.CloudSQLVectorWriterConfigTest ‑ test_conflict_resolution_2
apache_beam.ml.rag.ingestion.cloudsql_it_test.CloudSQLVectorWriterConfigTest ‑ test_conflict_resolution_3
apache_beam.ml.rag.ingestion.cloudsql_it_test.CloudSQLVectorWriterConfigTest ‑ test_conflict_resolution_4
apache_beam.ml.rag.ingestion.cloudsql_it_test.CloudSQLVectorWriterConfigTest ‑ test_conflict_resolution_5
apache_beam.ml.rag.ingestion.cloudsql_it_test.CloudSQLVectorWriterConfigTest ‑ test_custom_column_names_and_value_functions_0
apache_beam.ml.rag.ingestion.cloudsql_it_test.CloudSQLVectorWriterConfigTest ‑ test_custom_column_names_and_value_functions_1
apache_beam.ml.rag.ingestion.cloudsql_it_test.CloudSQLVectorWriterConfigTest ‑ test_custom_type_conversion_with_default_columns_0
apache_beam.ml.rag.ingestion.cloudsql_it_test.CloudSQLVectorWriterConfigTest ‑ test_custom_type_conversion_with_default_columns_1
apache_beam.ml.rag.ingestion.cloudsql_it_test.CloudSQLVectorWriterConfigTest ‑ test_default_config_0
apache_beam.ml.rag.ingestion.cloudsql_it_test.CloudSQLVectorWriterConfigTest ‑ test_default_config_1
apache_beam.ml.rag.ingestion.cloudsql_it_test.CloudSQLVectorWriterConfigTest ‑ test_default_id_embedding_specs_0
apache_beam.ml.rag.ingestion.cloudsql_it_test.CloudSQLVectorWriterConfigTest ‑ test_default_id_embedding_specs_1
apache_beam.ml.rag.ingestion.cloudsql_it_test.CloudSQLVectorWriterConfigTest ‑ test_metadata_field_extraction_0
apache_beam.ml.rag.ingestion.cloudsql_it_test.CloudSQLVectorWriterConfigTest ‑ test_metadata_field_extraction_1
apache_beam.ml.rag.ingestion.postgres_it_test.PostgresVectorWriterConfigTest ‑ test_conflict_resolution_default_ignore
apache_beam.ml.rag.ingestion.postgres_it_test.PostgresVectorWriterConfigTest ‑ test_conflict_resolution_default_update_fields
apache_beam.ml.rag.ingestion.postgres_it_test.PostgresVectorWriterConfigTest ‑ test_conflict_resolution_update
apache_beam.ml.rag.ingestion.postgres_it_test.PostgresVectorWriterConfigTest ‑ test_custom_specs
apache_beam.ml.rag.ingestion.postgres_it_test.PostgresVectorWriterConfigTest ‑ test_default_id_embedding_specs
apache_beam.ml.rag.ingestion.postgres_it_test.PostgresVectorWriterConfigTest ‑ test_default_schema
apache_beam.ml.rag.ingestion.postgres_it_test.PostgresVectorWriterConfigTest ‑ test_defaults_with_args_specs
apache_beam.ml.rag.ingestion.postgres_it_test.PostgresVectorWriterConfigTest ‑ test_metadata_spec_and_conflicts
apache_beam.ml.rag.ingestion.spanner_it_test.SpannerVectorWriterTest ‑ test_write_custom_column
apache_beam.ml.rag.ingestion.spanner_it_test.SpannerVectorWriterTest ‑ test_write_default_schema
apache_beam.ml.rag.ingestion.spanner_it_test.SpannerVectorWriterTest ‑ test_write_flattened_metadata
apache_beam.ml.rag.ingestion.spanner_it_test.SpannerVectorWriterTest ‑ test_write_minimal_schema
apache_beam.ml.rag.ingestion.spanner_it_test.SpannerVectorWriterTest ‑ test_write_update_mode
apache_beam.ml.rag.ingestion.spanner_it_test.SpannerVectorWriterTest ‑ test_write_with_converter
apache_beam.ml.rag.ingestion.spanner_it_test.SpannerVectorWriterTest ‑ test_write_with_timestamp
apache_beam.ml.transforms.base_test.BaseMLTransformTest ‑ test_ml_transform_appends_transforms_to_process_handler_correctly
apache_beam.ml.transforms.base_test.BaseMLTransformTest ‑ test_ml_transform_dict_output_pcoll_schema_0
apache_beam.ml.transforms.base_test.BaseMLTransformTest ‑ test_ml_transform_dict_output_pcoll_schema_1
apache_beam.ml.transforms.base_test.BaseMLTransformTest ‑ test_ml_transform_dict_output_pcoll_schema_2
apache_beam.ml.transforms.base_test.BaseMLTransformTest ‑ test_ml_transform_dict_output_pcoll_schema_3
apache_beam.ml.transforms.base_test.BaseMLTransformTest ‑ test_ml_transform_fail_for_non_global_windows_in_produce_mode
apache_beam.ml.transforms.base_test.BaseMLTransformTest ‑ test_ml_transform_on_dict
apache_beam.ml.transforms.base_test.BaseMLTransformTest ‑ test_ml_transform_on_list_dict
apache_beam.ml.transforms.base_test.BaseMLTransformTest ‑ test_ml_transform_on_multiple_columns_single_transform
apache_beam.ml.transforms.base_test.BaseMLTransformTest ‑ test_ml_transforms_on_multiple_columns_multiple_transforms
apache_beam.ml.transforms.base_test.BaseMLTransformTest ‑ test_mltransform_with_counter
apache_beam.ml.transforms.base_test.TestJsonPickleTransformAttributeManager ‑ test_save_tft_process_handler
apache_beam.ml.transforms.embeddings.huggingface_test.HuggingfaceInferenceAPIGCSLocationTest ‑ test_embeddings_with_inference_api
apache_beam.ml.transforms.embeddings.huggingface_test.HuggingfaceInferenceAPIGCSLocationTest ‑ test_get_api_url_and_when_model_name_not_provided
apache_beam.ml.transforms.embeddings.huggingface_test.HuggingfaceInferenceAPITest ‑ test_embeddings_with_inference_api
apache_beam.ml.transforms.embeddings.huggingface_test.HuggingfaceInferenceAPITest ‑ test_get_api_url_and_when_model_name_not_provided
apache_beam.ml.transforms.embeddings.huggingface_test.SentenceTransformerEmbeddingsTest ‑ test_embeddings_with_scale_to_0_1
apache_beam.ml.transforms.embeddings.open_ai_it_test.OpenAIEmbeddingsTest ‑ test_embeddings_with_dimensions
apache_beam.ml.transforms.embeddings.open_ai_it_test.OpenAIEmbeddingsTest ‑ test_embeddings_with_read_artifact_location
apache_beam.ml.transforms.embeddings.open_ai_it_test.OpenAIEmbeddingsTest ‑ test_embeddings_with_scale_to_0_1
apache_beam.ml.transforms.embeddings.open_ai_it_test.OpenAIEmbeddingsTest ‑ test_mltransform_to_ptransform_with_openai
apache_beam.ml.transforms.embeddings.open_ai_it_test.OpenAIEmbeddingsTest ‑ test_openai_text_embeddings
apache_beam.ml.transforms.embeddings.open_ai_it_test.OpenAIEmbeddingsTest ‑ test_with_artifact_location
apache_beam.ml.transforms.embeddings.open_ai_it_test.OpenAIEmbeddingsTest ‑ test_with_int_data_types
apache_beam.ml.transforms.embeddings.tensorflow_hub_test.TFHubEmbeddingsGCSArtifactLocationTest ‑ test_embeddings_with_read_artifact_location
apache_beam.ml.transforms.embeddings.tensorflow_hub_test.TFHubEmbeddingsGCSArtifactLocationTest ‑ test_embeddings_with_scale_to_0_1
apache_beam.ml.transforms.embeddings.tensorflow_hub_test.TFHubEmbeddingsGCSArtifactLocationTest ‑ test_tfhub_text_embeddings
apache_beam.ml.transforms.embeddings.tensorflow_hub_test.TFHubEmbeddingsGCSArtifactLocationTest ‑ test_with_int_data_types
apache_beam.ml.transforms.embeddings.tensorflow_hub_test.TFHubEmbeddingsTest ‑ test_embeddings_with_read_artifact_location
apache_beam.ml.transforms.embeddings.tensorflow_hub_test.TFHubEmbeddingsTest ‑ test_embeddings_with_scale_to_0_1
apache_beam.ml.transforms.embeddings.tensorflow_hub_test.TFHubEmbeddingsTest ‑ test_tfhub_text_embeddings
apache_beam.ml.transforms.embeddings.tensorflow_hub_test.TFHubEmbeddingsTest ‑ test_with_int_data_types
apache_beam.ml.transforms.embeddings.tensorflow_hub_test.TFHubImageEmbeddingsTest ‑ test_sentence_transformer_image_embeddings
apache_beam.ml.transforms.embeddings.tensorflow_hub_test.TFHubImageEmbeddingsTest ‑ test_with_str_data_types
apache_beam.ml.transforms.embeddings.vertex_ai_test.VertexAIEmbeddingsTest ‑ test_embeddings_with_scale_to_0_1
apache_beam.ml.transforms.handlers_test
apache_beam.ml.transforms.tft_test

Check notice on line 0 in .github

See this annotation in the file changed.

@github-actions github-actions / Python 3.13 Test Results (self-hosted, ubuntu-20.04, main)

500 tests found

There are 500 tests, see "Raw output" for the full list of tests.
Raw output
apache_beam.ml.anomaly.aggregations_test.AllVoteTest ‑ test_default
apache_beam.ml.anomaly.aggregations_test.AnyVoteTest ‑ test_default
apache_beam.ml.anomaly.aggregations_test.AverageScoreTest ‑ test_default
apache_beam.ml.anomaly.aggregations_test.LabelAggTestWithMissingOrError ‑ test_default
apache_beam.ml.anomaly.aggregations_test.MajorityVoteTest ‑ test_default
apache_beam.ml.anomaly.aggregations_test.MajorityVoteTest ‑ test_tie_breaker
apache_beam.ml.anomaly.aggregations_test.MaxScoreTest ‑ test_default
apache_beam.ml.anomaly.aggregations_test.ScoreAggTestWithMissingOrError ‑ test_default
apache_beam.ml.anomaly.base_test.TestAnomalyDetector ‑ test_model_id_and_spec_0
apache_beam.ml.anomaly.base_test.TestAnomalyDetector ‑ test_model_id_and_spec_1
apache_beam.ml.anomaly.base_test.TestAnomalyDetector ‑ test_model_id_and_spec_2
apache_beam.ml.anomaly.base_test.TestAnomalyDetector ‑ test_model_id_and_spec_3
apache_beam.ml.anomaly.base_test.TestEnsembleAnomalyDetector ‑ test_model_id_and_spec_0
apache_beam.ml.anomaly.base_test.TestEnsembleAnomalyDetector ‑ test_model_id_and_spec_1
apache_beam.ml.anomaly.base_test.TestEnsembleAnomalyDetector ‑ test_model_id_and_spec_2
apache_beam.ml.anomaly.base_test.TestEnsembleAnomalyDetector ‑ test_model_id_and_spec_3
apache_beam.ml.anomaly.detectors.iqr_test.IQRTest ‑ test_with_default_trackers
apache_beam.ml.anomaly.detectors.pyod_adapter_test.PyODIForestTest ‑ test_scoring_with_matched_features_0
apache_beam.ml.anomaly.detectors.pyod_adapter_test.PyODIForestTest ‑ test_scoring_with_matched_features_1
apache_beam.ml.anomaly.detectors.pyod_adapter_test.PyODIForestTest ‑ test_scoring_with_unmatched_features
apache_beam.ml.anomaly.detectors.robust_zscore_test.RobustZScoreTest ‑ test_with_default_trackers
apache_beam.ml.anomaly.detectors.zscore_test.ZScoreTest ‑ test_with_custom_mean_tracker
apache_beam.ml.anomaly.detectors.zscore_test.ZScoreTest ‑ test_with_default_trackers
apache_beam.ml.anomaly.specifiable_test.TestClassAsArgument ‑ test_normal_class
apache_beam.ml.anomaly.specifiable_test.TestFunctionAsArgument ‑ test_lambda_function
apache_beam.ml.anomaly.specifiable_test.TestFunctionAsArgument ‑ test_normal_function
apache_beam.ml.anomaly.specifiable_test.TestInitCallCount ‑ test_just_in_time_init
apache_beam.ml.anomaly.specifiable_test.TestInitCallCount ‑ test_on_demand_and_just_in_time_init
apache_beam.ml.anomaly.specifiable_test.TestInitCallCount ‑ test_on_demand_init
apache_beam.ml.anomaly.specifiable_test.TestInitCallCount ‑ test_on_dill_pickle
apache_beam.ml.anomaly.specifiable_test.TestInitCallCount ‑ test_on_pickle
apache_beam.ml.anomaly.specifiable_test.TestNestedSpecifiable ‑ test_error_in_child
apache_beam.ml.anomaly.specifiable_test.TestNestedSpecifiable ‑ test_nested_specifiable_0
apache_beam.ml.anomaly.specifiable_test.TestNestedSpecifiable ‑ test_nested_specifiable_1
apache_beam.ml.anomaly.specifiable_test.TestNestedSpecifiable ‑ test_nested_specifiable_2
apache_beam.ml.anomaly.specifiable_test.TestNestedSpecifiable ‑ test_nested_specifiable_3
apache_beam.ml.anomaly.specifiable_test.TestNestedSpecifiable ‑ test_nested_specifiable_4
apache_beam.ml.anomaly.specifiable_test.TestNestedSpecifiable ‑ test_nested_specifiable_5
apache_beam.ml.anomaly.specifiable_test.TestSpecifiable ‑ test_decorator_in_function_form
apache_beam.ml.anomaly.specifiable_test.TestSpecifiable ‑ test_decorator_in_syntactic_sugar_form
apache_beam.ml.anomaly.specifiable_test.TestSpecifiable ‑ test_from_spec_and_to_spec_0
apache_beam.ml.anomaly.specifiable_test.TestSpecifiable ‑ test_from_spec_and_to_spec_1
apache_beam.ml.anomaly.specifiable_test.TestSpecifiable ‑ test_from_spec_and_to_spec_2
apache_beam.ml.anomaly.specifiable_test.TestSpecifiable ‑ test_from_spec_and_to_spec_3
apache_beam.ml.anomaly.specifiable_test.TestSpecifiable ‑ test_from_spec_on_unknown_spec_type
apache_beam.ml.anomaly.specifiable_test.TestSpecifiable ‑ test_init_params_in_specifiable
apache_beam.ml.anomaly.specifiable_test.TestUncommonUsages ‑ test_double_specifiable
apache_beam.ml.anomaly.specifiable_test.TestUncommonUsages ‑ test_unspecifiable
apache_beam.ml.anomaly.thresholds_test.TestFixedThreshold ‑ test_apply_only
apache_beam.ml.anomaly.thresholds_test.TestQuantileThreshold ‑ test_apply_only
apache_beam.ml.anomaly.thresholds_test.TestQuantileThreshold ‑ test_quantile_tracker
apache_beam.ml.anomaly.transforms_test.TestAnomalyDetection ‑ test_multiple_detectors_without_aggregation_0
apache_beam.ml.anomaly.transforms_test.TestAnomalyDetection ‑ test_multiple_detectors_without_aggregation_1
apache_beam.ml.anomaly.transforms_test.TestAnomalyDetection ‑ test_multiple_sub_detectors_with_aggregation_0
apache_beam.ml.anomaly.transforms_test.TestAnomalyDetection ‑ test_multiple_sub_detectors_with_aggregation_1
apache_beam.ml.anomaly.transforms_test.TestAnomalyDetection ‑ test_one_detector_0
apache_beam.ml.anomaly.transforms_test.TestAnomalyDetection ‑ test_one_detector_1
apache_beam.ml.anomaly.transforms_test.TestOfflineDetector ‑ test_default_inference_fn_0
apache_beam.ml.anomaly.transforms_test.TestOfflineDetector ‑ test_default_inference_fn_1
apache_beam.ml.anomaly.transforms_test.TestOfflineDetector ‑ test_run_inference_args
apache_beam.ml.anomaly.transforms_test.TestStatefulThresholdDoFn ‑ test_dofn_on_single_prediction
apache_beam.ml.anomaly.transforms_test.TestStatelessThresholdDoFn ‑ test_dofn_on_multiple_predictions
apache_beam.ml.anomaly.transforms_test.TestStatelessThresholdDoFn ‑ test_dofn_on_single_prediction
apache_beam.ml.anomaly.univariate.mad_test.MadTest ‑ test_default_tracker
apache_beam.ml.anomaly.univariate.mean_test.LandmarkMeanTest ‑ test_accuracy_fuzz
apache_beam.ml.anomaly.univariate.mean_test.LandmarkMeanTest ‑ test_with_float64_max
apache_beam.ml.anomaly.univariate.mean_test.LandmarkMeanTest ‑ test_with_nan
apache_beam.ml.anomaly.univariate.mean_test.LandmarkMeanTest ‑ test_without_nan
apache_beam.ml.anomaly.univariate.mean_test.SlidingMeanTest ‑ test_accuracy_fuzz
apache_beam.ml.anomaly.univariate.mean_test.SlidingMeanTest ‑ test_with_float64_max_0
apache_beam.ml.anomaly.univariate.mean_test.SlidingMeanTest ‑ test_with_float64_max_1
apache_beam.ml.anomaly.univariate.mean_test.SlidingMeanTest ‑ test_with_nan_0
apache_beam.ml.anomaly.univariate.mean_test.SlidingMeanTest ‑ test_with_nan_1
apache_beam.ml.anomaly.univariate.mean_test.SlidingMeanTest ‑ test_without_nan_0
apache_beam.ml.anomaly.univariate.mean_test.SlidingMeanTest ‑ test_without_nan_1
apache_beam.ml.anomaly.univariate.median_test.MedianTest ‑ test_custom_tracker
apache_beam.ml.anomaly.univariate.median_test.MedianTest ‑ test_default_tracker
apache_beam.ml.anomaly.univariate.median_test.MedianTest ‑ test_wrong_tracker
apache_beam.ml.anomaly.univariate.perf_test.PerfTest ‑ test_mean_perf
apache_beam.ml.anomaly.univariate.perf_test.PerfTest ‑ test_quantile_perf
apache_beam.ml.anomaly.univariate.perf_test.PerfTest ‑ test_stdev_perf
apache_beam.ml.anomaly.univariate.quantile_test.LandmarkQuantileTest ‑ test_accuracy_fuzz
apache_beam.ml.anomaly.univariate.quantile_test.LandmarkQuantileTest ‑ test_with_nan
apache_beam.ml.anomaly.univariate.quantile_test.LandmarkQuantileTest ‑ test_without_nan
apache_beam.ml.anomaly.univariate.quantile_test.SlidingQuantileTest ‑ test_accuracy_fuzz
apache_beam.ml.anomaly.univariate.quantile_test.SlidingQuantileTest ‑ test_with_nan_0
apache_beam.ml.anomaly.univariate.quantile_test.SlidingQuantileTest ‑ test_with_nan_1
apache_beam.ml.anomaly.univariate.quantile_test.SlidingQuantileTest ‑ test_without_nan_0
apache_beam.ml.anomaly.univariate.stdev_test.LandmarkStdevTest ‑ test_accuracy_fuzz
apache_beam.ml.anomaly.univariate.stdev_test.LandmarkStdevTest ‑ test_with_nan
apache_beam.ml.anomaly.univariate.stdev_test.LandmarkStdevTest ‑ test_without_nan
apache_beam.ml.anomaly.univariate.stdev_test.SlidingStdevTest ‑ test_accuracy_fuzz
apache_beam.ml.anomaly.univariate.stdev_test.SlidingStdevTest ‑ test_stdev_with_nan_0
apache_beam.ml.anomaly.univariate.stdev_test.SlidingStdevTest ‑ test_stdev_with_nan_1
apache_beam.ml.anomaly.univariate.stdev_test.SlidingStdevTest ‑ test_without_nan_0
apache_beam.ml.anomaly.univariate.stdev_test.SlidingStdevTest ‑ test_without_nan_1
apache_beam.ml.gcp.cloud_dlp_it_test.CloudDLPIT ‑ test_deidentification
apache_beam.ml.gcp.cloud_dlp_it_test.CloudDLPIT ‑ test_inspection
apache_beam.ml.gcp.cloud_dlp_test.TestDeidentifyFn ‑ test_deidentify_called
apache_beam.ml.gcp.cloud_dlp_test.TestDeidentifyText ‑ test_exception_raised_when_no_config_is_provided
apache_beam.ml.gcp.cloud_dlp_test.TestInspectFn ‑ test_inspect_called
apache_beam.ml.gcp.cloud_dlp_test.TestInspectText ‑ test_exception_raised_then_no_config_provided
apache_beam.ml.gcp.naturallanguageml_test.NaturalLanguageMlTest ‑ test_document_source
apache_beam.ml.gcp.naturallanguageml_test_it.NaturalLanguageMlTestIT ‑ test_analyzing_syntax
apache_beam.ml.gcp.recommendations_ai_test.RecommendationsAICatalogItemTest ‑ test_CreateCatalogItem
apache_beam.ml.gcp.recommendations_ai_test.RecommendationsAICatalogItemTest ‑ test_ImportCatalogItems
apache_beam.ml.gcp.recommendations_ai_test.RecommendationsAIPredictTest ‑ test_Predict
apache_beam.ml.gcp.recommendations_ai_test.RecommendationsAIUserEventTest ‑ test_CreateUserEvent
apache_beam.ml.gcp.recommendations_ai_test.RecommendationsAIUserEventTest ‑ test_ImportUserEvents
apache_beam.ml.gcp.recommendations_ai_test_it.RecommendationAIIT ‑ test_create_catalog_item
apache_beam.ml.gcp.recommendations_ai_test_it.RecommendationAIIT ‑ test_create_user_event
apache_beam.ml.gcp.recommendations_ai_test_it.RecommendationAIIT ‑ test_predict
apache_beam.ml.gcp.videointelligenceml_test.VideoIntelligenceTest ‑ test_AnnotateVideoWithContext_b64_content
apache_beam.ml.gcp.videointelligenceml_test.VideoIntelligenceTest ‑ test_AnnotateVideoWithContext_bad_input
apache_beam.ml.gcp.videointelligenceml_test.VideoIntelligenceTest ‑ test_AnnotateVideo_URIs
apache_beam.ml.gcp.videointelligenceml_test.VideoIntelligenceTest ‑ test_AnnotateVideo_b64_content
apache_beam.ml.gcp.videointelligenceml_test.VideoIntelligenceTest ‑ test_AnnotateVideo_bad_input
apache_beam.ml.gcp.videointelligenceml_test.VideoIntelligenceTest ‑ test_AnnotateVideo_with_side_input_context
apache_beam.ml.gcp.videointelligenceml_test_it.VideoIntelligenceMlTestIT ‑ test_label_detection_with_video_context
apache_beam.ml.gcp.visionml_test.VisionTest ‑ test_AnnotateImageWithContext_URIs
apache_beam.ml.gcp.visionml_test.VisionTest ‑ test_AnnotateImageWithContext_bad_input
apache_beam.ml.gcp.visionml_test.VisionTest ‑ test_AnnotateImage_URI_with_side_input_context
apache_beam.ml.gcp.visionml_test.VisionTest ‑ test_AnnotateImage_URIs
apache_beam.ml.gcp.visionml_test.VisionTest ‑ test_AnnotateImage_URIs_large_batch
apache_beam.ml.gcp.visionml_test.VisionTest ‑ test_AnnotateImage_b64_content
apache_beam.ml.gcp.visionml_test.VisionTest ‑ test_AnnotateImage_bad_input
apache_beam.ml.gcp.visionml_test_it.VisionMlTestIT ‑ test_text_detection_with_language_hint
apache_beam.ml.inference.base_test.RunInferenceBaseTest ‑ test_child_class_without_env_vars
apache_beam.ml.inference.base_test.RunInferenceBaseTest ‑ test_counted_metrics
apache_beam.ml.inference.base_test.RunInferenceBaseTest ‑ test_env_vars_set_correctly
apache_beam.ml.inference.base_test.RunInferenceBaseTest ‑ test_failed_batches_counter_no_failures
apache_beam.ml.inference.base_test.RunInferenceBaseTest ‑ test_forwards_batch_args
apache_beam.ml.inference.base_test.RunInferenceBaseTest ‑ test_increment_failed_batches_counter
apache_beam.ml.inference.base_test.RunInferenceBaseTest ‑ test_keyed_many_model_handlers_validation
apache_beam.ml.inference.base_test.RunInferenceBaseTest ‑ test_keyed_model_handler_get_num_bytes
apache_beam.ml.inference.base_test.RunInferenceBaseTest ‑ test_keyed_model_handler_multiple_models_get_num_bytes
apache_beam.ml.inference.base_test.RunInferenceBaseTest ‑ test_model_handler_compatibility
apache_beam.ml.inference.base_test.RunInferenceBaseTest ‑ test_model_manager_evicts_correct_num_of_models_after_being_incremented
apache_beam.ml.inference.base_test.RunInferenceBaseTest ‑ test_model_manager_evicts_models
apache_beam.ml.inference.base_test.RunInferenceBaseTest ‑ test_model_manager_evicts_models_after_update
apache_beam.ml.inference.base_test.RunInferenceBaseTest ‑ test_model_manager_loads_shared_model
apache_beam.ml.inference.base_test.RunInferenceBaseTest ‑ test_model_status_provides_valid_garbage_collection
apache_beam.ml.inference.base_test.RunInferenceBaseTest ‑ test_model_status_provides_valid_tags
apache_beam.ml.inference.base_test.RunInferenceBaseTest ‑ test_run_inference_empty_side_input
apache_beam.ml.inference.base_test.RunInferenceBaseTest ‑ test_run_inference_impl_dlq
apache_beam.ml.inference.base_test.RunInferenceBaseTest ‑ test_run_inference_impl_inference_args
apache_beam.ml.inference.base_test.RunInferenceBaseTest ‑ test_run_inference_impl_keyed_mps_incrementing_multi_copy
apache_beam.ml.inference.base_test.RunInferenceBaseTest ‑ test_run_inference_impl_mps_nobatch_incrementing_multi_copy
apache_beam.ml.inference.base_test.RunInferenceBaseTest ‑ test_run_inference_impl_multi_process_shared_incrementing_multi_copy
apache_beam.ml.inference.base_test.RunInferenceBaseTest ‑ test_run_inference_impl_simple_examples
apache_beam.ml.inference.base_test.RunInferenceBaseTest ‑ test_run_inference_impl_simple_examples_multi_process_shared
apache_beam.ml.inference.base_test.RunInferenceBaseTest ‑ test_run_inference_impl_simple_examples_multi_process_shared_multi_copy
apache_beam.ml.inference.base_test.RunInferenceBaseTest ‑ test_run_inference_impl_with_keyed_examples
apache_beam.ml.inference.base_test.RunInferenceBaseTest ‑ test_run_inference_impl_with_keyed_examples_many_mhs_max_models_hint
apache_beam.ml.inference.base_test.RunInferenceBaseTest ‑ test_run_inference_impl_with_keyed_examples_many_model_handlers
apache_beam.ml.inference.base_test.RunInferenceBaseTest ‑ test_run_inference_impl_with_keyed_examples_many_model_handlers_metrics
apache_beam.ml.inference.base_test.RunInferenceBaseTest ‑ test_run_inference_impl_with_keyed_examples_multi_process_shared
apache_beam.ml.inference.base_test.RunInferenceBaseTest ‑ test_run_inference_impl_with_maybe_keyed_examples
apache_beam.ml.inference.base_test.RunInferenceBaseTest ‑ test_run_inference_impl_with_maybe_keyed_examples_multi_process_shared
apache_beam.ml.inference.base_test.RunInferenceBaseTest ‑ test_run_inference_keyed_examples_with_unkeyed_model_handler
apache_beam.ml.inference.base_test.RunInferenceBaseTest ‑ test_run_inference_keyed_pre_and_post_processing
apache_beam.ml.inference.base_test.RunInferenceBaseTest ‑ test_run_inference_loads_different_models
apache_beam.ml.inference.base_test.RunInferenceBaseTest ‑ test_run_inference_loads_different_models_multi_process_shared
apache_beam.ml.inference.base_test.RunInferenceBaseTest ‑ test_run_inference_maybe_keyed_pre_and_post_processing
apache_beam.ml.inference.base_test.RunInferenceBaseTest ‑ test_run_inference_metrics_with_custom_namespace
apache_beam.ml.inference.base_test.RunInferenceBaseTest ‑ test_run_inference_postprocessing
apache_beam.ml.inference.base_test.RunInferenceBaseTest ‑ test_run_inference_postprocessing_dlq
apache_beam.ml.inference.base_test.RunInferenceBaseTest ‑ test_run_inference_postprocessing_multiple_fns
apache_beam.ml.inference.base_test.RunInferenceBaseTest ‑ test_run_inference_pre_and_post_processing_dlq
apache_beam.ml.inference.base_test.RunInferenceBaseTest ‑ test_run_inference_prebatched
apache_beam.ml.inference.base_test.RunInferenceBaseTest ‑ test_run_inference_prediction_result_with_model_id
apache_beam.ml.inference.base_test.RunInferenceBaseTest ‑ test_run_inference_preprocessing
apache_beam.ml.inference.base_test.RunInferenceBaseTest ‑ test_run_inference_preprocessing_dlq
apache_beam.ml.inference.base_test.RunInferenceBaseTest ‑ test_run_inference_preprocessing_multiple_fns
apache_beam.ml.inference.base_test.RunInferenceBaseTest ‑ test_run_inference_side_input_in_batch
apache_beam.ml.inference.base_test.RunInferenceBaseTest ‑ test_run_inference_side_input_in_batch_multi_process_shared
apache_beam.ml.inference.base_test.RunInferenceBaseTest ‑ test_run_inference_side_input_in_batch_per_key_models
apache_beam.ml.inference.base_test.RunInferenceBaseTest ‑ test_run_inference_side_input_in_batch_per_key_models_split_cohort
apache_beam.ml.inference.base_test.RunInferenceBaseTest ‑ test_run_inference_timeout_does_garbage_collection
apache_beam.ml.inference.base_test.RunInferenceBaseTest ‑ test_run_inference_timeout_not_hit
apache_beam.ml.inference.base_test.RunInferenceBaseTest ‑ test_run_inference_timeout_on_inference_dlq
apache_beam.ml.inference.base_test.RunInferenceBaseTest ‑ test_run_inference_timeout_on_load_dlq
apache_beam.ml.inference.base_test.RunInferenceBaseTest ‑ test_run_inference_unkeyed_examples_with_keyed_model_handler
apache_beam.ml.inference.base_test.RunInferenceBaseTest ‑ test_run_inference_watch_file_pattern_keyword_arg_side_input_label
apache_beam.ml.inference.base_test.RunInferenceBaseTest ‑ test_run_inference_watch_file_pattern_side_input_label
apache_beam.ml.inference.base_test.RunInferenceBaseTest ‑ test_run_inference_with_iterable_side_input
apache_beam.ml.inference.base_test.RunInferenceBaseTest ‑ test_run_inference_with_iterable_side_input_multi_process_shared
apache_beam.ml.inference.base_test.RunInferenceBaseTest ‑ test_run_inference_with_side_inputin_streaming
apache_beam.ml.inference.base_test.RunInferenceBaseTest ‑ test_runinference_loads_same_model_with_identifier_multi_process_shared
apache_beam.ml.inference.base_test.RunInferenceBaseTest ‑ test_timing_metrics
apache_beam.ml.inference.base_test.RunInferenceBaseTest ‑ test_unexpected_inference_args_passed
apache_beam.ml.inference.base_test.RunInferenceRemoteTest ‑ test_exception_on_load_model_override
apache_beam.ml.inference.base_test.RunInferenceRemoteTest ‑ test_exception_on_run_inference_override
apache_beam.ml.inference.base_test.RunInferenceRemoteTest ‑ test_normal_model_execution
apache_beam.ml.inference.base_test.RunInferenceRemoteTest ‑ test_repeated_requests_fail
apache_beam.ml.inference.base_test.RunInferenceRemoteTest ‑ test_works_on_retry
apache_beam.ml.inference.gemini_inference_it_test.GeminiInference ‑ test_gemini_image_generation
apache_beam.ml.inference.gemini_inference_it_test.GeminiInference ‑ test_gemini_text_classification
apache_beam.ml.inference.gemini_inference_test.ModelHandlerArgConditions ‑ test_all_params_set
apache_beam.ml.inference.gemini_inference_test.ModelHandlerArgConditions ‑ test_missing_all_params
apache_beam.ml.inference.gemini_inference_test.ModelHandlerArgConditions ‑ test_missing_vertex_location_param
apache_beam.ml.inference.gemini_inference_test.ModelHandlerArgConditions ‑ test_missing_vertex_project_param
apache_beam.ml.inference.gemini_inference_test.RetryOnClientErrorTest ‑ test_retry_on_client_error_negative
apache_beam.ml.inference.gemini_inference_test.RetryOnClientErrorTest ‑ test_retry_on_client_error_positive
apache_beam.ml.inference.gemini_inference_test.RetryOnClientErrorTest ‑ test_retry_on_server_error
apache_beam.ml.inference.huggingface_inference_it_test.HuggingFaceInference ‑ test_hf_language_modeling
apache_beam.ml.inference.huggingface_inference_it_test.HuggingFaceInference ‑ test_hf_language_modeling_large_model
apache_beam.ml.inference.huggingface_inference_it_test.HuggingFaceInference ‑ test_hf_pipeline
apache_beam.ml.inference.huggingface_inference_test.HuggingFaceInferenceTest ‑ test_convert_to_result_batch_processing
apache_beam.ml.inference.huggingface_inference_test.HuggingFaceInferenceTest ‑ test_framework_detection_tensorflow
apache_beam.ml.inference.huggingface_inference_test.HuggingFaceInferenceTest ‑ test_framework_detection_torch
apache_beam.ml.inference.huggingface_inference_test.HuggingFaceInferenceTest ‑ test_predict_tensor
apache_beam.ml.inference.huggingface_inference_test.HuggingFaceInferenceTest ‑ test_predict_tensor_with_inference_args
apache_beam.ml.inference.onnx_inference_it_test.OnnxInference ‑ test_onnx_run_inference_roberta_sentiment_classification
apache_beam.ml.inference.onnx_inference_test
apache_beam.ml.inference.pytorch_inference_it_test.PyTorchInference ‑ test_torch_run_inference_bert_for_masked_lm
apache_beam.ml.inference.pytorch_inference_it_test.PyTorchInference ‑ test_torch_run_inference_bert_for_masked_lm_large_model
apache_beam.ml.inference.pytorch_inference_it_test.PyTorchInference ‑ test_torch_run_inference_coco_maskrcnn_resnet50_fpn
apache_beam.ml.inference.pytorch_inference_it_test.PyTorchInference ‑ test_torch_run_inference_coco_maskrcnn_resnet50_fpn_v1_and_v2
apache_beam.ml.inference.pytorch_inference_it_test.PyTorchInference ‑ test_torch_run_inference_imagenet_mobilenetv2
apache_beam.ml.inference.pytorch_inference_test.PytorchInferenceTestWithMocks ‑ test_load_model_args_keyed_tensor
apache_beam.ml.inference.pytorch_inference_test.PytorchInferenceTestWithMocks ‑ test_load_model_args_tensor
apache_beam.ml.inference.pytorch_inference_test.PytorchRunInferencePipelineTest ‑ test_env_vars_set_correctly_keyed_tensor_handler
apache_beam.ml.inference.pytorch_inference_test.PytorchRunInferencePipelineTest ‑ test_env_vars_set_correctly_tensor_handler
apache_beam.ml.inference.pytorch_inference_test.PytorchRunInferencePipelineTest ‑ test_gpu_auto_convert_to_cpu
apache_beam.ml.inference.pytorch_inference_test.PytorchRunInferencePipelineTest ‑ test_inference_torch_script_model
apache_beam.ml.inference.pytorch_inference_test.PytorchRunInferencePipelineTest ‑ test_invalid_input_type
apache_beam.ml.inference.pytorch_inference_test.PytorchRunInferencePipelineTest ‑ test_load_torch_script_model
apache_beam.ml.inference.pytorch_inference_test.PytorchRunInferencePipelineTest ‑ test_pipeline_gcs_model
apache_beam.ml.inference.pytorch_inference_test.PytorchRunInferencePipelineTest ‑ test_pipeline_gcs_model_control_batching
apache_beam.ml.inference.pytorch_inference_test.PytorchRunInferencePipelineTest ‑ test_pipeline_local_model_extra_inference_args
apache_beam.ml.inference.pytorch_inference_test.PytorchRunInferencePipelineTest ‑ test_pipeline_local_model_extra_inference_args_batching_args
apache_beam.ml.inference.pytorch_inference_test.PytorchRunInferencePipelineTest ‑ test_pipeline_local_model_extra_inference_args_large
apache_beam.ml.inference.pytorch_inference_test.PytorchRunInferencePipelineTest ‑ test_pipeline_local_model_large
apache_beam.ml.inference.pytorch_inference_test.PytorchRunInferencePipelineTest ‑ test_pipeline_local_model_simple
apache_beam.ml.inference.pytorch_inference_test.PytorchRunInferencePipelineTest ‑ test_prediction_result_model_id_with_torch_model
apache_beam.ml.inference.pytorch_inference_test.PytorchRunInferencePipelineTest ‑ test_prediction_result_model_id_with_torch_script_model
apache_beam.ml.inference.pytorch_inference_test.PytorchRunInferencePipelineTest ‑ test_specify_torch_script_path_and_state_dict_path
apache_beam.ml.inference.pytorch_inference_test.PytorchRunInferencePipelineTest ‑ test_torch_model_class_none
apache_beam.ml.inference.pytorch_inference_test.PytorchRunInferencePipelineTest ‑ test_torch_model_state_dict_none
apache_beam.ml.inference.pytorch_inference_test.PytorchRunInferenceTest ‑ test_inference_runner_inference_args
apache_beam.ml.inference.pytorch_inference_test.PytorchRunInferenceTest ‑ test_namespace
apache_beam.ml.inference.pytorch_inference_test.PytorchRunInferenceTest ‑ test_num_bytes
apache_beam.ml.inference.pytorch_inference_test.PytorchRunInferenceTest ‑ test_run_inference_custom
apache_beam.ml.inference.pytorch_inference_test.PytorchRunInferenceTest ‑ test_run_inference_helper
apache_beam.ml.inference.pytorch_inference_test.PytorchRunInferenceTest ‑ test_run_inference_keyed
apache_beam.ml.inference.pytorch_inference_test.PytorchRunInferenceTest ‑ test_run_inference_keyed_dict_output
apache_beam.ml.inference.pytorch_inference_test.PytorchRunInferenceTest ‑ test_run_inference_keyed_helper
apache_beam.ml.inference.pytorch_inference_test.PytorchRunInferenceTest ‑ test_run_inference_multiple_tensor_features
apache_beam.ml.inference.pytorch_inference_test.PytorchRunInferenceTest ‑ test_run_inference_multiple_tensor_features_dict_output
apache_beam.ml.inference.pytorch_inference_test.PytorchRunInferenceTest ‑ test_run_inference_single_tensor_feature
apache_beam.ml.inference.sklearn_inference_it_test.SklearnInference ‑ test_sklearn_mnist_classification
apache_beam.ml.inference.sklearn_inference_it_test.SklearnInference ‑ test_sklearn_mnist_classification_large_model
apache_beam.ml.inference.sklearn_inference_it_test.SklearnInference ‑ test_sklearn_regression
apache_beam.ml.inference.sklearn_inference_test.SkLearnRunInferenceTest ‑ test_bad_file_raises
apache_beam.ml.inference.sklearn_inference_test.SkLearnRunInferenceTest ‑ test_bad_input_type_raises
apache_beam.ml.inference.sklearn_inference_test.SkLearnRunInferenceTest ‑ test_custom_inference_fn
apache_beam.ml.inference.sklearn_inference_test.SkLearnRunInferenceTest ‑ test_data_vectorized
apache_beam.ml.inference.sklearn_inference_test.SkLearnRunInferenceTest ‑ test_env_vars_set_correctly_numpy
apache_beam.ml.inference.sklearn_inference_test.SkLearnRunInferenceTest ‑ test_infer_too_many_rows_in_dataframe
apache_beam.ml.inference.sklearn_inference_test.SkLearnRunInferenceTest ‑ test_num_bytes_numpy
apache_beam.ml.inference.sklearn_inference_test.SkLearnRunInferenceTest ‑ test_pipeline_joblib
apache_beam.ml.inference.sklearn_inference_test.SkLearnRunInferenceTest ‑ test_pipeline_pandas
apache_beam.ml.inference.sklearn_inference_test.SkLearnRunInferenceTest ‑ test_pipeline_pandas_custom_batching
apache_beam.ml.inference.sklearn_inference_test.SkLearnRunInferenceTest ‑ test_pipeline_pandas_custom_inference
apache_beam.ml.inference.sklearn_inference_test.SkLearnRunInferenceTest ‑ test_pipeline_pandas_dict_out
apache_beam.ml.inference.sklearn_inference_test.SkLearnRunInferenceTest ‑ test_pipeline_pandas_env_vars_set_correctly
apache_beam.ml.inference.sklearn_inference_test.SkLearnRunInferenceTest ‑ test_pipeline_pandas_joblib
apache_beam.ml.inference.sklearn_inference_test.SkLearnRunInferenceTest ‑ test_pipeline_pandas_large_model
apache_beam.ml.inference.sklearn_inference_test.SkLearnRunInferenceTest ‑ test_pipeline_pandas_with_keys
apache_beam.ml.inference.sklearn_inference_test.SkLearnRunInferenceTest ‑ test_pipeline_pickled
apache_beam.ml.inference.sklearn_inference_test.SkLearnRunInferenceTest ‑ test_pipeline_pickled_custom_batching
apache_beam.ml.inference.sklearn_inference_test.SkLearnRunInferenceTest ‑ test_pipeline_pickled_large_model
apache_beam.ml.inference.sklearn_inference_test.SkLearnRunInferenceTest ‑ test_predict_output
apache_beam.ml.inference.sklearn_inference_test.SkLearnRunInferenceTest ‑ test_predict_output_dict
apache_beam.ml.inference.tensorflow_inference_it_test.TensorflowInference ‑ test_tf_imagenet_image_segmentation
apache_beam.ml.inference.tensorflow_inference_it_test.TensorflowInference ‑ test_tf_mnist_classification
apache_beam.ml.inference.tensorflow_inference_it_test.TensorflowInference ‑ test_tf_mnist_classification_large_model
apache_beam.ml.inference.tensorflow_inference_it_test.TensorflowInference ‑ test_tf_mnist_with_weights_classification
apache_beam.ml.inference.tensorflow_inference_test.TFRunInferenceTest ‑ test_load_model_exception
apache_beam.ml.inference.tensorflow_inference_test.TFRunInferenceTest ‑ test_predict_keyed_numpy
apache_beam.ml.inference.tensorflow_inference_test.TFRunInferenceTest ‑ test_predict_keyed_tensor
apache_beam.ml.inference.tensorflow_inference_test.TFRunInferenceTest ‑ test_predict_numpy
apache_beam.ml.inference.tensorflow_inference_test.TFRunInferenceTest ‑ test_predict_numpy_with_batch_size
apache_beam.ml.inference.tensorflow_inference_test.TFRunInferenceTest ‑ test_predict_numpy_with_large_model
apache_beam.ml.inference.tensorflow_inference_test.TFRunInferenceTest ‑ test_predict_tensor
apache_beam.ml.inference.tensorflow_inference_test.TFRunInferenceTest ‑ test_predict_tensor_with_args
apache_beam.ml.inference.tensorflow_inference_test.TFRunInferenceTest ‑ test_predict_tensor_with_batch_size
apache_beam.ml.inference.tensorflow_inference_test.TFRunInferenceTest ‑ test_predict_tensor_with_large_model
apache_beam.ml.inference.tensorflow_inference_test.TFRunInferenceTestWithMocks ‑ test_env_vars_set_correctly_numpy
apache_beam.ml.inference.tensorflow_inference_test.TFRunInferenceTestWithMocks ‑ test_env_vars_set_correctly_tensor
apache_beam.ml.inference.tensorflow_inference_test.TFRunInferenceTestWithMocks ‑ test_load_model_args
apache_beam.ml.inference.tensorflow_inference_test.TFRunInferenceTestWithMocks ‑ test_load_model_with_args_and_custom_weights
apache_beam.ml.inference.tensorrt_inference_test
apache_beam.ml.inference.utils_test.WatchFilePatternTest ‑ test_emitting_singleton_output
apache_beam.ml.inference.utils_test.WatchFilePatternTest ‑ test_latest_file_by_timestamp_default_value
apache_beam.ml.inference.utils_test.WatchFilePatternTest ‑ test_latest_file_with_timestamp_after_pipeline_construction_time
apache_beam.ml.inference.vertex_ai_inference_it_test.VertexAIInference ‑ test_vertex_ai_run_flower_image_classification
apache_beam.ml.inference.vertex_ai_inference_test.ModelHandlerArgConditions ‑ test_exception_on_private_without_network
apache_beam.ml.inference.vertex_ai_inference_test.RetryOnClientErrorTest ‑ test_retry_on_client_error_negative
apache_beam.ml.inference.vertex_ai_inference_test.RetryOnClientErrorTest ‑ test_retry_on_client_error_positive
apache_beam.ml.inference.xgboost_inference_it_test.XGBoostInference ‑ test_iris_classification_datatable_multi_batch
apache_beam.ml.inference.xgboost_inference_it_test.XGBoostInference ‑ test_iris_classification_datatable_single_batch
apache_beam.ml.inference.xgboost_inference_it_test.XGBoostInference ‑ test_iris_classification_numpy_multi_batch
apache_beam.ml.inference.xgboost_inference_it_test.XGBoostInference ‑ test_iris_classification_numpy_single_batch
apache_beam.ml.inference.xgboost_inference_it_test.XGBoostInference ‑ test_iris_classification_numpy_single_batch_large_model
apache_beam.ml.inference.xgboost_inference_it_test.XGBoostInference ‑ test_iris_classification_pandas_multi_batch
apache_beam.ml.inference.xgboost_inference_it_test.XGBoostInference ‑ test_iris_classification_pandas_single_batch
apache_beam.ml.inference.xgboost_inference_it_test.XGBoostInference ‑ test_iris_classification_scipy_multi_batch
apache_beam.ml.inference.xgboost_inference_it_test.XGBoostInference ‑ test_iris_classification_scipy_single_batch
apache_beam.ml.inference.xgboost_inference_test
apache_beam.ml.rag.chunking.base_test.ChunkingTransformProviderTest ‑ test_chunking_transform
apache_beam.ml.rag.chunking.base_test.ChunkingTransformProviderTest ‑ test_custom_chunk_id_fn
apache_beam.ml.rag.chunking.base_test.ChunkingTransformProviderTest ‑ test_doesnt_override_get_text_splitter_transform
apache_beam.ml.rag.chunking.langchain_test.LangChainChunkingTest ‑ test_empty_document_field
apache_beam.ml.rag.chunking.langchain_test.LangChainChunkingTest ‑ test_empty_text
apache_beam.ml.rag.chunking.langchain_test.LangChainChunkingTest ‑ test_huggingface_tokenizer_splitter
apache_beam.ml.rag.chunking.langchain_test.LangChainChunkingTest ‑ test_invalid_document_field
apache_beam.ml.rag.chunking.langchain_test.LangChainChunkingTest ‑ test_invalid_text_splitter
apache_beam.ml.rag.chunking.langchain_test.LangChainChunkingTest ‑ test_multiple_metadata_fields
apache_beam.ml.rag.chunking.langchain_test.LangChainChunkingTest ‑ test_no_metadata_fields
apache_beam.ml.rag.chunking.langchain_test.LangChainChunkingTest ‑ test_recursive_splitter_no_overlap
apache_beam.ml.rag.embeddings.base_test.RAGBaseEmbeddingsTest ‑ test_adapter_input_conversion
apache_beam.ml.rag.embeddings.base_test.RAGBaseEmbeddingsTest ‑ test_adapter_input_conversion_missing_text_content
apache_beam.ml.rag.embeddings.base_test.RAGBaseEmbeddingsTest ‑ test_adapter_output_conversion
apache_beam.ml.rag.embeddings.huggingface_test.HuggingfaceTextEmbeddingsTest ‑ test_embedding_pipeline
apache_beam.ml.rag.embeddings.vertex_ai_test.VertexAITextEmbeddingsTest ‑ test_embedding_pipeline
apache_beam.ml.rag.enrichment.bigquery_vector_search_it_test.TestBigQueryVectorSearchIT ‑ test_basic_vector_search
apache_beam.ml.rag.enrichment.bigquery_vector_search_it_test.TestBigQueryVectorSearchIT ‑ test_batched_metadata_filter_vector_search
apache_beam.ml.rag.enrichment.bigquery_vector_search_it_test.TestBigQueryVectorSearchIT ‑ test_condition_batching
apache_beam.ml.rag.enrichment.bigquery_vector_search_it_test.TestBigQueryVectorSearchIT ‑ test_empty_input
apache_beam.ml.rag.enrichment.bigquery_vector_search_it_test.TestBigQueryVectorSearchIT ‑ test_euclidean_distance_search
apache_beam.ml.rag.enrichment.bigquery_vector_search_it_test.TestBigQueryVectorSearchIT ‑ test_include_distance
apache_beam.ml.rag.enrichment.bigquery_vector_search_it_test.TestBigQueryVectorSearchIT ‑ test_invalid_query
apache_beam.ml.rag.enrichment.bigquery_vector_search_it_test.TestBigQueryVectorSearchIT ‑ test_metadata_filter_leakage
apache_beam.ml.rag.enrichment.bigquery_vector_search_it_test.TestBigQueryVectorSearchIT ‑ test_missing_embedding
apache_beam.ml.rag.enrichment.bigquery_vector_search_it_test.TestBigQueryVectorSearchIT ‑ test_no_metadata_restriction
apache_beam.ml.rag.enrichment.bigquery_vector_search_it_test.TestBigQueryVectorSearchIT ‑ test_price_range_filter_with_callable
apache_beam.ml.rag.enrichment.milvus_search_test.TestMilvusHybridSearchEnrichment ‑ test_invalid_search_parameters_0
apache_beam.ml.rag.enrichment.milvus_search_test.TestMilvusHybridSearchEnrichment ‑ test_invalid_search_parameters_1
apache_beam.ml.rag.enrichment.milvus_search_test.TestMilvusHybridSearchEnrichment ‑ test_invalid_search_parameters_2
apache_beam.ml.rag.enrichment.milvus_search_test.TestMilvusHybridSearchEnrichment ‑ test_invalid_search_parameters_3
apache_beam.ml.rag.enrichment.milvus_search_test.TestMilvusKeywordSearchEnrichment ‑ test_invalid_search_parameters_0
apache_beam.ml.rag.enrichment.milvus_search_test.TestMilvusKeywordSearchEnrichment ‑ test_invalid_search_parameters_1
apache_beam.ml.rag.enrichment.milvus_search_test.TestMilvusKeywordSearchEnrichment ‑ test_missing_sparse_embedding_only
apache_beam.ml.rag.enrichment.milvus_search_test.TestMilvusKeywordSearchEnrichment ‑ test_missing_text_content_and_sparse_embedding
apache_beam.ml.rag.enrichment.milvus_search_test.TestMilvusKeywordSearchEnrichment ‑ test_missing_text_content_only
apache_beam.ml.rag.enrichment.milvus_search_test.TestMilvusSearchEnrichment ‑ test_invalid_connection_parameters
apache_beam.ml.rag.enrichment.milvus_search_test.TestMilvusSearchEnrichment ‑ test_invalid_search_parameters_0
apache_beam.ml.rag.enrichment.milvus_search_test.TestMilvusSearchEnrichment ‑ test_invalid_search_parameters_1
apache_beam.ml.rag.enrichment.milvus_search_test.TestMilvusSearchEnrichment ‑ test_unpack_dataclass_with_kwargs
apache_beam.ml.rag.enrichment.milvus_search_test.TestMilvusVectorSearchEnrichment ‑ test_invalid_search_parameters_0
apache_beam.ml.rag.enrichment.milvus_search_test.TestMilvusVectorSearchEnrichment ‑ test_invalid_search_parameters_1
apache_beam.ml.rag.enrichment.milvus_search_test.TestMilvusVectorSearchEnrichment ‑ test_missing_dense_embedding
apache_beam.ml.rag.ingestion.alloydb_it_test.AlloydbVectorWriterConfigTest ‑ test_conflict_resolution_default_ignore
apache_beam.ml.rag.ingestion.alloydb_it_test.AlloydbVectorWriterConfigTest ‑ test_conflict_resolution_default_update_fields
apache_beam.ml.rag.ingestion.alloydb_it_test.AlloydbVectorWriterConfigTest ‑ test_conflict_resolution_update
apache_beam.ml.rag.ingestion.alloydb_it_test.AlloydbVectorWriterConfigTest ‑ test_custom_specs
apache_beam.ml.rag.ingestion.alloydb_it_test.AlloydbVectorWriterConfigTest ‑ test_default_id_embedding_specs
apache_beam.ml.rag.ingestion.alloydb_it_test.AlloydbVectorWriterConfigTest ‑ test_default_schema
apache_beam.ml.rag.ingestion.alloydb_it_test.AlloydbVectorWriterConfigTest ‑ test_defaults_with_args_specs
apache_beam.ml.rag.ingestion.alloydb_it_test.AlloydbVectorWriterConfigTest ‑ test_language_connector
apache_beam.ml.rag.ingestion.alloydb_it_test.AlloydbVectorWriterConfigTest ‑ test_metadata_spec_and_conflicts
apache_beam.ml.rag.ingestion.base_test.VectorDatabaseBaseTest ‑ test_invalid_config
apache_beam.ml.rag.ingestion.base_test.VectorDatabaseBaseTest ‑ test_pipeline_integration
apache_beam.ml.rag.ingestion.base_test.VectorDatabaseBaseTest ‑ test_write_transform_creation
apache_beam.ml.rag.ingestion.bigquery_it_test.BigQueryVectorWriterConfigTest ‑ test_custom_schema
apache_beam.ml.rag.ingestion.bigquery_it_test.BigQueryVectorWriterConfigTest ‑ test_default_schema
apache_beam.ml.rag.ingestion.bigquery_it_test.BigQueryVectorWriterConfigTest ‑ test_default_schema_missing_embedding
apache_beam.ml.rag.ingestion.bigquery_it_test.BigQueryVectorWriterConfigTest ‑ test_streaming_default_schema
apache_beam.ml.rag.ingestion.cloudsql_it_test.CloudSQLVectorWriterConfigTest ‑ test_composite_unique_constraint_conflicts_0
apache_beam.ml.rag.ingestion.cloudsql_it_test.CloudSQLVectorWriterConfigTest ‑ test_composite_unique_constraint_conflicts_1
apache_beam.ml.rag.ingestion.cloudsql_it_test.CloudSQLVectorWriterConfigTest ‑ test_conflict_resolution_0
apache_beam.ml.rag.ingestion.cloudsql_it_test.CloudSQLVectorWriterConfigTest ‑ test_conflict_resolution_1
apache_beam.ml.rag.ingestion.cloudsql_it_test.CloudSQLVectorWriterConfigTest ‑ test_conflict_resolution_2
apache_beam.ml.rag.ingestion.cloudsql_it_test.CloudSQLVectorWriterConfigTest ‑ test_conflict_resolution_3
apache_beam.ml.rag.ingestion.cloudsql_it_test.CloudSQLVectorWriterConfigTest ‑ test_conflict_resolution_4
apache_beam.ml.rag.ingestion.cloudsql_it_test.CloudSQLVectorWriterConfigTest ‑ test_conflict_resolution_5
apache_beam.ml.rag.ingestion.cloudsql_it_test.CloudSQLVectorWriterConfigTest ‑ test_custom_column_names_and_value_functions_0
apache_beam.ml.rag.ingestion.cloudsql_it_test.CloudSQLVectorWriterConfigTest ‑ test_custom_column_names_and_value_functions_1
apache_beam.ml.rag.ingestion.cloudsql_it_test.CloudSQLVectorWriterConfigTest ‑ test_custom_type_conversion_with_default_columns_0
apache_beam.ml.rag.ingestion.cloudsql_it_test.CloudSQLVectorWriterConfigTest ‑ test_custom_type_conversion_with_default_columns_1
apache_beam.ml.rag.ingestion.cloudsql_it_test.CloudSQLVectorWriterConfigTest ‑ test_default_config_0
apache_beam.ml.rag.ingestion.cloudsql_it_test.CloudSQLVectorWriterConfigTest ‑ test_default_config_1
apache_beam.ml.rag.ingestion.cloudsql_it_test.CloudSQLVectorWriterConfigTest ‑ test_default_id_embedding_specs_0
apache_beam.ml.rag.ingestion.cloudsql_it_test.CloudSQLVectorWriterConfigTest ‑ test_default_id_embedding_specs_1
apache_beam.ml.rag.ingestion.cloudsql_it_test.CloudSQLVectorWriterConfigTest ‑ test_metadata_field_extraction_0
apache_beam.ml.rag.ingestion.cloudsql_it_test.CloudSQLVectorWriterConfigTest ‑ test_metadata_field_extraction_1
apache_beam.ml.rag.ingestion.milvus_search_test.TestMilvusVectorWriterConfig ‑ test_create_converter_returns_callable
apache_beam.ml.rag.ingestion.milvus_search_test.TestMilvusVectorWriterConfig ‑ test_create_write_transform_returns_ptransform
apache_beam.ml.rag.ingestion.milvus_search_test.TestMilvusVectorWriterConfig ‑ test_default_column_specs_has_expected_fields
apache_beam.ml.rag.ingestion.milvus_search_test.TestMilvusVectorWriterConfig ‑ test_invalid_configuration_parameters_0
apache_beam.ml.rag.ingestion.milvus_search_test.TestMilvusVectorWriterConfig ‑ test_invalid_configuration_parameters_1
apache_beam.ml.rag.ingestion.milvus_search_test.TestMilvusVectorWriterConfig ‑ test_valid_config_creation
apache_beam.ml.rag.ingestion.milvus_search_test.TestMilvusWriteConfig ‑ test_empty_collection_name_raises_error
apache_beam.ml.rag.ingestion.milvus_search_test.TestMilvusWriteConfig ‑ test_none_collection_name_raises_error
apache_beam.ml.rag.ingestion.postgres_it_test.PostgresVectorWriterConfigTest ‑ test_conflict_resolution_default_ignore
apache_beam.ml.rag.ingestion.postgres_it_test.PostgresVectorWriterConfigTest ‑ test_conflict_resolution_default_update_fields
apache_beam.ml.rag.ingestion.postgres_it_test.PostgresVectorWriterConfigTest ‑ test_conflict_resolution_update
apache_beam.ml.rag.ingestion.postgres_it_test.PostgresVectorWriterConfigTest ‑ test_custom_specs
apache_beam.ml.rag.ingestion.postgres_it_test.PostgresVectorWriterConfigTest ‑ test_default_id_embedding_specs
apache_beam.ml.rag.ingestion.postgres_it_test.PostgresVectorWriterConfigTest ‑ test_default_schema
apache_beam.ml.rag.ingestion.postgres_it_test.PostgresVectorWriterConfigTest ‑ test_defaults_with_args_specs
apache_beam.ml.rag.ingestion.postgres_it_test.PostgresVectorWriterConfigTest ‑ test_metadata_spec_and_conflicts
apache_beam.ml.rag.ingestion.spanner_it_test.SpannerVectorWriterTest ‑ test_write_custom_column
apache_beam.ml.rag.ingestion.spanner_it_test.SpannerVectorWriterTest ‑ test_write_default_schema
apache_beam.ml.rag.ingestion.spanner_it_test.SpannerVectorWriterTest ‑ test_write_flattened_metadata
apache_beam.ml.rag.ingestion.spanner_it_test.SpannerVectorWriterTest ‑ test_write_minimal_schema
apache_beam.ml.rag.ingestion.spanner_it_test.SpannerVectorWriterTest ‑ test_write_update_mode
apache_beam.ml.rag.ingestion.spanner_it_test.SpannerVectorWriterTest ‑ test_write_with_converter
apache_beam.ml.rag.ingestion.spanner_it_test.SpannerVectorWriterTest ‑ test_write_with_timestamp
apache_beam.ml.transforms.base_test.BaseMLTransformTest ‑ test_ml_transform_appends_transforms_to_process_handler_correctly
apache_beam.ml.transforms.base_test.BaseMLTransformTest ‑ test_ml_transform_dict_output_pcoll_schema_0
apache_beam.ml.transforms.base_test.BaseMLTransformTest ‑ test_ml_transform_dict_output_pcoll_schema_1
apache_beam.ml.transforms.base_test.BaseMLTransformTest ‑ test_ml_transform_dict_output_pcoll_schema_2
apache_beam.ml.transforms.base_test.BaseMLTransformTest ‑ test_ml_transform_dict_output_pcoll_schema_3
apache_beam.ml.transforms.base_test.BaseMLTransformTest ‑ test_ml_transform_fail_for_non_global_windows_in_produce_mode
apache_beam.ml.transforms.base_test.BaseMLTransformTest ‑ test_ml_transform_no_read_or_write_artifact_lcoation
apache_beam.ml.transforms.base_test.BaseMLTransformTest ‑ test_ml_transform_on_dict
apache_beam.ml.transforms.base_test.BaseMLTransformTest ‑ test_ml_transform_on_list_dict
apache_beam.ml.transforms.base_test.BaseMLTransformTest ‑ test_ml_transform_on_multiple_columns_single_transform
apache_beam.ml.transforms.base_test.BaseMLTransformTest ‑ test_ml_transforms_on_multiple_columns_multiple_transforms
apache_beam.ml.transforms.base_test.BaseMLTransformTest ‑ test_mltransform_with_counter
apache_beam.ml.transforms.base_test.BaseMLTransformTest ‑ test_non_ptransfrom_provider_class_to_mltransform
apache_beam.ml.transforms.base_test.BaseMLTransformTest ‑ test_read_mode_with_transforms
apache_beam.ml.transforms.base_test.MLTransformDLQTest ‑ test_dlq_with_embeddings
apache_beam.ml.transforms.base_test.MLTransformDLQTest ‑ test_mltransform_with_dlq_and_extract_tranform_name
apache_beam.ml.transforms.base_test.TestImageEmbeddingHandler ‑ test_handler_with_dict_inputs
apache_beam.ml.transforms.base_test.TestImageEmbeddingHandler ‑ test_handler_with_non_dict_datatype
apache_beam.ml.transforms.base_test.TestImageEmbeddingHandler ‑ test_handler_with_non_image_datatype
apache_beam.ml.transforms.base_test.TestJsonPickleTransformAttributeManager ‑ test_mltransform_to_ptransform_wrapper
apache_beam.ml.transforms.base_test.TestJsonPickleTransformAttributeManager ‑ test_save_and_load_run_inference
apache_beam.ml.transforms.base_test.TestJsonPickleTransformAttributeManager ‑ test_save_run_inference
apache_beam.ml.transforms.base_test.TestJsonPickleTransformAttributeManager ‑ test_save_tft_process_handler
apache_beam.ml.transforms.base_test.TestJsonPickleTransformAttributeManager ‑ test_with_gcs_location_with_none_options
apache_beam.ml.transforms.base_test.TestJsonPickleTransformAttributeManager ‑ test_with_same_local_artifact_location
apache_beam.ml.transforms.base_test.TestMultiModalEmbeddingHandler ‑ test_handler_with_dict_inputs
apache_beam.ml.transforms.base_test.TestMultiModalEmbeddingHandler ‑ test_handler_with_incorrect_datatype
apache_beam.ml.transforms.base_test.TestMultiModalEmbeddingHandler ‑ test_handler_with_non_dict_datatype
apache_beam.ml.transforms.base_test.TestUtilFunctions ‑ test_dict_input_fn_normal
apache_beam.ml.transforms.base_test.TestUtilFunctions ‑ test_dict_input_fn_on_list_inputs
apache_beam.ml.transforms.base_test.TestUtilFunctions ‑ test_dict_output_fn_normal
apache_beam.ml.transforms.base_test.TestUtilFunctions ‑ test_dict_output_fn_on_list_inputs
apache_beam.ml.transforms.base_test.TextEmbeddingHandlerTest ‑ test_handler_on_columns_not_exist_in_input_data
apache_beam.ml.transforms.base_test.TextEmbeddingHandlerTest ‑ test_handler_on_multiple_columns
apache_beam.ml.transforms.base_test.TextEmbeddingHandlerTest ‑ test_handler_with_batch_sizes
apache_beam.ml.transforms.base_test.TextEmbeddingHandlerTest ‑ test_handler_with_dict_inputs
apache_beam.ml.transforms.base_test.TextEmbeddingHandlerTest ‑ test_handler_with_incompatible_datatype
apache_beam.ml.transforms.base_test.TextEmbeddingHandlerTest ‑ test_handler_with_inconsistent_keys
apache_beam.ml.transforms.base_test.TextEmbeddingHandlerTest ‑ test_handler_with_list_data
apache_beam.ml.transforms.base_test.TextEmbeddingHandlerTest ‑ test_no_columns_or_type_adapter
apache_beam.ml.transforms.embeddings.huggingface_test.HuggingfaceInferenceAPIGCSLocationTest ‑ test_embeddings_with_inference_api
apache_beam.ml.transforms.embeddings.huggingface_test.HuggingfaceInferenceAPIGCSLocationTest ‑ test_get_api_url_and_when_model_name_not_provided
apache_beam.ml.transforms.embeddings.huggingface_test.HuggingfaceInferenceAPITest ‑ test_embeddings_with_inference_api
apache_beam.ml.transforms.embeddings.huggingface_test.HuggingfaceInferenceAPITest ‑ test_get_api_url_and_when_model_name_not_provided
apache_beam.ml.transforms.embeddings.huggingface_test.SentenceTransformerEmbeddingsTest ‑ test_embeddings_with_inference_args
apache_beam.ml.transforms.embeddings.huggingface_test.SentenceTransformerEmbeddingsTest ‑ test_embeddings_with_read_artifact_location_0
apache_beam.ml.transforms.embeddings.huggingface_test.SentenceTransformerEmbeddingsTest ‑ test_embeddings_with_read_artifact_location_1
apache_beam.ml.transforms.embeddings.huggingface_test.SentenceTransformerEmbeddingsTest ‑ test_embeddings_with_read_artifact_location_2
apache_beam.ml.transforms.embeddings.huggingface_test.SentenceTransformerEmbeddingsTest ‑ test_embeddings_with_scale_to_0_1
apache_beam.ml.transforms.embeddings.huggingface_test.SentenceTransformerEmbeddingsTest ‑ test_mltransform_to_ptransform_with_sentence_transformer
apache_beam.ml.transforms.embeddings.huggingface_test.SentenceTransformerEmbeddingsTest ‑ test_sentence_transformer_embeddings
apache_beam.ml.transforms.embeddings.huggingface_test.SentenceTransformerEmbeddingsTest ‑ test_sentence_transformer_image_embeddings
apache_beam.ml.transforms.embeddings.huggingface_test.SentenceTransformerEmbeddingsTest ‑ test_sentence_transformer_images_with_str_data_types
apache_beam.ml.transforms.embeddings.huggingface_test.SentenceTransformerEmbeddingsTest ‑ test_sentence_transformer_with_int_data_types
apache_beam.ml.transforms.embeddings.huggingface_test.SentenceTransformerEmbeddingsTest ‑ test_with_gcs_artifact_location_0
apache_beam.ml.transforms.embeddings.huggingface_test.SentenceTransformerEmbeddingsTest ‑ test_with_gcs_artifact_location_1
apache_beam.ml.transforms.embeddings.huggingface_test.SentenceTransformerEmbeddingsTest ‑ test_with_gcs_artifact_location_2
apache_beam.ml.transforms.embeddings.open_ai_it_test.OpenAIEmbeddingsTest ‑ test_embeddings_with_dimensions
apache_beam.ml.transforms.embeddings.open_ai_it_test.OpenAIEmbeddingsTest ‑ test_embeddings_with_read_artifact_location
apache_beam.ml.transforms.embeddings.open_ai_it_test.OpenAIEmbeddingsTest ‑ test_embeddings_with_scale_to_0_1
apache_beam.ml.transforms.embeddings.open_ai_it_test.OpenAIEmbeddingsTest ‑ test_mltransform_to_ptransform_with_openai
apache_beam.ml.transforms.embeddings.open_ai_it_test.OpenAIEmbeddingsTest ‑ test_openai_text_embeddings
apache_beam.ml.transforms.embeddings.open_ai_it_test.OpenAIEmbeddingsTest ‑ test_with_artifact_location
apache_beam.ml.transforms.embeddings.open_ai_it_test.OpenAIEmbeddingsTest ‑ test_with_int_data_types
apache_beam.ml.transforms.embeddings.tensorflow_hub_test.TFHubEmbeddingsGCSArtifactLocationTest ‑ test_embeddings_with_read_artifact_location
apache_beam.ml.transforms.embeddings.tensorflow_hub_test.TFHubEmbeddingsGCSArtifactLocationTest ‑ test_embeddings_with_scale_to_0_1
apache_beam.ml.transforms.embeddings.tensorflow_hub_test.TFHubEmbeddingsGCSArtifactLocationTest ‑ test_tfhub_text_embeddings
apache_beam.ml.transforms.embeddings.tensorflow_hub_test.TFHubEmbeddingsGCSArtifactLocationTest ‑ test_with_int_data_types
apache_beam.ml.transforms.embeddings.tensorflow_hub_test.TFHubEmbeddingsTest ‑ test_embeddings_with_read_artifact_location
apache_beam.ml.transforms.embeddings.tensorflow_hub_test.TFHubEmbeddingsTest ‑ test_embeddings_with_scale_to_0_1
apache_beam.ml.transforms.embeddings.tensorflow_hub_test.TFHubEmbeddingsTest ‑ test_tfhub_text_embeddings
apache_beam.ml.transforms.embeddings.tensorflow_hub_test.TFHubEmbeddingsTest ‑ test_with_int_data_types
apache_beam.ml.transforms.embeddings.tensorflow_hub_test.TFHubImageEmbeddingsTest ‑ test_sentence_transformer_image_embeddings
apache_beam.ml.transforms.embeddings.tensorflow_hub_test.TFHubImageEmbeddingsTest ‑ test_with_str_data_types
apache_beam.ml.transforms.embeddings.vertex_ai_test.VertexAIEmbeddingsTest ‑ test_embeddings_with_read_artifact_location
apache_beam.ml.transforms.embeddings.vertex_ai_test.VertexAIEmbeddingsTest ‑ test_embeddings_with_scale_to_0_1
apache_beam.ml.transforms.embeddings.vertex_ai_test.VertexAIEmbeddingsTest ‑ test_mltransform_to_ptransform_with_vertex
apache_beam.ml.transforms.embeddings.vertex_ai_test.VertexAIEmbeddingsTest ‑ test_vertex_ai_text_embeddings
apache_beam.ml.transforms.embeddings.vertex_ai_test.VertexAIEmbeddingsTest ‑ test_with_gcs_artifact_location
apache_beam.ml.transforms.embeddings.vertex_ai_test.VertexAIEmbeddingsTest ‑ test_with_int_data_types
apache_beam.ml.transforms.embeddings.vertex_ai_test.VertexAIImageEmbeddingsTest ‑ test_improper_dimension
apache_beam.ml.transforms.embeddings.vertex_ai_test.VertexAIImageEmbeddingsTest ‑ test_vertex_ai_image_embedding
apache_beam.ml.transforms.embeddings.vertex_ai_test.VertexAIMultiModalEmbeddingsTest ‑ test_improper_dimension
apache_beam.ml.transforms.embeddings.vertex_ai_test.VertexAIMultiModalEmbeddingsTest ‑ test_improper_video_dimension
apache_beam.ml.transforms.embeddings.vertex_ai_test.VertexAIMultiModalEmbeddingsTest ‑ test_missing_columns
apache_beam.ml.transforms.embeddings.vertex_ai_test.VertexAIMultiModalEmbeddingsTest ‑ test_vertex_ai_multimodal_embedding_img_and_text
apache_beam.ml.transforms.embeddings.vertex_ai_test.VertexAIMultiModalEmbeddingsTest ‑ test_vertex_ai_multimodal_embedding_video
apache_beam.ml.transforms.handlers_test
apache_beam.ml.transforms.tft_test