+
    nDj82                    R   ^ RI Ht ^ RIHt ^ RIHt ^ RIHtHt ^ RI	t
^RIHt ^RIHtHt ]'       d   ^ RIt^RIHtHt ^R	IHt ]! 4       R
RRRRR/R R ll4       tR
RRR/R R llt]! 4       RRR
RRR/R R ll4       t]! 4       RRR
RRR/R R ll4       tR R ltR R ltR# )    )annotations)Iterable)Path)TYPE_CHECKINGAnyN)AsComponents)_send_warning_or_raisecatch_and_log_exceptions)ComponentDescriptorDescribedComponentBatch)RecordingStreamstaticF	recordingstrictc               4    V ^8  d   QhRRRRRRRRRR	R
RRR/# )   entity_pathstr | list[object]entityz0AsComponents | Iterable[DescribedComponentBatch]extrar   boolr   RecordingStream | Noner   zbool | NonereturnNone )formats   "N/data/cameron/venvs/s3viz/lib/python3.14/site-packages/rerun_sdk/rerun/_log.py__annotate__r      sW     t t#t<t =t 	t
 &t t 
t    c                  \        VR4      '       d   \        VP                  4       4      pM:\        V\        4      '       d   \        V4      pM\        R\        V4       R24      hV Fu  p\        VR4      '       d"   VP                  VP                  4       4       K6  \        V\        4      '       d   VP                  V4       K_  \        R\        V4       R24      h	  \        V VVVR7       R# )a=  
Log data to Rerun.

This is the main entry point for logging data to rerun. It can be used to log anything
that implements the [`rerun.AsComponents`][] interface, or a collection of `ComponentBatchLike`
objects.

When logging data, you must always provide an [entity_path](https://www.rerun.io/docs/concepts/logging-and-ingestion/entity-path)
for identifying the data. Note that paths prefixed with "__" are considered reserved for use by the Rerun SDK
itself and should not be used for logging user data. This is where Rerun will log additional information
such as properties and warnings.

The most common way to log is with one of the rerun archetypes, all of which implement
the `AsComponents` interface.

For example, to log a 3D point:
```py
rr.log("my/point", rr.Points3D(position=[1.0, 2.0, 3.0]))
```

The `log` function can flexibly accept an arbitrary number of additional objects which will
be merged into the first entity so long as they don't expose conflicting components, for instance:
```py
# Log three points with arrows sticking out of them,
# and a custom "confidence" component.
rr.log(
    "my/points",
    rr.Points3D([[0.2, 0.5, 0.3], [0.9, 1.2, 0.1], [1.0, 4.2, 0.3]], radii=[0.1, 0.2, 0.3]),
    rr.Arrows3D(vectors=[[0.3, 2.1, 0.2], [0.9, -1.1, 2.3], [-0.4, 0.5, 2.9]]),
    rr.AnyValues(confidence=[0.3, 0.4, 0.9]),
)
```

Parameters
----------
entity_path:
    Path to the entity in the space hierarchy.

    The entity path can either be a string
    (with special characters escaped, split on unescaped slashes)
    or a list of unescaped strings.
    This means that logging to `"world/my\ image\!"` is the same as logging
    to ["world", "my image!"].

    See <https://www.rerun.io/docs/concepts/logging-and-ingestion/entity-path> for more on entity paths.

entity:
    Anything that implements the [`rerun.AsComponents`][] interface, usually an archetype,
    or an iterable of (described)component batches.

*extra:
    An arbitrary number of additional component bundles implementing the [`rerun.AsComponents`][]
    interface, that are logged to the same entity path.

static:
    If true, the components will be logged as static data.

    Static data has no time associated with it, exists on all timelines, and unconditionally shadows
    any temporal data of the same type.

    Otherwise, the data will be timestamped automatically with `log_time` and `log_tick`.
    Additional timelines set by [`rerun.set_time`][] will also be included.

recording:
    Specifies the [`rerun.RecordingStream`][] to use.
    If left unspecified, defaults to the current active data recording, if there is one.
    See also: [`rerun.init`][], [`rerun.set_global_data_recording`][].

strict:
    If True, raise exceptions on non-loggable data.
    If False, warn on non-loggable data.
    if None, use the global default from `rerun.strict_mode()`

as_component_batcheszlExpected an object implementing rerun.AsComponents or an iterable of rerun.DescribedComponentBatch, but got z	 instead.)r   
componentsr   r   N)	hasattrlistr!   
isinstancer   	TypeErrortypeextend_log_components)r   r   r   r   r   r   r"   exts   &&$$$*  r   logr+      s    v v-..&5578
	FH	%	%&\
