docstr: Logs the provided value or a collection of values.
  
  Available for the following field types:
  
      * `FloatSeries`
      * `StringSeries`
      * `FileSeries`
  
  
  Args:
      value: Value or collection of values to be added to the field.
      step (float or int, optional, default is None): Index of the log entry being appended.
          Must be strictly increasing.
          Defaults to `None`.
      timestamp(float or int, optional): Time index of the log entry being appended in form of Unix time.
          If `None` current time (`time.time()`) will be used as a timestamp.
          Defaults to `None`.
      wait (bool, optional): If `True` the client will wait to send all tracked metadata to the server.
          This makes the call synchronous.
          Defaults to `False`.
  
  For more information, see the docs:
     https://docs.neptune.ai/api-reference/field-types
docstr_tok: ["Logs","the","provided","value","or","a","collection","of","values",".","Available","for","the","following","field","types",":","*","`","FloatSeries","`","*","`","StringSeries","`","*","`","FileSeries","`","Args",":","value",":","Value","or","collection","of","values","to","be","added","to","the","field",".","step","(","float","or","int",",","optional",",","default","is","None",")",":","Index","of","the","log","entry","being","appended",".","Must","be","strictly","increasing",".","Defaults","to","`","None","`",".","timestamp","(","float","or","int",",","optional",")",":","Time","index","of","the","log","entry","being","appended","in","form","of","Unix","time",".","If","`","None","`","current","time","(","`","time.time","(",")","`",")","will","be","used","as","a","timestamp",".","Defaults","to","`","None","`",".","wait","(","bool",",","optional",")",":","If","`","True","`","the","client","will","wait","to","send","all","tracked","metadata","to","the","server",".","This","makes","the","call","synchronous",".","Defaults","to","`","False","`",".","For","more","information",",","see","the","docs",":","https",":","\/\/docs.neptune.ai\/api-reference\/field-types"]
code: def log(
      self,
      value,
      *,
      step: Optional[float] = None,
      timestamp: Optional[float] = None,
      wait: bool = False,
      **kwargs,
  ) -> None:
      """Logs the provided value or a collection of values.
  
      Available for the following field types:
  
          * `FloatSeries`
          * `StringSeries`
          * `FileSeries`
  
  
      Args:
          value: Value or collection of values to be added to the field.
          step (float or int, optional, default is None): Index of the log entry being appended.
              Must be strictly increasing.
              Defaults to `None`.
          timestamp(float or int, optional): Time index of the log entry being appended in form of Unix time.
              If `None` current time (`time.time()`) will be used as a timestamp.
              Defaults to `None`.
          wait (bool, optional): If `True` the client will wait to send all tracked metadata to the server.
              This makes the call synchronous.
              Defaults to `False`.
  
      For more information, see the docs:
         https://docs.neptune.ai/api-reference/field-types
  
      """
      verify_type("step", step, (int, float, type(None)))
      verify_type("timestamp", timestamp, (int, float, type(None)))
  
      with self._container.lock():
          attr = self._container.get_attribute(self._path)
          if attr is None:
              from_stringify_value = False
              if is_stringify_value(value):
                  from_stringify_value, value = True, value.value
  
              if is_collection(value):
                  if value:
                      first_value = next(iter(value))
                  else:
                      raise ValueError(
                          "Cannot deduce value type: `value` cannot be empty"
                      )
              else:
                  first_value = value
  
              if is_float(first_value):
                  attr = FloatSeries(
                      self._container, parse_path(self._path)
                  )
              elif is_string(first_value):
                  attr = StringSeries(
                      self._container, parse_path(self._path)
                  )
              elif FileVal.is_convertable(first_value):
                  attr = FileSeries(
                      self._container, parse_path(self._path)
                  )
              elif is_float_like(first_value):
                  attr = FloatSeries(
                      self._container, parse_path(self._path)
                  )
              elif from_stringify_value:
                  if is_collection(value):
                      value = list(map(str, value))
                  else:
                      value = str(value)
                  attr = StringSeries(
                      self._container, parse_path(self._path)
                  )
              else:
                  warn_about_unsupported_type(
                      type_str=str(type(first_value))
                  )
                  return None
  
              self._container.set_attribute(self._path, attr)
          attr.log(
              value, step=step, timestamp=timestamp, wait=wait, **kwargs
          )
  
imports: from functools import wraps
  from typing import TYPE_CHECKING, Any, Collection, Dict, Iterable, Iterator, List, NewType, Optional, Union
  from neptune.api.dtos import FileEntry
  from neptune.attributes import File
  from neptune.attributes.atoms.artifact import Artifact
  from neptune.attributes.constants import SYSTEM_STAGE_ATTRIBUTE_PATH
  from neptune.attributes.file_set import FileSet
  from neptune.attributes.namespace import Namespace
  from neptune.attributes.series import FileSeries
  from neptune.attributes.series.float_series import FloatSeries
  from neptune.attributes.series.string_series import StringSeries
  from neptune.attributes.sets.string_set import StringSet
  from neptune.common.warnings import warn_about_unsupported_type
  from neptune.exceptions import MissingFieldException, NeptuneCannotChangeStageManually, NeptuneUserApiInputException
  from neptune.internal.artifacts.types import ArtifactFileData
  from neptune.internal.types.stringify_value import StringifyValue
  from neptune.internal.utils import is_collection, is_dict_like, is_float, is_float_like, is_string, is_stringify_value, verify_collection_type, verify_type
  from neptune.internal.utils.paths import join_paths, parse_path
  from neptune.internal.value_to_attribute_visitor import ValueToAttributeVisitor
  from neptune.metadata_containers.abstract import SupportsNamespaces
  from neptune.types.atoms.file import File
  from neptune.types.type_casting import cast_value_for_extend
  from neptune.types.value_copy import ValueCopy
  from neptune.utils import stringify_unsupported
label_desc: Use image node_id 13 for calling the Handler obj's underlying member method code with example usage: obj.log(value) and returns: None