Ë
    kQêj¦	 ã                  ó\  — d Z ddlmZ ddlZddlZddlmZmZmZm	Z	m
Z
mZ ddlmZ ej                  dk\  rddlmZ nddlmZ ddlmZ dd	lmZ ddlZdd
lmZ ddlmZ ddlmZ ddlmZ ddlm Z  ddl!m"Z" ddl#m$Z$ ddl%m&Z& ddl'm(Z(m)Z)m*Z* ddl+m,Z-m.Z/ ddl0m1Z1 ddl2m3Z3 ddl4m5Z5m6Z6 ddl7m8Z8m9Z9 ddl:m;Z;m<Z<m=Z=m>Z>m?Z?m@Z@ ddlAmBZC ddlAmDZDmEZE ddlFmGZGmHZImJZJmKZKmLZLmMZMmNZN ddlOmPZPmQZQmRZRmSZS ddlTmUZUmVZVmWZW ddlXmYZY ddlZm[Z[ dd l\m]Z] dd!l^m_Z_ d"d#l`maZa d$Zb	 	 	 	 	 	 	 	 d6d%„Zc	 	 	 	 	 	 d7d&„Zd	 	 	 	 	 	 	 	 d8d'„Ze	 	 	 d9	 	 	 	 	 	 	 	 	 	 	 d:d(„Zfd;d)„Zgd<d*„Zhd=d+„Zid>d,„Zj	 	 	 	 	 	 d?d-„Zkd@d.„Zl G d/„ d0e6«      Zm G d1„ d2«      Znddddd3œ	 	 	 	 	 	 	 	 	 	 	 	 	 dAd4„Z,ddddd3œ	 	 	 	 	 	 	 	 	 	 	 	 	 dBd5„Zoy)Cz“
LanceDB Namespace integration module.

This module provides integration with lance_namespace for managing tables
through a namespace abstraction.
é    )ÚannotationsN)ÚAnyÚDictÚIterableÚListÚOptionalÚUnion)ÚUUID)é   é   )Úoverride©ÚQuery)Ú	timedelta)ÚJsonArrowDataType)ÚJsonArrowField)ÚJsonArrowSchema)ÚQueryTableRequest)ÚQueryTableRequestColumns)ÚQueryTableRequestFullTextQuery)ÚQueryTableRequestVector)ÚStringFtsQuery)ÚNamespaceNotEmptyErrorÚNamespaceNotFoundErrorÚTableNotFoundError)Úconnect_namespaceÚconnect_namespace_client)ÚLOOP)ÚAsyncRecordBatchReader)ÚAsyncConnectionÚDBConnection)ÚAsyncJobÚJob)ÚAsyncListingÚAsyncNamespaceListingÚAsyncTableListingÚListingÚNamespaceListingÚTableListing)Ú
AsyncQuery)ÚQueryDescriptionÚQueryParameters)ÚLanceNamespaceÚconnectÚCreateNamespaceResponseÚDescribeNamespaceResponseÚDropNamespaceResponseÚNamespaceExistsRequestÚTableExistsRequest)ÚAsyncMaterializedViewÚMaterializedViewÚMaterializedViewSourceÚ	SelectArg)Ú
AsyncTableÚ
LanceTableÚTable)Úvalidate_table_name)ÚDATA)Ú
LanceModel)ÚEmbeddingFunctionConfigé   )ÚSessioniÿÿÿc                óø   — |€|€| S t        | xs i «      }d|fd|ffD ]Y  \  }}|€Œ	t        j                  d|› d�t        d¬«       t	        |t
        «      rt        |«      j                  «       n||d|› �<   Œ[ |S )NÚdata_storage_versionÚenable_v2_manifest_pathszsetting zE directly on create_table is deprecated. Use storage_options instead.r   ©Ú
stacklevelÚ
new_table_)ÚdictÚwarningsÚwarnÚDeprecationWarningÚ
isinstanceÚboolÚstrÚlower)Ústorage_optionsrB   rC   ÚoptionsÚnameÚvalues         úV/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/lancedb/namespace.pyÚ_create_table_storage_optionsrT   [   s¬   € ð
 Ð#Ð(@Ð(HØÐÜ�?Ò( bÓ)€Gà	Ð!5Ð6Ø	#Ð%=Ð>ðò ‰ˆˆeð ÑÜ�M‰MØ˜4˜&ð !/ð /ä"Øõ	ô '1°¼Ô&=”�E“
× Ñ Ô"À5ð �j  Ð'Ò(ðð €Nó    c           	     óà  — ddl m} t        ||«      st        dt	        |«      › �«      ‚|j
                  �t        d«      ‚d}|j                  �þt        |j                  t        j                  «      r|j                  j                  «       }n�t        |j                  t        «      r[|j                  rOt        |j                  d   t        j                  «      r(|j                  D �cg c]  }|j                  «       ‘Œ }}n|j                  }t        |t        «      r"|r t        |d   t        «      rt        |¬«      }nt        |¬«      }d}|j                  �Gt        |j                  t        «      rt        |j                  ¬«      }nt        |j                  ¬	«      }d}|j                   �x|j                   }t        |t"        «      rt%        t'        |¬
«      ¬«      }nEt)        |d«      r9t%        t'        |j*                  t)        |d«      r|j                  nd¬«      ¬«      }d}	|j,                  �|j,                   }	|j.                  �|j.                  }
n!|j                  €|j                   €t0        }
nd}
| |
|�|n	t        «       dœ}|j2                  �|j2                  |d<   |j4                  �|j4                  |d<   |	�|	|d<   |�||d<   |�||d<   |j6                  �|j6                  |d<   |j8                  �|j8                  |d<   |j:                  �|j:                  |d<   |j<                  �|j<                  |d<   |j>                  �|j>                  |d<   |j@                  �|j@                  |d<   |jB                  �|jB                  |d<   |jD                  �|jD                  |d<   |jF                  �|jF                  |d<   |jH                  �|jH                  |d<   |jJ                  �|jJ                  |d<   |jL                  �|jL                  |d <   |jO                  d«      dk(  r.|jQ                  d«      }tS        d"i |¤ŽjU                  d|i¬!«      S tS        d"i |¤ŽS c c}w )#a^  
    Convert a LanceDB Query object to a QueryTableRequest for server-side query.

    Parameters
    ----------
    table_id : List[str]
        The table identifier (namespace path + table name)
    query : Query
        The LanceDB Query object to convert

    Returns
    -------
    QueryTableRequest
        The namespace QueryTableRequest
    r   r   zExpected Query, got NzNnamespace QueryTable does not support search_effort; execute the query locally)Úmulti_vector)Úsingle_vector)Úcolumn_aliases)Úcolumn_names)Úquery)Ústring_queryr[   Úcolumns)r[   r]   é
   )ÚidÚkÚvectorÚvector_columnÚfilterÚ	prefilterÚfull_text_queryÚoffsetÚwith_row_idÚefÚnprobesÚminimum_nprobesÚmaximum_nprobesÚrefine_factorÚlower_boundÚupper_boundÚbypass_vector_indexÚfast_searchÚdistance_type)Úupdate© )+Úlancedb.queryr   rK   Ú	TypeErrorÚtypeÚsearch_effortÚ