F|nI/
 	

 3.//c6689X&&c"9+Y0   	r   c          
     ,    V ^8  d   QhRRRRRRRRR	R
/# )r   r   r   r"   zlist[DescribedComponentBatch]r   r   r   r   r   r   r   )r   s   "r   r   r      sA     N N#N-N 	N
 &N 
Nr   c               .   / pV Uu. uF  qUP                  4       NK  	  ppV Uu. uF  qUP                  4       NK  	  pp\        V \        4      '       d0   \        P
                  ! V  Uu. uF  p\        V4      NK  	  up4      p \        4       p	\        WgRR7       F9  w  rVf   K  W9   d   \        RV
 R2^R7       K$  V	P                  V
4       WV
&   K;  	  \        P                  ! T TTVe   VP                  4       MRR7       R# u upi u upi u upi )a  
Internal method to log an entity from a collection of `ComponentBatchLike` objects.

See also: [`rerun.log`][].

Parameters
----------
entity_path:
    Path to the entity in the space hierarchy.

    The entity path can either be a string
    (with special characters escaped, split on unescaped slashes)
    or a list of unescaped strings.
    This means that logging to `"world/my\ image\!"` is the same as logging
    to ["world", "my image!"].

    See <https://www.rerun.io/docs/concepts/logging-and-ingestion/entity-path> for more on entity paths.

components:
    A collection of `ComponentBatchLike` objects.

static:
    If true, the components will be logged as static data.

    Static data has no time associated with it, exists on all timelines, and unconditionally shadows
    any temporal data of the same type.

    Otherwise, the data will be timestamped automatically with `log_time` and `log_tick`.
    Additional timelines set by [`rerun.set_time`][] will also be included.

recording:
    Specifies the [`rerun.RecordingStream`][] to use. If left unspecified,
    defaults to the current active data recording, if there is one. See
    also: [`rerun.init`][], [`rerun.set_global_data_recording`][].

F)r   Nz
Component zC was included multiple times. Only the first instance will be used.)depth_to_user_code)r"   static_r   )component_descriptoras_arrow_arrayr%   r$   bindingsnew_entity_pathstrsetzipr	   addlog_arrow_msg	to_native)r   r"   r   r   	instancedcompdescriptorsarrow_arrayspartaddeddescrarrays   &&$$        r   r)   r)      s   X 68I;EF:4,,.:KF6@Ajd'')jLA+t$$..k/RkdD	k/RSEEKeD = >"UG#fg#$ IIe %# E& +4+@)%%'d	7 GA 0Ss   DD)Dentity_path_prefixc          
     ,    V ^8  d   QhRRRRRRRRR	R
/# )r   	file_path
str | PathrB   
str | Noner   r   r   r   r   r   r   )r   s   "r   r   r      s<     - -- #- 	-
 &- 
-r   c               t    \         P                  ! \        V 4      TTVe   VP                  4       MRR7       R# )a5  
Logs the file at the given `path` using all `Importer`s available.

A single `path` might be handled by more than one importer.

This method blocks until either at least one `Importer` starts
streaming data in or all of them fail.

See <https://www.rerun.io/docs/getting-started/data-in/open-any-file> for more information.

Parameters
----------
file_path:
    Path to the file to be logged.

entity_path_prefix:
    What should the logged entity paths be prefixed with?

