+
    nDj                    p    ^ RI Ht ^RIHtHtHt ^RIHt ^RIH	t	H
t
 ^RIHt ^RIHt  ! R R]4      tR	# )
    )annotations)ComponentColumnComponentColumnListDescribedComponentBatch)AsComponents)AnyBatchValueComponentValueLike)DynamicArchetype)catch_and_log_exceptionsc                      ] tR t^
tRtRR R lltRR/R R lltRR/R R	 lltR
 R lt]	RR R ll4       t
]R R l4       tRtR# )	AnyValuesub  
Helper to log arbitrary values as a bundle of components.

Example
-------
```python
rr.log(
    "any_values", rr.AnyValues(
        confidence=[1.2, 3.4, 5.6],
        description="Bla bla bla…",
        # URIs will become clickable links
        homepage="https://www.rerun.io",
        repository="https://github.com/rerun-io/rerun",
    ),
)
```

Tc               $    V ^8  d   QhRRRRRR/# )   drop_untyped_nonesboolkwargsComponentValueLike | NonereturnNone )formats   "S/data/cameron/venvs/s3viz/lib/python3.14/site-packages/rerun_sdk/rerun/any_value.py__annotate__AnyValues.__annotate__   s#     .: .:4 .:B[ .:`d .:    c                    \         P                  ! V3/ VB V n        V P                  P                  V P                  P
                  4       R# )a  
Construct a new AnyValues bundle.

Each kwarg will be logged as a separate component batch using the provided data.
 - The key will be used as the name of the component
 - The value must be able to be converted to an array of arrow types. In
   general, if you can pass it to [pyarrow.array][] you can log it as a
   extension component.

Note: rerun requires that a given component only take on a single type.
The first type logged will be the type that is used for all future logs
of that component. The API will make a best effort to do type conversion
if supported by numpy and arrow. Any components that can't be converted
will result in a warning (or an exception in strict mode).

`None` values provide a particular challenge as they have no type
information until after the component has been logged with a particular
type. By default, these values are dropped. This should generally be
fine as logging `None` to clear the value before it has been logged is
meaningless unless you are logging out-of-order data. In such cases,
consider introducing your own typed component via
[rerun.ComponentBatchLike][].

You can change this behavior by setting `drop_untyped_nones` to `False`,
but be aware that this will result in potential warnings (or exceptions
in strict mode).

If you are want to inspect how your component will be converted to the
underlying arrow code, the following snippet is what is happening
internally:
```
np_value = np.atleast_1d(np.array(value, copy=False))
pa_value = pa.array(value)
```

Parameters
----------
drop_untyped_nones:
    If True, any components that are either None or empty will be dropped unless they
    have been previously logged with a type.
kwargs:
    The components to be logged.

N)r
   _default_without_archetype_builder
_with_name	__class____name__)selfr   r   s   &&,r   __init__AnyValues.__init__   s:    Z )CCDVaZ`a  !8!89r   r   c               (    V ^8  d   QhRRRRRRRR/# )	r   
descriptorstrvaluer   r   r   r   r   r   )r   s   "r   r   r   N   s,      &?X\	r   c               @    V P                   P                  WVR7       V # )z3Adds an `AnyValueBatch` to this `AnyValues` bundle.r   )r   with_component_from_data)r"   r&   r(   r   s   &&&$r   r+   "AnyValues.with_component_from_dataN   s!     	..zUg.hr   c          
     ,    V ^8  d   QhRRRRRRRRRR	/# )
r   fieldr'   component_typer(   r   r   r   r   r   r   )r   s   "r   r   r   U   s4      *-6Ohl	r   c               @    V P                   P                  WW4R7       V # )zPAdds an `AnyValueBatch` to this `AnyValues` bundle with name and component type.r*   )r   with_component_override)r"   r.   r/   r(   r   s   &&&&$r   r1   !AnyValues.with_component_overrideU   s      	--eU-rr   c                   V ^8  d   QhRR/# r   r   zlist[DescribedComponentBatch]r   )r   s   "r   r   r   \   s     4 4&C 4r   c                	6    V P                   P                  4       # Nr   as_component_batchesr"   s   &r   r8   AnyValues.as_component_batches\   s    }}1133r   c               $    V ^8  d   QhRRRRRR/# )r   r   r   r   r   r   r   r   )r   s   "r   r   r   `   s#     8, 8, 8,@Y 8,^q 8,r   c           	     
   . p\        R4      ;_uu_ 4        VP                  4        F4  w  rE\        P                  ! WEVR7      pVf   K#  VP	                  V4       K6  	  RRR4       \        V4      #   + '       g   i     L; i)a  
Construct a new column-oriented AnyValues bundle.

This makes it possible to use `rr.send_columns` to send columnar data directly into Rerun.

The returned columns will be partitioned into unit-length sub-batches by default.
Use `ComponentColumnList.partition` to repartition the data as needed.

Each kwarg will be logged as a separate component column using the provided data.
 - The key will be used as the name of the component
 - The value must be able to be converted to an array of arrow types. In
   general, if you can pass it to [pyarrow.array][] you can log it as a
   extension component.

Note: rerun requires that a given component only take on a single type.
The first type logged will be the type that is used for all future logs
of that component. The API will make a best effort to do type conversion
if supported by numpy and arrow. Any components that can't be converted
will result in a warning (or an exception in strict mode).

`None` values provide a particular challenge as they have no type
information until after the component has been logged with a particular
type. By default, these values are dropped. This should generally be
fine as logging `None` to clear the value before it has been logged is
meaningless unless you are logging out-of-order data. In such cases,
consider introducing your own typed component via
[rerun.ComponentBatchLike][].

You can change this behavior by setting `drop_untyped_nones` to `False`,
but be aware that this will result in potential warnings (or exceptions
in strict mode).

If you are want to inspect how your component will be converted to the
underlying arrow code, the following snippet is what is happening
internally:
```
np_value = np.atleast_1d(np.array(value, copy=False))
pa_value = pa.array(value)
```

Parameters
----------
drop_untyped_nones:
    If True, any components that are either None or empty will be dropped unless they
    have been previously logged with a type.
kwargs:
    The components to be logged.

zAnyValues.columnsr*   N)r   itemsr   columnappendr   )clsr   r   columnsnamer(   cols   &&,    r   rA   AnyValues.columns_   sg    f *,%&9::%||~#**4K]^?NN3'  . ;
 #7++ ;:s   /A2
A22B	c                   V ^8  d   QhRR/# r4   r   )r   s   "r   r   r      s     4 4#@ 4r   c                	6    V P                   P                  4       # r6   r7   r9   s   &r   component_batchesAnyValues.component_batches   s    }}1133r   )r   N)T)r!   
__module____qualname____firstlineno____doc__r#   r+   r1   r8   classmethodrA   propertyrG   __static_attributes__r   r   r   r   r   
   sU    &.:`_cos4 8, 8,t 4 4r   r   N)
__future__r   _baseclassesr   r   r   _logr   any_batch_valuer   r	   dynamic_archetyper
   error_utilsr   r   r   r   r   <module>rV      s(    " W W  > / 1R4 R4r   