ValueErrorra   ÚpaÚArrayÚ	to_pylistÚlistr   r]   rG   r   re   rM   r   r   Úhasattrr[   Ú
postfilterÚlimitÚ_MAX_QUERY_Krb   rc   rf   rg   rh   ri   rj   rk   rl   rm   rn   ro   rp   rq   ÚgetÚpopr   Ú
model_copy)Útable_idr[   r   Úvector_requestÚvector_listÚvÚcolumns_requestÚfull_text_query_requestÚ	fts_queryrd   r`   Úkwargsrk   s                rS   Ú_query_to_namespace_requestrŒ   t   s2  € õ& $ä�e˜UÔ#ÜÐ.¬t°E«{¨mÐ<Ó=Ð=Ø×ÑÐ&Üð(ó
ð 	
ð
 €NØ‡|�|ÐÜ�e—l‘l¤B§H¡HÔ-ØŸ,™,×0Ñ0Ó2‰Kä�u—|‘|¤TÔ*Ø—’Ü˜5Ÿ<™<¨™?¬B¯H©HÔ5à27·,±,Ö?¨Q˜1Ÿ;™;�=Ð?ˆKÑ?àŸ,™,ˆKô �{¤DÔ)ÙÜ˜; q™>¬4Ô0ä4À+ÔN‰Nä4À;ÔOˆNà€OØ‡}�}Ð Ü�e—m‘m¤TÔ*Ü6ÀeÇmÁmÔT‰Oä6ÀEÇMÁMÔRˆOà"ÐØ×ÑÐ(Ø×)Ñ)ˆ	Ü�i¤Ô%Ü&DÜ+°)Ô<ô'Ñ#ô �Y Ô(Ü&DÜ+Ø#Ÿ/™/ä˜y¨)Ô4ð &×-Ò-àô	ô'Ð#ð €IØ×ÑÐ#Ø×(Ñ(Ð(ˆ	à‡{�{ÐØ�K‰K‰Ø	�‰Ð	 %×"7Ñ"7Ð"?ä‰àˆð
 Øð Ð%ñ !ä$Ó&ñ€Fð ×ÑÐ&Ø"'×"5Ñ"5ˆˆÑØ‡|�|ÐØ Ÿ<™<ˆˆxÑØÐØ'ˆˆ{ÑØÐ*Ø$;ˆÐ Ñ!ØÐ"Ø+ˆˆyÑØ‡|�|ÐØ Ÿ<™<ˆˆxÑØ×ÑÐ$Ø %× 1Ñ 1ˆˆ}ÑØ‡x�xÐØ—x‘xˆˆt‰Ø‡}�}Ð Ø!ŸM™MˆˆyÑØ×ÑÐ(Ø$)×$9Ñ$9ˆÐ Ñ!Ø×ÑÐ(Ø$)×$9Ñ$9ˆÐ Ñ!Ø×ÑÐ&Ø"'×"5Ñ"5ˆˆÑØ×ÑÐ$Ø %× 1Ñ 1ˆˆ}ÑØ×ÑÐ$Ø %× 1Ñ 1ˆˆ}ÑØ× Ñ Ð,Ø(-×(AÑ(AˆÐ$Ñ%Ø×ÑÐ$Ø %× 1Ñ 1ˆˆ}ÑØ×ÑÐ&Ø"'×"5Ñ"5ˆˆÑà‡z�zÐ#Ó$¨Ò)ð !Ÿ*™*Ð%6Ó7ˆÜ Ñ* 6Ñ*×5Ñ5Ø% Ð7ð 6ó 
ð 	
ô Ñ&˜vÑ&Ð&ùòK @s   Ã)Q+c                óR   — t        ||«      }| j                  |«      }t        |«      S )a­  
    Execute a query on the namespace server and return results as RecordBatchReader.

    Parameters
    ----------
    namespace_client : LanceNamespace
        The namespace client to use
    table_id : List[str]
        The table identifier (namespace path + table name)
    query : Query
        The LanceDB Query object

    Returns
    -------
    pa.RecordBatchReader
        The query results as a RecordBatchReader
    )rŒ   Úquery_tableÚ!_arrow_ipc_to_record_batch_reader)Únamespace_clientr„   r[   ÚrequestÚ	ipc_bytess        rS   Ú_execute_server_side_queryr“     s+   € ô, *¨(°EÓ:€GØ ×,Ñ,¨WÓ5€IÜ,¨YÓ7Ð7rU   c                ó&  — ddl m} ddlm} t	        |t
        «      r t        |t        «      r|j                  «       }|j                  «       }|r|j                  |«      }n|�|j                  }nd}| €||€t        d«      ‚|r|j                  |«      }t        j                  «       }	t        j                   j#                  |	|«      5 }
	 ddd«       |	j%                  «       j'                  «       S  || ||||¬«      }t        j                  «       }	t        j                   j#                  |	|j(                  «      5 }
|D ]  }|
j+                  |«       Œ 	 ddd«       |	j%                  «       j'                  «       S # 1 sw Y   Œ²xY w# 1 sw Y   Œ3xY w)a?  
    Convert data to Arrow IPC format (file format) for server-side create_table.

    If data is None but schema is provided, creates an empty IPC stream with
    just the schema in the header (zero batches). This is used to create
    empty tables with just a schema.

    Returns the serialized Arrow IPC bytes.
    r   )ÚEmbeddingFunctionRegistry)Ú_sanitize_dataNz>Either data or schema is required for server-side create_table)Útarget_schemaÚmetadataÚon_bad_vectorsÚ
fill_value)Úlancedb.embeddingsr•   Úlancedb.tabler–   rK   rv   Ú
issubclassr=   Úto_arrow_schemaÚget_instanceÚget_table_metadatar˜   rx   Úwith_metadatary   ÚBufferOutputStreamÚipcÚ
new_streamÚgetvalueÚ
to_pybytesÚschemaÚwrite_batch)Údatar§   Úembedding_functionsr™   rš   r•   r–   Úregistryr˜   ÚsinkÚwriterÚreaderÚbatchs                rS   Ú_data_to_arrow_ipcr°     sq  € õ  =Ý,ä�&œ$Ô¤J¨v´zÔ$BØ×'Ñ'Ó)ˆð )×5Ñ5Ó7€HÙØ×.Ñ.Ð/BÓC‰Ø	Ð	Ø—?‘?‰àˆð €|Øˆ>ÜØPóð ñ Ø×)Ñ)¨(Ó3ˆFÜ×$Ñ$Ó&ˆÜ�V‰V×Ñ˜t VÓ,ð 	°Ø÷	à�}‰}‹×)Ñ)Ó+Ð+áØØØØ%Øô€Fô × Ñ Ó"€DÜ	�‰×	Ñ	˜4 §¡Ó	/ð &°6Øò 	&ˆEØ×Ñ˜uÕ%ñ	&÷&ð �=‰=‹?×%Ñ%Ó'Ð'÷#	ð 	ú÷&ð &ús   ÃE;Ä;FÅ;FÆFc                ó*  — t        j                  | «      }t         j                  j                  |«      }t	        |j
                  «      D �cg c]  }|j                  |«      ‘Œ }}t         j                  j                  |j                  |«      S c c}w )z9
    Convert Arrow IPC bytes to a RecordBatchReader.
    )
ry   Ú	py_bufferr£   Ú	open_fileÚrangeÚnum_record_batchesÚ	get_batchÚRecordBatchReaderÚfrom_batchesr§   )r’   Úbufr®   ÚiÚbatchess        rS   r�   r�   Z  sr   € ô �,‰,�yÓ
!€CÜ�V‰V×Ñ˜cÓ"€FÜ,1°&×2KÑ2KÓ,LÖM qˆv×Ñ Õ"ÐM€GÐMÜ×Ñ×,Ñ,¨V¯]©]¸GÓDÐDùò Ns   ÁBc                óX   — | j                  «       }|dk(  ry|dk(  ryt        d| › d�«      ‚)z5Normalize create table mode string for namespace API.ÚcreateÚCreateÚ	overwriteÚ	OverwritezInvalid mode: z!. Must be 'create' or 'overwrite')rN   rx   )ÚmodeÚ
mode_lowers     rS   Ú_normalize_create_table_moderÃ   d  s8   € à—‘“€JØ�XÒØØ	�{Ò	"Øä˜>¨$¨Ð/PÐQÓRÐRrU   c                ó€  — t         j                  j                  | «      rd}�nt         j                  j                  | «      rd}�nít         j                  j	                  | «      rd}�nÊt         j                  j                  | «      rd}�n§t         j                  j                  | «      rd}�n„t         j                  j                  | «      rd}�nat         j                  j                  | «      rd}�n>t         j                  j                  | «      rd}�nt         j                  j                  | «      rd	}nùt         j                  j                  | «      rd
}n×t         j                  j                  | «      rd}nµt         j                  j                  | «      rd}n“t         j                  j                  | «      rd}nqt         j                  j                  | «      rd}nOt         j                  j!                  | «      rd}n-t         j                  j#                  | «      rd}nt%        | «      }t'        |¬«      S )z.Convert PyArrow DataType to JsonArrowDataType.ÚnullrL   Úint8Úuint8Úint16Úuint16Úint32Úuint32Úint64Úuint64Úfloat32Úfloat64Úutf8Úbinaryr|   Úfixed_size_list)rv   )ry   ÚtypesÚis_nullÚ
is_booleanÚis_int8Úis_uint8Úis_int16Ú	is_uint16Úis_int32Ú	is_uint32Úis_int64Ú	is_uint64Ú
is_float32Ú
is_float64Ú	is_stringÚ	is_binaryÚis_listÚis_fixed_size_listrM   r   )Ú
arrow_typeÚ	type_names     rS   Ú_convert_pyarrow_type_to_jsonræ   o  sˆ  € ä	‡x�x×Ñ˜
Ô#ØŠ	Ü	�‰×	Ñ	˜ZÔ	(ØŠ	Ü	�‰×	Ñ	˜*Ô	%ØŠ	Ü	�‰×	Ñ	˜:Ô	&ØŠ	Ü	�‰×	Ñ	˜:Ô	&ØŠ	Ü	�‰×	Ñ	˜JÔ	'ØŠ	Ü	�‰×	Ñ	˜:Ô	&ØŠ	Ü	�‰×	Ñ	˜JÔ	'ØŠ	Ü	�‰×	Ñ	˜:Ô	&Ø‰	Ü	�‰×	Ñ	˜JÔ	'Ø‰	Ü	�‰×	Ñ	˜ZÔ	(Ø‰	Ü	�‰×	Ñ	˜ZÔ	(Ø‰	Ü	�‰×	Ñ	˜JÔ	'Ø‰	Ü	�‰×	Ñ	˜JÔ	'Ø‰	Ü	�‰×	Ñ	˜*Ô	%à‰	Ü	�‰×	$Ñ	$ ZÔ	0Ø%‰	ô ˜
“Oˆ	ä )Ô,Ð,rU   c                óŽ  — g }| D ]S  }t        |j                  t        |j                  «      |j                  |j
                  ¬«      }|j                  |«       ŒU d}| j
                  rK| j
                  j                  «       D ��ci c]&  \  }}|j                  d«      |j                  d«      “Œ( }}}t        ||¬«      S c c}}w )z*Convert PyArrow Schema to JsonArrowSchema.)rQ   rv   Únullabler˜   Nzutf-8)Úfieldsr˜   )
r   rQ   ræ   rv   rè   r˜   ÚappendÚitemsÚdecoder   )r§   ré   ÚfieldÚ
json_fieldÚmetar`   r‡   s          rS   Ú_convert_pyarrow_schema_to_jsonrð   ™  s³   € à€FØò "ˆÜ#Ø—‘Ü.¨u¯z©zÓ:Ø—^‘^Ø—^‘^ô	
ˆ
ð 	�‰�jÕ!ð"ð €DØ‡‚à=C¿_¹_×=RÑ=RÓ=T÷
Ù59°Q¸ˆA�H‰H�WÓ˜qŸx™x¨Ó0Ñ0ð
ˆñ 
ô  &°4Ô8Ð8ùó	
s   Â+Cc                ó&   — | dk(  xr t        |«      S )a  Whether ``connect_namespace_client`` builds the namespace client natively
    in Rust (installing the read-freshness context provider) rather than wrapping
    the pre-built Python client.

    Must mirror Rust ``build_namespace_natively`` in ``python/src/connection.rs``.
    Úrest)rL   )Únamespace_client_implÚnamespace_client_propertiess     rS   Ú_builds_namespace_nativelyrõ   ¯  s   € ð ! FÑ*ÒP¬tÐ4OÓ/PÐPrU   c                ó
   — | dv S )N>   Údirrò   rs   )ró   s    rS   Ú_supports_native_namespacerø   ¼  s   € Ø  OÐ3Ð3rU   c            	      óä  — e Zd ZdZ	 d&ddddddddœ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d'd„Zed(d„«       Zed)d„«       Zed*d„«       Ze	 	 d+ddœ	 	 	 	 	 	 	 d,d	„«       Z	e	 	 	 	 	 	 	 d-dddddœ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d.d„«       Z
