class_docstr: Abstract base class for BoTorch's data containers.
  
  A BotorchContainer represents a tensor, which should be the sole object
  returned by its `__call__` method. Said tensor is expected to consist of
  one or more "events" (e.g. data points or feature vectors), whose shape is
  given by the required `event_shape` field.
  
  Notice: Once version 3.10 becomes standard, this class should
  be reworked to take advantage of dataclasses' `kw_only` flag.
  
  :meta private:
class_docstr_tok: ["Abstract","base","class","for","BoTorch","'s","data","containers",".","A","BotorchContainer","represents","a","tensor",",","which","should","be","the","sole","object","returned","by","its","`","__call__","`","method",".","Said","tensor","is","expected","to","consist","of","one","or","more","``","events","''","(","e.g",".","data","points","or","feature","vectors",")",",","whose","shape","is","given","by","the","required","`","event_shape","`","field",".","Notice",":","Once","version","3.10","becomes","standard",",","this","class","should","be","reworked","to","take","advantage","of","dataclasses","'","`","kw_only","`","flag",".",":","meta","private",":"]
code: def __eq__(self, other: Any) -> bool:
      raise NotImplementedError
  
imports: from __future__ import annotations
  from abc import ABC, abstractmethod
  from dataclasses import dataclass, fields
  from typing import Any
  from torch import device, dtype, LongTensor, Size, Tensor
label_desc: Use image node_id 3 for calling the BotorchContainer obj's underlying member method code with example usage: obj.__eq__(other) without return types