static:
    If true, the components will be logged as static data.

    Static data has no time associated with it, exists on all timelines, and unconditionally shadows
    any temporal data of the same type.

    Otherwise, the data will be timestamped automatically with `log_time` and `log_tick`.
    Additional timelines set by [`rerun.set_time`][] will also be included.

recording:
    Specifies the [`rerun.RecordingStream`][] to use. If left unspecified,
    defaults to the current active data recording, if there is one. See
    also: [`rerun.init`][], [`rerun.set_global_data_recording`][].

NrB   r/   r   )r2   log_file_from_pathr   r9   )rD   rB   r   r   s   &$$$r   rI   rI      s3    R Y-+4+@)%%'d	r   c               0    V ^8  d   QhRRRRRRRRR	R
RR/# )r   rD   rE   file_contentsbytesrB   rF   r   r   r   r   r   r   r   )r   s   "r   r   r     sD     3 333 #	3
 3 &3 
3r   c               v    \         P                  ! \        V 4      TTTVe   VP                  4       MRR7       R# )as  
Logs the given `file_contents` using all `Importer`s available.

A single `path` might be handled by more than one importer.

This method blocks until either at least one `Importer` starts
streaming data in or all of them fail.

See <https://www.rerun.io/docs/getting-started/data-in/open-any-file> for more information.

Parameters
----------
file_path:
    Path to the file that the `file_contents` belong to.

file_contents:
    Contents to be logged.

entity_path_prefix:
    What should the logged entity paths be prefixed with?

static:
    If true, the components will be logged as static data.

    Static data has no time associated with it, exists on all timelines, and unconditionally shadows
    any temporal data of the same type.

    Otherwise, the data will be timestamped automatically with `log_time` and `log_tick`.
    Additional timelines set by [`rerun.set_time`][] will also be included.

recording:
    Specifies the [`rerun.RecordingStream`][] to use. If left unspecified,
    defaults to the current active data recording, if there is one. See
    also: [`rerun.init`][], [`rerun.set_global_data_recording`][].

NrH   )r2   log_file_from_contentsr   r9   )rD   rK   rB   r   r   s   &&$$$r   rN   rN     s6    \ ##Y-+4+@)%%'dr   c                    V ^8  d   QhRRRR/# )r   r>   r4   r   r   )r   s   "r   r   r   F  s     7 7# 7# 7r   c                @    \        \        P                  ! V 4      4      # )aP  
Escape an individual part of an entity path.

For instance, `escape_entity_path_path("my image!")` will return `"my\ image\!"`.

See <https://www.rerun.io/docs/concepts/logging-and-ingestion/entity-path> for more on entity paths.

Parameters
----------
part:
    An unescaped string

Returns
-------
str:
    The escaped entity path.

)r4   r2   escape_entity_path_part)r>   s   &r   rQ   rQ   F  s    & x//566r   c                    V ^8  d   QhRRRR/# )r   r   z	list[Any]r   r4   r   )r   s   "r   r   r   \  s     N N Ns Nr   c           
     |    \        \        P                  ! V  Uu. uF  p\        V4      NK  	  up4      4      # u upi )a  
Construct an entity path, defined by a list of (unescaped) parts.

If any part if not a string, it will be converted to a string using `str()`.

For instance, `new_entity_path(["world", 42, "my image!"])` will return `"world/42/my\ image\!"`.

See <https://www.rerun.io/docs/concepts/logging-and-ingestion/entity-path> for more on entity paths.

Parameters
----------
entity_path:
    A list of strings to escape and join with slash.

Returns
-------
str:
    The escaped entity path.

)r4   r2   r3   )r   r>   s   & r   r3   r3   \  s0    * x''{(K{tT{(KLMM(Ks   9)
__future__r   collections.abcr   pathlibr   typingr   r   rerun_bindingsr2   _baseclassesr   error_utilsr	   r
   pyarrowpar   r   recording_streamr   r+   r)   rI   rN   rQ   r3   r   r   r   <module>r^      s    " $  % ! & IJ1 t 	t
 )-t t tnN 	N
 )-Nd - &*- 	-
 )-- -b 3 &*	3
 3 )-3 3l7,Nr   