eddddddœ	 	 	 	 	 	 	 	 	 	 	 	 	 d/d„«       Zedddd
dddœ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d0d„«       Zedddd
dddœ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d1d„«       Zed2d„«       Zedddœ	 	 	 	 	 d3d„«       Ze	 d&	 	 	 	 	 d4d„«       Ze	 d&	 	 	 	 	 d5d„«       Zed&d6d„«       Ze	 d&	 	 	 	 	 d7d„«       Ze	 	 d+	 	 	 	 	 	 	 d8d„«       Zed„ «       Zed&d9d„«       Ze	 	 	 d:	 	 	 	 	 	 	 d;d„«       Ze	 	 d+	 	 	 	 	 	 	 d<d„«       Ze	 	 d+	 	 	 	 	 	 	 d=d„«       Ze	 	 	 	 d>d„«       Zed?d „«       Zed@d!„«       Ze	 	 	 d:	 	 	 	 	 	 	 dAd"„«       Zdddddd#œ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dBd$„ZedCd%„«       Zy)DÚLanceNamespaceDBConnectionzâ
    A LanceDB connection that uses a namespace for table management.

    This connection delegates table URI resolution to a lance_namespace instance,
    while using the standard LanceTable for actual table operations.
    N©Úread_consistency_intervalrO   ÚsessionÚ$namespace_client_pushdown_operationsró   rô   Ú_innerc               óÀ  — || _         || _        |xs i | _        || _        t	        |xs g «      | _        || _        || _        |duxs t        ||«      | _	        |�|| _
        n`|€t        d«      ‚t        t        ||�|j                  «       nd| j                  xs d|t        | j
                  «      ||¬«      «      | _
        | j                  j                   | _        y)aÕ  
        Initialize a namespace-based LanceDB connection.

        Parameters
        ----------
        namespace_client : LanceNamespace
            The namespace client to use for table management
        read_consistency_interval : Optional[timedelta]
            The interval at which to check for updates to the table from other
            processes. If None, then consistency is not checked.
        storage_options : Optional[Dict[str, str]]
            Additional options for the storage backend
        session : Optional[Session]
            A session to use for this connection
        namespace_client_pushdown_operations : Optional[List[str]]
            List of namespace operations to push down to the namespace server.
            Supported values:

            - "QueryTable": Execute queries on the namespace server via
              namespace.query_table() instead of locally.
            - "CreateTable": Execute table creation on the namespace server via
              namespace.create_table() instead of using declare_table + local write.

            Default is None (no pushdown, all operations run locally).
        namespace_client_impl : Optional[str]
            The namespace implementation name used to create this connection.
            Stored for serialization purposes.
        namespace_client_properties : Optional[Dict[str, str]]
            The namespace properties used to create this connection.
            Stored for serialization purposes.
        Nú4namespace_client is required without a native _inner©rü   rO   rý   rþ   ró   rô   )Ú_namespace_clientrü   rO   rý   ÚsetÚ%_namespace_client_pushdown_operationsÚ_namespace_client_implÚ_namespace_client_propertiesrõ   Ú_route_pushdown_to_rustrÿ   rx   r    Ú_connect_namespace_clientÚtotal_secondsr|   ÚuriÚ_uri©	Úselfr�   rü   rO   rý   rþ   ró   rô   rÿ   s	            rS   Ú__init__z#LanceNamespaceDBConnection.__init__È  sù   € ðV "2ˆÔØ)BˆÔ&Ø.Ò4°"ˆÔØˆŒÜ58Ø0Ò6°Bó6
ˆÔ2ð '<ˆÔ#Ø,GˆÔ)ð
 (.°TÐ'9ò (
Ô=WØ!Ð#>ó>
ˆÔ$ð ÐØ ˆD�KàÐ'Ü Ð!WÓXÐXÜ)Ü)Ø$ð 5Ð@ð 2×?Ñ?ÔAà!à$(×$8Ñ$8Ò$@¸DØ#ä˜T×GÑGÓHà*?Ø0KôóˆDŒKð" —K‘K—O‘Oˆ�	rU   c                ó6   — | j                   j                  «       S ©N)rÿ   Úis_open©r  s    rS   r  z"LanceNamespaceDBConnection.is_open  s   € à�{‰{×"Ñ"Ó$Ð$rU   c                ó8   — | j                   j                  «        y r  )rÿ   Úcloser  s    rS   r  z LanceNamespaceDBConnection.close  s   € à�‰×ÑÕrU   c           	     óü   — dd l }|j                  d| j                  | j                  t	        | j
                  «      | j                  xs d | j                  r | j                  j                  «       dœ«      S d dœ«      S )Nr   Ú	namespace)Úconnection_typeró   rô   rþ   rO   Ú!read_consistency_interval_seconds)	ÚjsonÚdumpsr  r  Úsortedr  rO   rü   r
  )r  r  s     rS   Ú	serializez$LanceNamespaceDBConnection.serialize#  s„   € ãà�z‰zà#.Ø)-×)DÑ)DØ/3×/PÑ/PÜ8>Ø×>Ñ>ó9ð $(×#7Ñ#7Ò#?¸4ð ×5Ò5ð ×2Ñ2×@Ñ@ÓBñó
ð 	
ð ñó
ð 	
rU   ©Únamespace_pathc               ó¦   — ddl } |j                  dt        d¬«       |€g }t        j                  | j
                  j                  |||¬«      «      S )zò
        List table names in the database.

        If limit is None, return all table names; zero returns an empty list.

        .. deprecated::
            Use :meth:`list_tables` instead, which provides proper pagination support.
        r   Nú6table_names() is deprecated, use list_tables() insteadé   rD   ©r  Ústart_afterr   )rH   rI   rJ   r   Úrunrÿ   Útable_names©r  Ú
page_tokenr   r  rH   s        rS   r&  z&LanceNamespaceDBConnection.table_names8  sZ   € ó  	àˆ�‰ØDÜØõ	
ð
 Ð!ØˆNÜ�x‰xØ�K‰K×#Ñ#Ø-¸:ÈUð $ó ó
ð 	
rU   F©r  rO   rB   rC   c	               óD  — |	€g }	|j                  «       dvrt        d«      ‚t        |«       t        |
||«      }
t	        j
                  | j                  j                  |||||||||	|
¬«
      «      }t        | ||	| j                  | j                  | j                  |¬«      S )N©r½   r¿   ú+mode must be either 'create' or 'overwrite')r§   rÁ   Úexist_okr™   rš   rª   r  rO   ©r  r�   Úpushdown_operationsÚroute_pushdown_to_rustÚ_async)rN   rx   r;   rT   r   r%  rÿ   Úcreate_tabler9   r  r  r  )r  rQ   r©   r§   rÁ   r-  r™   rš   rª   r  rO   rB   rC   Úasync_tables                 rS   r2  z'LanceNamespaceDBConnection.create_tableW  sÀ   € ð" Ð!ØˆNØ�:‰:‹<Ð6Ñ6ÜÐJÓKÐKÜ˜DÔ!Ü7ØÐ1Ð3Kó
ˆô —h‘hØ�K‰K×$Ñ$ØØØØØ!Ø-Ø%Ø$7Ø-Ø /ð %ó ó
ˆô ØØØ)Ø!×3Ñ3Ø $× JÑ JØ#'×#?Ñ#?Øô
ð 	
rU   ©r  rO   Úindex_cache_sizeÚbranchÚversionc          	     óä  — |€g }	 t        j                  | j                  j                  ||||¬«      «      }t        | ||| j                  | j                  | j                  |¬«      }
|�|
j                  j                  ||«      }
|
S |�|
j                  |«       |
S # t        t
        f$ rC}dt        |«      v sdt        |«      v r#||gz   }	t        ddj                  |	«      › �«      ‚‚ d }~ww xY w)N©r  rO   r5  úTable not foundúwas not foundúTable not found: ú$r.  )r   r%  rÿ   Ú
open_tableÚRuntimeErrorrx   rM   r   Újoinr9   r  r  r  ÚbranchesÚcheckout)r  rQ   r  rO   r5  r6  r7  r3  Úer„   Útbls              rS   r>  z%LanceNamespaceDBConnection.open_table‰  s  € ð Ð!ØˆNð	ÜŸ(™(Ø—‘×&Ñ&ØØ#1Ø$3Ø%5ð	 'ó óˆKô ØØØ)Ø!×3Ñ3Ø $× JÑ JØ#'×#?Ñ#?Øô
ˆð ÐØ—,‘,×'Ñ'¨°Ó8ˆCð ˆ
ð Ð Ø�L‰L˜Ô!Øˆ
øô' œjÐ)ò 	Ø ¤C¨£FÑ*¨oÄÀQÃÑ.GØ)¨T¨FÑ2�Ü(Ð+<¸S¿X¹XÀhÓ=OÐ<PÐ)QÓRÐRØûð		ús   †2B ÂC/Â,>C*Ã*C/©ÚselectÚwherer   Úwith_no_dataÚauto_refresh_enabledÚauto_refresh_interval_secondsc               ó²   — t        | j                  t        j                  | j                  j                  ||||||||¬«      «      j                  «      «      S )z³Define a materialized view over a table in the root namespace.
        See
        [DBConnection.create_materialized_view][lancedb.DBConnection.create_materialized_view].
        rE  )r5   r>  r   r%  rÿ   Úcreate_materialized_viewrQ   ©	r  rQ   ÚsourcerF  rG  r   rH  rI  rJ  s	            rS   rL  z3LanceNamespaceDBConnection.create_materialized_view´  s_   € ô"  Ø�O‰OÜ—‘Ø—K‘K×8Ñ8ØØØ%Ø#Ø#Ø%1Ø-AØ6Sð 9ó 	ó÷ ‘$óó
ð 	
rU   c               ó„   — t        j                  | j                  j                  ||||||||¬«      «      }	t	        |	«      S )NrE  )r   r%  rÿ   Úcreate_materialized_view_asyncr#   )
r  rQ   rN  rF  rG  r   rH  rI  rJ  Újobs
             rS   rP  z9LanceNamespaceDBConnection.create_materialized_view_asyncÖ  sL   € ô �h‰hØ�K‰K×6Ñ6ØØØØØØ)Ø%9Ø.Kð 7ó 	ó
ˆô �3‹xˆrU   c                óR   — t        | j                  |«      «      }|j                   |S )ú*Open the materialized view named ``name``.)r5   r>  Ú
definition©r  rQ   Úviews      rS   Úopen_materialized_viewz1LanceNamespaceDBConnection.open_materialized_viewñ  s#   € ô   §¡°Ó 5Ó6ˆØ�ŠØˆrU   ©r(  Ú
page_limitc               óN   — t        | j                  j                  ||¬«      «      S ©a5  The names of the materialized views in the root namespace.

        Returns a lazy iterator. ``page_limit`` limits each request, not the total;
        ``page_token`` resumes from a saved token. Requests and errors occur during
        iteration. See [pagination state][lancedb.listing.AsyncListing].
        rX  )r'   rÿ   Úlist_materialized_views©r  r(  rY  s      rS   r\  z2LanceNamespaceDBConnection.list_materialized_viewsø  s-   € ô Ø�K‰K×/Ñ/Ø%°*ð 0ó ó
ð 	
rU   c                ól   — |€g }t        j                  | j                  j                  ||¬«      «       y ©Nr  )r   r%  rÿ   Údrop_materialized_view©r  rQ   r  s      rS   r`  z1LanceNamespaceDBConnection.drop_materialized_view  s2   € ð Ð!ØˆNÜ�‰Ø�K‰K×.Ñ.¨tÀNÐ.ÓSõ	
rU   c                ó|   — |€g }t        t        j                  | j                  j	                  ||¬«      «      «      S r_  )r#   r   r%  rÿ   Údrop_materialized_view_asyncra  s      rS   rc  z7LanceNamespaceDBConnection.drop_materialized_view_async  sD   € ð Ð!ØˆNÜÜ�H‰HØ—‘×8Ñ8Ø¨ð 9ó óó
ð 	
rU   c                ól   — |€g }t        j                  | j                  j                  ||¬«      «       y r_  )r   r%  rÿ   Ú
drop_tablera  s      rS   re  z%LanceNamespaceDBConnection.drop_table   s-   € àÐ!ØˆNÜ�‰�—‘×'Ñ'¨¸^Ð'ÓLÕMrU   c                ó¾   — |€g }t        j                  | j                  j                  ||¬«      «      }t	        t        |t        «      r|«      S t        |«      «      S )ú2Start dropping a table and return its cleanup job.r  )r   r%  rÿ   Údrop_table_asyncr#   rK   r"   )r  rQ   r  rQ  s       rS   rh  z+LanceNamespaceDBConnection.drop_table_async&  sV   € ð
 Ð!ØˆNÜ�h‰hØ�K‰K×(Ñ(¨¸nÐ(ÓMó
ˆô œ* S¬(Ô3�3ÓGÐG¼À#»ÓGÐGrU   c                óÐ   — |€g }|€g }	 t        j                  | j                  j                  ||||¬«      «       y # t        $ r}dt        |«      v rt        d«      |‚‚ d }~ww xY w)N©Úcur_namespace_pathÚnew_namespace_pathúrename_table not implemented)r   r%  rÿ   Úrename_tabler?  rM   ÚNotImplementedError©r  Úcur_nameÚnew_namerk  rl  rC  s         rS   rn  z'LanceNamespaceDBConnection.rename_table2  s   € ð Ð%Ø!#ÐØÐ%Ø!#Ðð	Ü�H‰HØ—‘×(Ñ(ØØØ'9Ø'9ð	 )ó õøô ò 	Ø-´°Q³Ñ7Ü)Ð*HÓIÈqÐPØûð	ús   Š2= ½	A%ÁA Á A%c                ó   — t        d«      ‚)Nú8drop_database is deprecated, use drop_all_tables instead©ro  r  s    rS   Údrop_databasez(LanceNamespaceDBConnection.drop_databaseL  s   € ä!ØFó
ð 	
rU   c                ój   — |€g }t        j                  | j                  j                  |¬«      «       y r_  )r   r%  rÿ   Údrop_all_tables©r  r  s     rS   rx  z*LanceNamespaceDBConnection.drop_all_tablesR  s+   € àÐ!ØˆNÜ�‰�—‘×,Ñ,¸NÐ,ÓKÕLrU   c                óX   — |€g }t        | j                  j                  |||¬«      «      S ©a‚  
        List child namespaces under the given namespace.

        Parameters
        ----------
        namespace_path : Optional[List[str]]
            The parent namespace path to list children from.
            If None, lists root-level namespaces.
        page_token : Optional[str]
            Token for pagination. Use the token from a previous response
            to get the next page of results.
        limit : int, optional
            Maximum number of namespaces to return.

        Returns
        -------
        NamespaceListing
            Response containing namespace names and optional page_token for pagination.
        ©r  r(  r   )r(   rÿ   Úlist_namespaces©r  r  r(  r   s       rS   r}  z*LanceNamespaceDBConnection.list_namespacesX  s:   € ð4 Ð!ØˆNÜØ�K‰K×'Ñ'Ø-¸*ÈEð (ó ó
ð 	
rU   c                ód   — t        j                  | j                  j                  |||¬«      «      S )á8  
        Create a new namespace.

        Parameters
        ----------
        namespace_path : List[str]
            The namespace path to create.
        mode : str, optional
            Creation mode - "create" (fail if exists), "exist_ok" (skip if exists),
            or "overwrite" (replace if exists). Case insensitive.
        properties : Dict[str, str], optional
            Properties to set on the namespace.

        Returns
        -------
        CreateNamespaceResponse
            Response containing the properties of the created namespace.
        ©r  rÁ   Ú
properties)r   r%  rÿ   Úcreate_namespace©r  r  rÁ   r‚  s       rS   rƒ  z+LanceNamespaceDBConnection.create_namespacez  s5   € ô2 �x‰xØ�K‰K×(Ñ(Ø-ØØ%ð )ó ó
ð 	
rU   c                óÎ   — 	 t        j                  | j                  j                  |||¬«      «      S # t        $ r(}dt        |«      v rt        t        |«      «      |‚‚ d}~ww xY w)á+  
        Drop a namespace.

        Parameters
        ----------
        namespace_path : List[str]
            The namespace path to drop.
        mode : str, optional
            Whether to skip if not exists ("SKIP") or fail ("FAIL"). Case insensitive.
        behavior : str, optional
            Whether to restrict drop if not empty ("RESTRICT") or cascade ("CASCADE").
            Case insensitive.

        Returns
        -------
        DropNamespaceResponse
            Response containing properties and transaction_id if applicable.
        ©r  rÁ   ÚbehaviorúNamespace not emptyN)r   r%  rÿ   Údrop_namespacer?  rM   r   ©r  r  rÁ   rˆ  rC  s        rS   rŠ  z)LanceNamespaceDBConnection.drop_namespace›  sj   € ð2	Ü—8‘8Ø—‘×*Ñ*Ø#1ØØ%ð +ó óð øô ò 	Ø$¬¨A«Ñ.Ü,¬S°«VÓ4¸!Ð;Øûð	ús   ‚03 ³	A$¼#AÁA$c                ó^   — t        j                  | j                  j                  |«      «      S )á   
        Describe a namespace.

        Parameters
        ----------
        namespace_path : List[str]
            The namespace identifier to describe.

        Returns
        -------
        DescribeNamespaceResponse
            Response containing the namespace properties.
        )r   r%  rÿ   Údescribe_namespacery  s     rS   rŽ  z-LanceNamespaceDBConnection.describe_namespaceÁ  s"   € ô" �x‰x˜Ÿ™×6Ñ6°~ÓFÓGÐGrU   c                ór   — t        |¬«      }	 | j                  j                  |«       y# t        $ r Y yw xY w©a  
        Check if a namespace exists.

        Parameters
        ----------
        namespace_id : List[str]
            The namespace identifier to check.

        Returns
        -------
        bool
            True if the namespace exists, False otherwise.
        ©r_   TF©r2   r  Únamespace_existsr   ©r  Únamespace_idr‘   s      rS   r“  z+LanceNamespaceDBConnection.namespace_existsÔ  s<   € ô )¨LÔ9ˆð	Ø×"Ñ"×3Ñ3°GÔ<ØøÜ%ò 	Ùð	úó   Ž* ª	6µ6c                ór   — t        |¬«      }	 | j                  j                  |«       y# t        $ r Y yw xY w©aB  
        Check if a table exists.

        Parameters
        ----------
        table_id : List[str]
            The table identifier to check (full path including namespace
            segments and table name).

        Returns
        -------
        bool
            True if the table exists, False otherwise.
        r‘  TF©r3   r  Útable_existsr   ©r  r„   r‘   s      rS   rš  z'LanceNamespaceDBConnection.table_existsê  s<   € ô  %¨Ô1ˆð	Ø×"Ñ"×/Ñ/°Ô8ØøÜ!ò 	Ùð	úr–  c                óX   — |€g }t        | j                  j                  |||¬«      «      S ©a|  
        List all tables in this database with pagination support.

        Parameters
        ----------
        namespace_path : List[str], optional
            The namespace to list tables in.
            None or empty list represents root namespace.
        page_token : str, optional
            Token for pagination. Use the token from a previous response
            to get the next page of results.
        limit : int, optional
            The maximum number of results to return.

        Returns
        -------
        TableListing
            Response containing table names and optional page_token for pagination.
        r|  )r)   rÿ   Úlist_tablesr~  s       rS   rž  z&LanceNamespaceDBConnection.list_tables  s:   € ð4 Ð!ØˆNÜØ�K‰K×#Ñ#Ø-¸*ÈEð $ó ó
ð 	
rU   )r  rO   r5  r�   Úmanaged_versioningc               ó®   — |€g }t        j                  | j                  j                  ||||d ||¬«      «      }t	        | |||||| j
                  |¬«      S )N)r  rO   r5  Úlocationr�   rŸ  )r  r¡  r�   rŸ  r/  r1  )r   r%  rÿ   r>  r9   r  )	r  rQ   Ú	table_urir  rO   r5  r�   rŸ  r3  s	            rS   Ú_lance_table_from_uriz0LanceNamespaceDBConnection._lance_table_from_uri#  sv   € ð Ð!ØˆNä—h‘hØ�K‰K×"Ñ"ØØ-Ø /Ø!1ØØ!1Ø#5ð #ó ó

ˆô ØØØ)ØØ-Ø1Ø $× JÑ JØô	
ð 		
rU   c                óÂ   — | j                   €H| j                  �| j                  €t        d«      ‚t	        | j                  | j                  «      | _         | j                   S ©a!  Get the namespace client for this connection.

        For namespace connections, this returns the backing namespace client
        that was provided during construction.

        Returns
        -------
        LanceNamespace
            The namespace client for this connection.
        zVCannot construct a Python namespace client without namespace implementation properties©r  r  r  rx   Únamespace_connectr  s    rS   r�   z+LanceNamespaceDBConnection.namespace_clientL  sh   € ð ×!Ñ!Ð)à×+Ñ+Ð3Ø×4Ñ4Ð<ä ð:óð ô &7Ø×+Ñ+¨T×-NÑ-Nó&ˆDÔ"ð ×%Ñ%Ð%rU   r  ©r�   zOptional[LanceNamespace]rü   úOptional[timedelta]rO   úOptional[Dict[str, str]]rý   úOptional[Session]rþ   úOptional[List[str]]ró   úOptional[str]rô   rª  rÿ   zOptional[AsyncConnection])ÚreturnrL   )r®  ÚNone)r®  rM   ©NN©r(  r­  r   úOptional[int]r  r¬  r®  zIterable[str]©NNr½   FÚerrorç        N)rQ   rM   r©   úOptional[DATA]r§   ú&Optional[Union[pa.Schema, LanceModel]]rÁ   rM   r-  rL   r™   rM   rš   Úfloatrª   ú'Optional[List[EmbeddingFunctionConfig]]r  r¬  rO   rª  rB   r­  rC   úOptional[bool]r®  r:   )rQ   rM   r  r¬  rO   rª  r5  r²  r6  r­  r7  r²  r®  r:   )rQ   rM   rN  r6   rF  ú'SelectArg'rG  r­  r   r²  rH  rL   rI  rº  rJ  úOptional[float]r®  ú'MaterializedView')rQ   rM   rN  r6   rF  r»  rG  r­  r   r²  rH  rL   rI  rº  rJ  r¼  r®  ú	Job[None])rQ   rM   r®  r½  )r(  r­  rY  r²  r®  zListing[str]©rQ   rM   r  r¬  r®  r¯  )rQ   rM   r  r¬  r®  r¾  ©rQ   rM   r  r¬  )rQ   rM   r  r¬  r®  r#   ©rq  rM   rr  rM   rk  r¬  rl  r¬  ©r  r¬  ©NNN)r  r¬  r(  r­  r   r²  r®  r(   ©r  ú	List[str]rÁ   r­  r‚  rª  r®  r/   ©r  rÅ  rÁ   r­  rˆ  r­  r®  r1   ©r  rÅ  r®  r0   ©r•  rÅ  r®  rL   ©r„   rÅ  r®  rL   )r  r¬  r(  r­  r   r²  r®  r)   )rQ   rM   r¢  rM   r  r¬  rO   rª  r5  r²  r�   zOptional[Any]rŸ  rº  r®  r9   ©r®  r-   ) Ú__name__Ú
__module__Ú__qualname__Ú__doc__r  r   r  r  r  r&  r2  r>  rL  rP  rW  r\  r`  rc  re  rh  rn  rv  rx  r}  rƒ  rŠ  rŽ  r“  rš  rž  r£  r�   rs   rU   rS   rú   rú   À  sn  „ ñð 6:ðQ$ð :>Ø48Ø%)ØDHØ/3Ø@DØ,0ñQ$à2ðQ$ð $7ð	Q$ð
 2ðQ$ð #ðQ$ð /BðQ$ð  -ðQ$ð &>ðQ$ð *óQ$ðf ò%ó ð%ð òó ðð ò
ó ð
ð( ð %)Ø#ð
ð
 /3ñ
à!ð
ð ð
ð
 ,ð
ð 
ò
ó ð
ð< ð  $Ø9=ØØØ%ØØGKð/
ð /3Ø48Ø.2Ø37ñ/
àð/
ð ð/
ð 7ð	/
ð
 ð/
ð ð/
ð ð/
ð ð/
ð Eð/
ð ,ð/
ð 2ð/
ð ,ð/
ð #1ð/
ð 
ò/
ó ð/
ðb ð
 /3Ø48Ø*.Ø $Ø!%ñ(àð(ð ,ð	(ð
 2ð(ð (ð(ð ð(ð ð(ð 
ò(ó ð(ðT ð #Ø#Ø#Ø"Ø/3Ø9=ñ
àð
ð 'ð
ð
 ð
ð ð
ð ð
ð ð
ð -ð
ð (7ð
ð 
ò
ó ð
ðB ð #Ø#Ø#Ø"Ø/3Ø9=ñàðð 'ðð
 ðð ðð ðð ðð -ðð (7ðð 
òó ðð4 òó ðð à-1Ètñ
Ø*ð
Ø?Lð
à	ò
ó ð
ð à?Cð
Øð
Ø)<ð
à	ò
ó ð
ð à?Cð
Øð
Ø)<ð
à	ò
ó ð
ð óNó ðNð
 à?Cð	HØð	HØ)<ð	Hà	ò	Hó ð	Hð ð
 37Ø26ðàðð ðð 0ð	ð
 0òó ðð2 ñ
ó ð
ð
 óMó ðMð
 ð /3Ø$(Ø#ð	
à+ð
ð "ð
ð ð	
ð
 
ò
ó ð
ðB ð #Ø/3ð	
à!ð
ð ð
ð -ð	
ð
 
!ò
ó ð
ð@ ð #Ø"&ð	#à!ð#ð ð#ð  ð	#ð
 
ò#ó ð#ðJ ðHØ'ðHà	"òHó ðHð$ òó ðð* òó ðð, ð /3Ø$(Ø#ð	
à+ð
ð "ð
ð ð	
ð
 
ò
ó ð
ðL /3Ø48Ø*.Ø*.Ø-1ñ'
àð'
ð ð'
ð
 ,ð'
ð 2ð'
ð (ð'
ð (ð'
ð +ð'
ð 
ó'
ðR ò&ó ñ&rU   rú   c            	      óâ  — e Zd ZdZ	 d%ddddddddœ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d&d„Z	 	 d'ddœ	 	 	 	 	 	 	 d(d„Z	 	 	 	 	 	 	 d)dddddœ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d*d	„Zdddddd
œ	 	 	 	 	 	 	 	 	 	 	 	 	 d+d„Zdddddddœ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d,d„Zdddddddœ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d-d„Z	d.d„Z
dddœ	 	 	 	 	 d/d„Z	 d%	 	 	 	 	 d0d„Z	 d%	 	 	 	 	 d1d„Zd%d2d„Z	 d%	 	 	 	 	 d3d„Z	 	 d'	 	 	 	 	 	 	 d4d„Zd„ Zd%d5d„Z	 	 	 d6	 	 	 	 	 	 	 d7d„Z	 	 d'	 	 	 	 	 	 	 d8d„Z	 	 d'	 	 	 	 	 	 	 d9d„Z	 	 	 	 d:d„Zd;d„Zd<d„Z	 	 	 d6	 	 	 	 	 	 	 d=d„Zddd œ	 	 	 	 	 	 	 d>d!„Zddd œ	 	 	 	 	 	 	 d?d"„Zd@d#„ZdAd$„Zy)BÚAsyncLanceNamespaceDBConnectionzÚ
    An async LanceDB connection that uses a namespace for table management.

    This connection delegates table URI resolution to a lance_namespace instance,
    while providing async methods for all operations.
    Nrû   c               óŠ  — || _         || _        |xs i | _        || _        t	        |xs g «      | _        || _        || _        |duxs t        ||«      | _	        |�|| _
        y|€t        d«      ‚t        t        ||�|j                  «       nd| j                  xs d|t        | j
                  «      ||¬«      «      | _
        y)a  
        Initialize an async namespace-based LanceDB connection.

        Parameters
        ----------
        namespace_client : LanceNamespace
            The namespace client to use for table management
        read_consistency_interval : Optional[timedelta]
            The interval at which to check for updates to the table from other
            processes. If None, then consistency is not checked.
        storage_options : Optional[Dict[str, str]]
            Additional options for the storage backend
        session : Optional[Session]
            A session to use for this connection
        namespace_client_pushdown_operations : Optional[List[str]]
            List of namespace operations to push down to the namespace server.
            Supported values:

            - "QueryTable": Execute queries on the namespace server via
              namespace.query_table() instead of locally.
            - "CreateTable": Execute table creation on the namespace server via
              namespace.create_table() instead of using declare_table + local write.

            Default is None (no pushdown, all operations run locally).
        namespace_client_impl : Optional[str]
            The namespace implementation name used to create this connection.
            Required (with ``namespace_client_properties``) for the Rust client to
            be built natively and install the read-freshness provider.
        namespace_client_properties : Optional[Dict[str, str]]
            The namespace properties used to create this connection.
        Nr  r  )r  rü   rO   rý   r  r  r  r  rõ   r  rÿ   rx   r    r	  r
  r|   r  s	            rS   r  z(AsyncLanceNamespaceDBConnection.__init__o  sè   € ðV "2ˆÔØ)BˆÔ&Ø.Ò4°"ˆÔØˆŒÜ58Ø0Ò6°Bó6
ˆÔ2ð '<ˆÔ#Ø,GˆÔ)ð
 (.°TÐ'9ò (
Ô=WØ!Ð#>ó>
ˆÔ$ð ÐØ ˆD�KàÐ'Ü Ð!WÓXÐXÜ)Ü)Ø$ð 5Ð@ð 2×?Ñ?ÔAà!à$(×$8Ñ$8Ò$@¸DØ#ä˜T×GÑGÓHà*?Ø0KôóˆD�KrU   r  c             ƒ  óœ   K  — ddl } |j                  dt        d¬«       |€g }| j                  j	                  |||¬«      ƒ d{  –—† S 7 Œ­w)zó
        List table names in the namespace.

        If limit is None, return all table names; zero returns an empty list.

        .. deprecated::
            Use :meth:`list_tables` instead, which provides proper pagination support.
        r   Nr!  r"  rD   r#  )rH   rI   rJ   rÿ   r&  r'  s        rS   r&  z+AsyncLanceNamespaceDBConnection.table_namesÁ  s\   è ø€ ó 	àˆ�‰ØDÜØõ	
ð
 Ð!ØˆNØ—[‘[×,Ñ,Ø)°zÈð -ó 
÷ 
ð 	
ð 
ús   ‚AAÁA
ÁAFr)  c	             ƒ  ó@  K  — |	€g }	|j                  «       dvrt        d«      ‚t        |«       t        |
||«      }
| j                  j                  ||||||||	||
¬«
      ƒ d{  –—† }|j                  |	| j                  | j                  | j                  ¬«      S 7 Œ7­w)z$Create a new table in the namespace.Nr+  r,  )r§   rÁ   r-  r™   rš   r  rª   rO   ©r  r�   r/  r0  )
rN   rx   r;   rT   rÿ   r2  Ú_set_namespace_contextr  r  r  )r  rQ   r©   r§   rÁ   r-  r™   rš   rª   r  rO   rB   rC   Útables                 rS   r2  z,AsyncLanceNamespaceDBConnection.create_tableÝ  sÄ   è ø€ ð" Ð!ØˆNØ�:‰:‹<Ð6Ñ6ÜÐJÓKÐKÜ˜DÔ!Ü7ØÐ1Ð3Kó
ˆð —k‘k×.Ñ.ØØØØØØ)Ø!Ø)Ø 3Ø+ð /ó 
÷ 
ˆð ×+Ñ+Ø)Ø!×3Ñ3Ø $× JÑ JØ#'×#?Ñ#?ð	 ,ó 
ð 	
ð
ús   ‚A"BÁ$BÁ%8Br4  c             ƒ  ó  K  — |€g }	 | j                   j                  ||||¬«      ƒ d{  –—† }|�*|dk7  r%|j                  j                  ||«      ƒ d{  –—† }n|�|j                  |«      ƒ d{  –—†  |j                  || j                  | j                  | j                  ¬«      S 7 Œ~# t        t        f$ rC}dt	        |«      v sdt	        |«      v r#||gz   }	t        ddj                  |	«      › �«      ‚‚ d}~ww xY w7 Œª7 Œ�­w)	z*Open an existing table from the namespace.Nr9  r:  r;  r<  r=  ÚmainrÔ  )rÿ   r>  r?  rx   rM   r   r@  rA  rB  rÕ  r  r  r  )
r  rQ   r  rO   r5  r6  r7  rÖ  rC  r„   s
             rS   r>  z*AsyncLanceNamespaceDBConnection.open_table	  s!  è ø€ ð Ð!ØˆNð	ØŸ+™+×0Ñ0ØØ-Ø /Ø!1ð	 1ó ÷ ˆEð Ð &¨FÒ"2ØŸ.™.×1Ñ1°&¸'ÓB×B‰EØÐ Ø—.‘. Ó)×)Ð)Ø×+Ñ+Ø)Ø!×3Ñ3Ø $× JÑ JØ#'×#?Ñ#?ð	 ,ó 
ð 	
ð#ùô œjÐ)ò 	Ø ¤C¨£FÑ*¨oÄÀQÃÑ.GØ)¨T¨FÑ2�Ü(Ð+<¸S¿X¹XÀhÓ=OÐ<PÐ)QÓRÐRØûð		úð Cøà)úsU   ‚Dˆ"B+ ªB)«B+ ¯&DÁD ÁDÁ1DÁ27DÂ)B+ Â+C=Â:>C8Ã8C=Ã=DÄDrE  c          
   ƒ  óÀ   K  — | j                   j                  ||||||||¬«      ƒ d{  –—† }	t        | j                  |	j                  «      ƒ d{  –—† «      S 7 Œ07 Œ
­w)z>Define a materialized view over a table in the root namespace.rE  N)rÿ   rL  r4   r>  rQ   )
r  rQ   rN  rF  rG  r   rH  rI  rJ  rV  s
             rS   rL  z8AsyncLanceNamespaceDBConnection.create_materialized_view/  sg   è ø€ ð —[‘[×9Ñ9ØØØØØØ%Ø!5Ø*Gð :ó 	
÷ 	
ˆô %¨4¯?©?¸4¿9¹9Ó+E×%EÓFÐFð	
øð &Fús!   ‚'A©Aª'AÁAÁ	AÁAc          
   ƒ  ód   K  — | j                   j                  ||||||||¬«      ƒ d{  –—† S 7 Œ­w)z5Submit materialized-view creation and return its job.rE  N)rÿ   rP  rM  s	            rS   rP  z>AsyncLanceNamespaceDBConnection.create_materialized_view_asyncJ  sG   è ø€ ð —[‘[×?Ñ?ØØØØØØ%Ø!5Ø*Gð @ó 	
÷ 	
ð 		
ð 	
ús   ‚'0©.ª0c              ƒ  óŠ   K  — t        | j                  |«      ƒ d{  –—† «      }|j                  «       ƒ d{  –—†  |S 7 Œ"7 Œ­w)rS  N)r4   r>  rT  rU  s      rS   rW  z6AsyncLanceNamespaceDBConnection.open_materialized_viewb  s;   è ø€ ä$¨4¯?©?¸4Ó+@×%@ÓAˆØ�o‰oÓ×ÐØˆð &AøØús   ‚Aœ?�A¸A¹AÁArX  c               óN   — t        | j                  j                  ||¬«      «      S r[  )r$   rÿ   r\  r]  s      rS   r\  z7AsyncLanceNamespaceDBConnection.list_materialized_viewsh  s-   € ô Ø�K‰K×/Ñ/Ø%°*ð 0ó ó
ð 	
rU   c              ƒ  ób   K  — |€g }| j                   j                  ||¬«      ƒ d{  –—†  y7 Œ­w)z,Drop a materialized view from the namespace.Nr  )rÿ   r`  ra  s      rS   r`  z6AsyncLanceNamespaceDBConnection.drop_materialized_vieww  s0   è ø€ ð Ð!ØˆNØ�k‰k×0Ñ0°ÀnÐ0ÓU×UÒUúó   ‚%/§-¨/c              ƒ  ó`   K  — |€g }| j                   j                  ||¬«      ƒ d{  –—† S 7 Œ­w)z>Start dropping a materialized view and return its cleanup job.Nr  )rÿ   rc  ra  s      rS   rc  z<AsyncLanceNamespaceDBConnection.drop_materialized_view_async  s>   è ø€ ð Ð!ØˆNØ—[‘[×=Ñ=Ø ð >ó 
÷ 
ð 	
ð 
úó   ‚%.§,¨.c              ƒ  ób   K  — |€g }| j                   j                  ||¬«      ƒ d{  –—†  y7 Œ­w)z Drop a table from the namespace.Nr  )rÿ   re  ra  s      rS   re  z*AsyncLanceNamespaceDBConnection.drop_table‰  s.   è ø€ àÐ!ØˆNØ�k‰k×$Ñ$ T¸.Ð$ÓI×IÒIúrÞ  c              ƒ  ó`   K  — |€g }| j                   j                  ||¬«      ƒ d{  –—† S 7 Œ­w)rg  Nr  )rÿ   rh  ra  s      rS   rh  z0AsyncLanceNamespaceDBConnection.drop_table_async�  s3   è ø€ ð Ð!ØˆNØ—[‘[×1Ñ1°$À~Ð1ÓV×VÐVÐVúrà  c              ƒ  óÆ   K  — |€g }|€g }	 | j                   j                  ||||¬«      ƒ d{  –—†  y7 Œ# t        $ r}dt        |«      v rt	        d«      |‚‚ d}~ww xY w­w)z Rename a table in the namespace.Nrj  rm  )rÿ   rn  r?  rM   ro  rp  s         rS   rn  z,AsyncLanceNamespaceDBConnection.rename_table—  s€   è ø€ ð Ð%Ø!#ÐØÐ%Ø!#Ðð
	Ø—+‘+×*Ñ*ØØØ#5Ø#5ð	 +ó ÷ ò ùô ò 	Ø-´°Q³Ñ7Ü)Ð*HÓIÈqÐPØûð	üs0   ‚	A!Œ"6 ®4¯6 ³A!´6 ¶	A¿AÁAÁA!c              ƒ  ó    K  — t        d«      ‚­w)zDeprecated method.rt  ru  r  s    rS   rv  z-AsyncLanceNamespaceDBConnection.drop_database¯  s   è ø€ ä!ØFó
ð 	
ùs   ‚c              ƒ  ó`   K  — |€g }| j                   j                  |¬«      ƒ d{  –—†  y7 Œ­w)z!Drop all tables in the namespace.Nr  )rÿ   rx  ry  s     rS   rx  z/AsyncLanceNamespaceDBConnection.drop_all_tablesµ  s,   è ø€ àÐ!ØˆNØ�k‰k×)Ñ)¸Ð)ÓH×HÒHús   ‚$.¦,§.c                óF   — |€g }| j                   j                  |||¬«      S r{  )rÿ   r}  r~  s       rS   r}  z/AsyncLanceNamespaceDBConnection.list_namespaces»  s2   € ð2 Ð!ØˆNØ�{‰{×*Ñ*Ø)°jÈð +ó 
ð 	
rU   c              ƒ  óZ   K  — | j                   j                  |||¬«      ƒ d{  –—† S 7 Œ­w)r€  r�  N)rÿ   rƒ  r„  s       rS   rƒ  z0AsyncLanceNamespaceDBConnection.create_namespaceÚ  s7   è ø€ ð0 —[‘[×1Ñ1Ø)ØØ!ð 2ó 
÷ 
ð 	
ð 
úó   ‚"+¤)¥+c              ƒ  óÄ   K  — 	 | j                   j                  |||¬«      ƒ d{  –—† S 7 Œ# t        $ r(}dt        |«      v rt	        t        |«      «      |‚‚ d}~ww xY w­w)r†  r‡  Nr‰  )rÿ   rŠ  r?  rM   r   r‹  s        rS   rŠ  z.AsyncLanceNamespaceDBConnection.drop_namespaceø  sk   è ø€ ð0		ØŸ™×3Ñ3Ø-ØØ!ð 4ó ÷ ð ð ùô
 ò 	Ø$¬¨A«Ñ.Ü,¬S°«VÓ4¸!Ð;Øûð	üs0   ‚A „!, ¥*¦, ©A ª, ¬	Aµ#AÁAÁA c              ƒ  óT   K  — | j                   j                  |«      ƒ d{  –—† S 7 Œ­w)r�  N)rÿ   rŽ  ry  s     rS   rŽ  z2AsyncLanceNamespaceDBConnection.describe_namespace  s#   è ø€ ð  —[‘[×3Ñ3°NÓC×CÐCÐCúó   ‚(¡&¢(c              ƒ  óz   K  — t        |¬«      }	 | j                  j                  |«       y# t        $ r Y yw xY w­wr�  r’  r”  s      rS   r“  z0AsyncLanceNamespaceDBConnection.namespace_exists-  s?   è ø€ ô )¨LÔ9ˆð	Ø×"Ñ"×3Ñ3°GÔ<ØøÜ%ò 	Ùð	üó   ‚;�, «;¬	8µ;·8¸;c              ƒ  óz   K  — t        |¬«      }	 | j                  j                  |«       y# t        $ r Y yw xY w­wr˜  r™  r›  s      rS   rš  z,AsyncLanceNamespaceDBConnection.table_existsB  s?   è ø€ ô %¨Ô1ˆð	Ø×"Ñ"×/Ñ/°Ô8ØøÜ!ò 	Ùð	ürí  c                óF   — |€g }| j                   j                  |||¬«      S r�  )rÿ   rž  r~  s       rS   rž  z+AsyncLanceNamespaceDBConnection.list_tablesX  s2   € ð2 Ð!ØˆNØ�{‰{×&Ñ&Ø)°jÈð 'ó 
ð 	
rU   ©Údefault_namespace_pathÚ
parametersc             ƒ  óZ   K  — | j                   j                  |||¬«      ƒ d{  –—† S 7 Œ­w)z8Execute SQL when supported by the underlying connection.rð  N)rÿ   Úexecute_query©r  r[   rñ  rò  s       rS   rô  z-AsyncLanceNamespaceDBConnection.execute_queryw  s7   è ø€ ð —[‘[×.Ñ.ØØ#9Ø!ð /ó 
÷ 
ð 	
ð 
úrè  c             ƒ  óZ   K  — | j                   j                  |||¬«      ƒ d{  –—† S 7 Œ­w)z‰Start executing SQL when supported by the underlying connection.

        Namespace-backed local connections do not support SQL.
        rð  N)rÿ   Úexecute_query_asyncrõ  s       rS   r÷  z3AsyncLanceNamespaceDBConnection.execute_query_async…  s7   è ø€ ð —[‘[×4Ñ4ØØ#9Ø!ð 5ó 
÷ 
ð 	
ð 
úrè  c              ƒ  óT   K  — | j                   j                  |«      ƒ d{  –—† S 7 Œ­w)z.Describe a submitted SQL query when supported.N)rÿ   Údescribe_query)r  Úquery_ids     rS   rù  z.AsyncLanceNamespaceDBConnection.describe_query–  s!   è ø€ à—[‘[×/Ñ/°Ó9×9Ð9Ð9úrë  c              ƒ  óÊ   K  — | j                   €H| j                  �| j                  €t        d«      ‚t	        | j                  | j                  «      | _         | j                   S ­wr¥  r¦  r  s    rS   r�   z0AsyncLanceNamespaceDBConnection.namespace_clientš  sl   è ø€ ð ×!Ñ!Ð)à×+Ñ+Ð3Ø×4Ñ4Ð<ä ð:óð ô &7Ø×+Ñ+¨T×-NÑ-Nó&ˆDÔ"ð ×%Ñ%Ð%ùs   ‚A!A#r  r¨  r°  r±  r³  )rQ   rM   r©   r¶  r§   r·  rÁ   rM   r-  rL   r™   rM   rš   r¸  rª   r¹  r  r¬  rO   rª  rB   r­  rC   rº  r®  r8   )rQ   rM   r  r¬  rO   rª  r5  r²  r6  r­  r7  r²  r®  r8   )rQ   rM   rN  r6   rF  r»  rG  r­  r   r²  rH  rL   rI  rº  rJ  r¼  r®  ú'AsyncMaterializedView')rQ   rM   rN  r6   rF  r»  rG  r­  r   r²  rH  rL   rI  rº  rJ  r¼  r®  úAsyncJob[None])rQ   rM   r®  rü  )r(  r­  rY  r²  r®  zAsyncListing[str]r¿  )rQ   rM   r  r¬  r®  rý  rÀ  )rQ   rM   r  r¬  r®  r"   rÁ  rÂ  rÃ  )r  r¬  r(  r­  r   r²  r®  r%   rÄ  rÆ  rÇ  rÈ  rÉ  )r  r¬  r(  r­  r   r²  r®  r&   )r[   rM   rñ  r¬  rò  úOptional[QueryParameters]r®  r   )r[   rM   rñ  r¬  rò  rþ  r®  ÚAsyncSqlQuery)rú  zUnion[UUID, str]r®  r+   rÊ  )rË  rÌ  rÍ  rÎ  r  r&  r2  r>  rL  rP  rW  r\  r`  rc  re  rh  rn  rv  rx  r}  rƒ  rŠ  rŽ  r“  rš  rž  rô  r÷  rù  r�   rs   rU   rS   rÐ  rÐ  g  s  „ ñð 6:ðPð :>Ø48Ø%)ØDHØ/3Ø@DØ,0ñPà2ðPð $7ð	Pð
 2ðPð #ðPð /BðPð  -ðPð &>ðPð *óPðh %)Ø#ð
ð
 /3ñ
à!ð
ð ð
ð
 ,ð
ð 
ó
ð>  $Ø9=ØØØ%ØØGKð*
ð /3Ø48Ø.2Ø37ñ*
àð*
ð ð*
ð 7ð	*
ð
 ð*
ð ð*
ð ð*
ð ð*
ð Eð*
ð ,ð*
ð 2ð*
ð ,ð*
ð #1ð*
ð 
ó*
ð` /3Ø48Ø*.Ø $Ø!%ñ$
àð$
ð ,ð	$
ð
 2ð$
ð (ð$
ð ð$
ð ð$
ð 
ó$
ðV #Ø#Ø#Ø"Ø/3Ø9=ñGàðGð 'ðGð
 ðGð ðGð ðGð ðGð -ðGð (7ðGð 
!óGð@ #Ø#Ø#Ø"Ø/3Ø9=ñ
àð
ð 'ð
ð
 ð
ð ð
ð ð
ð ð
ð -ð
ð (7ð
ð 
ó
ó0ð .2Ètñ
Ø*ð
Ø?Lð
à	ó
ð  @DðVØðVØ)<ðVà	óVð @Dð
Øð
Ø)<ð
à	ó
ôJð @DðWØðWØ)<ðWà	óWð 37Ø26ðàðð ðð 0ð	ð
 0óò0
ôIð /3Ø$(Ø#ð	
à+ð
ð "ð
ð ð	
ð
 
ó
ðD #Ø/3ð	
à!ð
ð ð
ð -ð	
ð
 
!ó
ðB #Ø"&ð	!à!ð!ð ð!ð  ð	!ð
 
ó!ðFDØ'ðDà	"óDó$ó*ð0 /3Ø$(Ø#ð	
à+ð
ð "ð
ð ð	
ð
 
ó
ðF 7;Ø04ñ
àð
ð !4ð	
ð
 .ð
ð 
 ó
ð$ 7;Ø04ñ
àð
ð !4ð	
ð
 .ð
ð 
ó
ó":ô&rU   rÐ  ©rü   rO   rý   rþ   c          
     óÒ   — t        | «      r?t        t        | ||�|j                  «       nd|||¬«      «      }t	        d||||| ||¬«      S t        | |«      }t	        |||||| |¬«      S )a1  
    Connect to a LanceDB database through a namespace.

    Parameters
    ----------
    namespace_client_impl : str
        The namespace client implementation to use. For examples:

        - "dir" for DirectoryNamespace
        - "rest" for REST-based namespace
        - Full module path for custom implementations
    namespace_client_properties : Dict[str, str]
        Configuration properties for the namespace client implementation.
        Different namespace implementations have different config properties.
        For example, use DirectoryNamespace with {"root": "/path/to/directory"}
    read_consistency_interval : Optional[timedelta]
        The interval at which to check for updates to the table from other
        processes. If None, then consistency is not checked.
    storage_options : Optional[Dict[str, str]]
        Additional options for the storage backend
    session : Optional[Session]
        A session to use for this connection
    namespace_client_pushdown_operations : Optional[List[str]]
        List of namespace operations to push down to the namespace server.
        Supported values:

        - "QueryTable": Execute queries on the namespace server via
          namespace.query_table() instead of locally.
        - "CreateTable": Execute table creation on the namespace server via
          namespace.create_table() instead of using declare_table + local write.

        Default is None (no pushdown, all operations run locally).

    Returns
    -------
    LanceNamespaceDBConnection
        A namespace-based connection to LanceDB
    Nr   ©r�   rü   rO   rý   rþ   ró   rô   rÿ   ©r�   rü   rO   rý   rþ   ró   rô   )rø   r    Ú_connect_namespacer
  rú   r§  ©ró   rô   rü   rO   rý   rþ   Úinnerr�   s           rS   r   r   ´  s¦   € ô^ "Ð"7Ô8ÜÜØ%Ø+ð 1Ð<ð .×;Ñ;Ô=àà /ØØ5Yôó
ˆô *Ø!Ø&?Ø+ØØ1UØ"7Ø(CØô	
ð 		
ô )ØÐ:óÐô &Ø)Ø";Ø'ØØ-QØ3Ø$?ôð rU   c          
     óÒ   — t        | «      r?t        t        | ||�|j                  «       nd|||¬«      «      }t	        d||||| ||¬«      S t        | |«      }t	        |||||| |¬«      S )aa  
    Connect to a LanceDB database through a namespace (returns async connection).

    This function is synchronous but returns an AsyncLanceNamespaceDBConnection
    that provides async methods for all database operations.

    Parameters
    ----------
    namespace_client_impl : str
        The namespace client implementation to use. For examples:

        - "dir" for DirectoryNamespace
        - "rest" for REST-based namespace
        - Full module path for custom implementations
    namespace_client_properties : Dict[str, str]
        Configuration properties for the namespace client implementation.
        Different namespace implementations have different config properties.
        For example, use DirectoryNamespace with {"root": "/path/to/directory"}
    read_consistency_interval : Optional[timedelta]
        The interval at which to check for updates to the table from other
        processes. If None, then consistency is not checked.
    storage_options : Optional[Dict[str, str]]
        Additional options for the storage backend
    session : Optional[Session]
        A session to use for this connection
    namespace_client_pushdown_operations : Optional[List[str]]
        List of namespace operations to push down to the namespace server.
        Supported values:

        - "QueryTable": Execute queries on the namespace server via
          namespace.query_table() instead of locally.
        - "CreateTable": Execute table creation on the namespace server via
          namespace.create_table() instead of using declare_table + local write.

        Default is None (no pushdown, all operations run locally).

    Returns
    -------
    AsyncLanceNamespaceDBConnection
        An async namespace-based connection to LanceDB

    Examples
    --------
    >>> import lancedb
    >>> # This function is sync, but returns an async connection
    >>> db = lancedb.connect_namespace_async("dir", {"root": "/path/to/db"})
    >>> # Use async methods on the connection
    >>> async def use_db():
    ...     tables = await db.table_names()
    ...     table = await db.create_table("my_table", schema=schema)
    Nr   r  r  )rø   r    r  r
  rÐ  r§  r  s           rS   Úconnect_namespace_asyncr    s¦   € ôx "Ð"7Ô8ÜÜØ%Ø+ð 1Ð<ð .×;Ñ;Ô=àà /ØØ5Yôó
ˆô /Ø!Ø&?Ø+ØØ1UØ"7Ø(CØô	
ð 		
ô )ØÐ:óÐô +Ø)Ø";Ø'ØØ-QØ3Ø$?ôð rU   )rO   rª  rB   r­  rC   rº  r®  rª  )r„   rÅ  r[   ú'Query'r®  r   )r�   r-   r„   rÅ  r[   r	  r®  úpa.RecordBatchReader)Nr´  rµ  )r©   zOptional['DATA']r§   r·  rª   r¹  r™   rM   rš   r¸  r®  Úbytes)r’   r  r®  r
  )rÁ   rM   r®  rM   )rä   zpa.DataTyper®  r   )r§   z	pa.Schemar®  r   )ró   r­  rô   rª  r®  rL   )ró   rM   r®  rL   )ró   rM   rô   úDict[str, str]rü   r©  rO   rª  rý   r«  rþ   r¬  r®  rú   )ró   rM   rô   r  rü   r©  rO   rª  rý   r«  rþ   r¬  r®  rÐ  )prÎ  Ú
__future__r   ÚsysrH   Útypingr   r   r   r   r   r	   Úuuidr
   Úversion_infor   Ú	overridesrt   r   Údatetimer   Úpyarrowry   Ú:lance_namespace_urllib3_client.models.json_arrow_data_typer   Ú6lance_namespace_urllib3_client.models.json_arrow_fieldr   Ú7lance_namespace_urllib3_client.models.json_arrow_schemar   Ú9lance_namespace_urllib3_client.models.query_table_requestr   ÚAlance_namespace_urllib3_client.models.query_table_request_columnsr   ÚIlance_namespace_urllib3_client.models.query_table_request_full_text_queryr   Ú@lance_namespace_urllib3_client.models.query_table_request_vectorr   Ú6lance_namespace_urllib3_client.models.string_fts_queryr   Úlance_namespace.errorsr   r   r   Úlancedb._lancedbr   r  r   r	  Úlancedb.background_loopr   Úlancedb.arrowr   Ú
lancedb.dbr    r!   Úlancedb.jobr"   r#   Úlancedb.listingr$   r%   r&   r'   r(   r)   Úlancedb.sqlr*   rÿ  r+   r,   Úlance_namespacer-   r.   r§  r/   r0   r1   r2   r3   Úlancedb.materialized_viewr4   r5   r6   r7   rœ   r8   r9   r:   Úlancedb.utilr;   Úlancedb.commonr<   Úlancedb.pydanticr=   r›   r>   Ú_lancedbr@   r€   rT   rŒ   r“   r°   r�   rÃ   ræ   rð   rõ   rø   rú   rÐ  r  rs   rU   rS   ú<module>r+     sš  ðñõ #ã 
Û ß =× =Ý à×Ñ�wÒÞå"å å Û å XÝ QÝ SÝ Wõõõõ R÷ñ ÷
õ )Ý 0ß 4ß %÷÷ õ 4ß 9÷÷ ñ ÷ó ÷ 8Ñ 7Ý ,Ý Ý 'Ý 6Ý ð €ðØ-ðà'ðð -ðð ó	ð2K'ØðK'àðK'ð óK'ð\8Ø$ð8àð8ð ð8ð ó	8ð< DHØ!Øð:(Ø
ð:(à2ð:(ð Að:(ð ð	:(ð
 ð:(ð ó:(ózEóSó'-óT9ð,
QØ(ð
Qà!9ð
Qð 
ó
Qó4ôd
& ô d
&÷NJ	&ñ J	&ðb 6:Ø04Ø!%Ø@DñUØðUà!/ðUð  3ð	Uð
 .ðUð ðUð +>ðUð  óUðx 6:Ø04Ø!%Ø@DñbØðbà!/ðbð  3ð	bð
 .ðbð ðbð +>ðbð %ôbrU   