+
    –°³j>\  ã                   ó^  € R t ^ RIHtHt ^ RIHt ^ RIt^ RIHt ^ RI	H
t
HtHtHtHt ^RIHt ^RIHtHtHtHt ^RIHt ^R	IHtHt ^R
IHtHt ^RIHtH t  ]PB                  ! ]"4      t#]! RR7      t$]$PK                  R. R3OR7      R4R R ll4       t&R R lt']$PK                  R. R5OR7      R6R R ll4       t(R R lt)R R lt*R R lt+]$PK                  RRR.R7      R7R  R! ll4       t,]$PK                  R". R8OR7      R9R# R$ ll4       t-]$PK                  R%. R:OR7      R;R& R' ll4       t.]$PK                  R(. R<OR7      R7R) R* ll4       t/]$PK                  R+. R=OR7      R9R, R- ll4       t0]$PK                  R.. R>OR7      R?R/ R0 ll4       t1]$PK                  R1. R@OR7      ! ]! R24      4       R# )Az7Contains commands to interact with buckets via the CLI.)ÚIterableÚIterator)Ú	AnnotatedN)Úlogging)ÚBUCKET_PREFIXÚ
BucketFileÚBucketFolderÚFilterMatcherÚ_parse_bucket_uri)ÚREPO_REGIONS)Ú	SearchOptÚTokenOptÚ
get_hf_apiÚtyper_factory)Úmake_cp)Úformat_sizeÚprint_file_listing)ÚArgumentÚOption)ÚOutputFormatÚoutz"Commands to interact with buckets.©ÚhelpÚcreate)ÚnameÚexamplesc                ó$  € V ^8„  d   QhR\         \        \        RR7      3,          R\         \        \	        RRR7      3,          R\         \
        R,          \	        R	R
R7      3,          R\         \        \	        RRR7      3,          R\        RR/# )é   Ú	bucket_idzTBucket ID: bucket_name, namespace/bucket_name, or hf://buckets/namespace/bucket_namer   Úprivateú	--privatezCreate a private bucket.ÚregionNz--regionzdCloud region in which to create the bucket. Can be one of 'us' or 'eu'. Requires Team plan or above.Úexist_okz
--exist-okz3Do not raise an error if the bucket already exists.ÚtokenÚreturn)r   Ústrr   Úboolr   r   r   )Úformats   "Ú\/home/luca/screen-checking/.venv/lib/python3.14/site-packages/huggingface_hub/cli/buckets.pyÚ__annotate__r)   <   s¼   € ÷ 0Rñ 0RÜÜÜØgô	
ð	õð0Rô ÜÜØØ+ô	
ð	õð0Rô Ü�tÕÜØØwô	
ð	õð0Rô* ÜÜØØFô	
ð	õð+0Rô8 ð90Rð: 
ñ;0Ró    c                óœ  € \        VR7      pV P                  \        4      '       dK   \        V 4      pVP                  '       d"   \
        P                  ! RV  R\         R24      hVP                  p TP                  T V'       d   TMRVVR7      p\        P                  ! RVP                  P                  4       VP                  R7       R# )	zCreate a new bucket.©r#   z-Cannot specify a prefix for bucket creation: ú. Use namespace/bucket_name or únamespace/bucket_name.N)r   r!   r"   zBucket created)ÚuriÚurl)r   Ú
startswithr   r
   Úpath_in_repoÚclickÚBadParameterÚidÚcreate_bucketr   Úresultr/   Úto_urir0   )r   r   r!   r"   r#   ÚapiÚparsedÚ
bucket_urls   &&&&&   r(   r   r   1   s¸   € ôT ˜5Ô
!€Cà×ÑœM×*Ò*Ü" 9Ó-ˆØ××ÐÜ×$Ò$Ø?À	¸{ð K1Ü1>°Ð?UðWóð ð —I‘Iˆ	à×"Ñ"Øß"‘¨ØØð	 #ó €Jô ‡J‚JÐ Z§^¡^×%:Ñ%:Ó%<À*Ç.Á.×Qr*   c                ó0   € V ^8„  d   QhR\         R\        /# )r   Úargumentr$   ©r%   r&   )r'   s   "r(   r)   r)   o   s   € ÷ ñ œCð ¤Dñ r*   c                ót   € V P                  \        4      '       d   V \        \        4      R pRV9   # T pRV9   # )zFCheck if argument is a bucket ID (namespace/name) vs just a namespace.NÚ/)r1   r   Úlen)r=   Úpaths   & r(   Ú_is_bucket_idrC   o   sB   € à×Ñœ=×)Ò)ØœœMÓ*Ð,Ð-ˆð �$‰;Ðð ˆØ�$‰;Ðr*   z	list | lsc                ó4  € V ^8„  d   QhR\         \        R,          \        RR7      3,          R\         \        \	        RRRR7      3,          R	\         \        \	        R
RR7      3,          R\         \        \	        RRRR7      3,          R\
        R\        RR/# )r   r=   NzyNamespace (user or org) to list buckets, or bucket ID (namespace/bucket_name(/prefix) or hf://buckets/...) to list files.r   Úhuman_readablez--human-readablez-hz$Show sizes in human readable format.Úas_treez--treez3List files in tree format (only for listing files).Ú	recursiveú--recursiveú-Rz0List files recursively (only for listing files).Úsearchr#   r$   )r   r%   r   r&   r   r   r   )r'   s   "r(   r)   r)   ‡   sÌ   € ÷ >
ñ >
ÜÜˆd�
ÜðWô	
ð	õð>
ô ÜÜØØØ7ô	
ð	õð>
ô$ ÜÜØØFô	
ð	õð%>
ô2 ÜÜØØØCô	
ð	õð3>
ôB ðC>
ôD ðE>
ðF 
ñG>
r*   c           	     ó¾   € V RJ;'       d    \        V 4      pV'       d-   Ve   \        P                  ! R4      h\        V VVVVR7       R# \	        V VVVVVR7       R# )z±List buckets or files in a bucket.

When called with no argument or a namespace, lists buckets.
When called with a bucket ID (namespace/bucket_name), lists files in the bucket.
Nz'Cannot use --search when listing files.)r=   rE   rF   rG   r#   )Ú	namespacerJ   rE   rF   rG   r#   )rC   r3   r4   Ú_list_filesÚ_list_buckets)r=   rE   rF   rG   rJ   r#   Úis_file_modes   &&&&&& r(   Úlist_cmdrP   x   sj   € ðr  4Ð'×CÐC¬M¸(Ó,C€LçØÒÜ×$Ò$Ð%NÓOÐOÜØØ)ØØØ÷	
ô 	ØØØ)ØØØ÷	
r*   c                óŽ   € V ^8„  d   QhR\         R,          R\         R,          R\        R\        R\        R\         R,          RR/# )	r   rL   NrJ   rE   rF   rG   r#   r$   r>   )r'   s   "r(   r)   r)   È   sZ   € ÷  3ñ  3Ü�T�zð 3ä�$�Jð 3ô ð 3ô ð	 3ô
 ð 3ô ��:ð 3ð 
ñ 3r*   c                óN  € V'       d   \         P                  ! R4      hV'       d   \         P                  ! R4      hV e?   V P                  \        4      '       d$   V \	        \        4      R p V P                  R4      p \        VR7      pVP                  WR7       Uu. uF_  pRVP                  RVP                  R	V'       d   \        VP                  V4      MVP                  R
VP                  RVP                  /NKa  	  pp\        P                  ! VR	R/R7       R# u upi )zList buckets in a namespace.z'Cannot use --tree when listing buckets.z,Cannot use --recursive when listing buckets.Nr@   r,   )rL   rJ   r5   r   ÚsizeÚtotal_filesÚ
created_atÚright)Ú
alignments)r3   r4   r1   r   rA   Úrstripr   Úlist_bucketsr5   r   r   rS   rT   rU   r   Útable)	rL   rJ   rE   rF   rG   r#   r9   ÚbucketÚitemss	   &&&&&&   r(   rN   rN   È   s  € ÷ Ü× Ò Ð!JÓKÐKßÜ× Ò Ð!OÓPÐPð Ò ×!5Ñ!5´m×!DÒ!DØœc¤-Ó0Ð2Ð3ˆ	à×$Ñ$ SÓ)ˆ	ä
˜5Ô
!€Cð ×&Ñ&°Ð&ÔJó	ñ KˆFð �&—)‘)Ø�v—~‘~ØÇ”K §¡¨^Ô<ÐTZ×T_ÑT_Ø˜6×-Ñ-Ø˜&×+Ñ+ó	
ñ Kð 
ð 	ô ‡I‚Iˆe ¨Ð 1×2ùò	s   Â%D"Ã?D"c                ó”   € V ^8„  d   QhR\         \        \        ,          ,          R\        R\        \        \        ,          ,          /# )r   r\   Úprefixr$   )r   r   r   r%   r   )r'   s   "r(   r)   r)   ë   s8   € ÷ 	ñ 	œh¤z´LÕ'@ÕAð 	Ì3ð 	ÔS[Ô\fÔiuÕ\uÕSvñ 	r*   c              #  óÈ   "  € VP                  R4      pV  FF  pV'       d8   VP                  V8X  g'   VP                  P                  V R24      '       g   KB  Vx € KH  	  R# 5i)züDrop entries that are not `prefix` itself or below it.

The server matches `prefix` lexically, so listing "logs" also returns "logs.json" or "logs_backup/...".
Filesystem semantics require path components => keep only what's actually under the prefix.
r@   N)rX   rB   r1   )r\   r^   Úitems   && r(   Ú_iter_under_prefixra   ë   sL   é € ð �]‰]˜3Ó€FÛˆß˜Ÿ™ fÔ,°·	±	×0DÑ0DÈÀxÈqÀ\×0RÔ0RØŒJó ùs   ‚AA"Á
A"c                óf   € V ^8„  d   QhR\         R\        R\        R\        R\         R,          RR/# )r   r=   rE   rF   rG   r#   Nr$   r>   )r'   s   "r(   r)   r)   ÷   sP   € ÷ cñ cÜðcäðcô ðcô ð	cô
 ��:ðcð 
ñcr*   c           
     ón  € V'       d:   \         P                  \        P                  8X  d   \        P
                  ! R4      h\        VR7      p\        V 4      p\        \        TP                  VP                  VP                  ;'       g    RVR7      VP                  4      4      p\        WqW#R7       R# )zList files in a bucket.z%Cannot use --tree with --format json.r,   N©r^   rG   )rE   rF   rG   )r   Úmoder   Újsonr3   r4   r   r
   Úlistra   Úlist_bucket_treer5   r2   r   )r=   rE   rF   rG   r#   r9   r:   r\   s   &&&&&   r(   rM   rM   ÷   s•   € ÷ ”3—8‘8œ|×0Ñ0Ô0Ü× Ò Ð!HÓIÐIä
˜5Ô
!€CÜ˜xÓ(€FÜÜØ× Ñ Ø—	‘	Ø×*Ñ*×2Ð2¨dØ#ð !ó ð
 ×Ñó	
ó	€Eô �uÀW×br*   Úinfozhf buckets info user/my-bucketz+hf buckets info hf://buckets/user/my-bucketc                ób   € V ^8„  d   QhR\         \        \        RR7      3,          R\        RR/# )r   r   úFBucket ID: namespace/bucket_name or hf://buckets/namespace/bucket_namer   r#   r$   N©r   r%   r   r   )r'   s   "r(   r)   r)     s@   € ÷ "ñ "ÜÜÜØYô	
ð	õð"ô ð"ð 
ñ"r*   c                óš   € \        VR7      p\        V 4      pVP                  VP                  4      p\        P
                  ! VRR7       R# )zGet info about a bucket.r,   r5   )Úid_keyN)r   r
   Úbucket_infor5   r   Údict)r   r#   r9   r:   r[   s   &&   r(   ri   ri     s8   € ô" ˜5Ô
!€CÜ˜yÓ)€FØ�_‰_˜VŸY™YÓ'€FÜ‡H‚HˆV˜D×!r*   Údeletec                óÜ   € V ^8„  d   QhR\         \        \        RR7      3,          R\         \        \	        RRRR7      3,          R\         \        \	        R	R
R7      3,          R\
        RR/# )r   r   rk   r   Úyesú--yesú-yúSkip confirmation prompt.Ú
missing_okz--missing-okz3Do not raise an error if the bucket does not exist.r#   r$   N©r   r%   r   r&   r   r   )r'   s   "r(   r)   r)   2  s�   € ÷ .6ñ .6ÜÜÜØYô	
ð	õð.6ô 
ÜÜØØØ,ô	
ð	õ
ð.6ô ÜÜØØFô	
ð	õð.6ô, ð-.6ð. 
ñ/.6r*   c                óÆ  € V P                  \        4      '       dL   \        V 4      pVP                  '       d"   \        P
                  ! RV  R\         R24      hVP                  p M(RV 9  d"   \        P
                  ! RV  R\         R24      h\        P                  ! RV  R2VR	7       \        VR
7      pVP                  WR7       \        P                  ! RV R7       R# )zwDelete a bucket.

This deletes the entire bucket and all its contents. Use `hf buckets rm` to remove individual files.
z-Cannot specify a prefix for bucket deletion: r-   r.   r@   úInvalid bucket ID: ú-. Must be in format namespace/bucket_name or z(Are you sure you want to delete bucket 'ú'?©rs   r,   )rw   zBucket deleted)r   N)r1   r   r
   r2   r3   r4   r5   r   Úconfirmr   Údelete_bucketr7   )r   rs   rw   r#   r:   r9   s   &&&&  r(   rq   rq   )  sÞ   € ðJ ×ÑœM×*Ò*Ü" 9Ó-ˆØ××ÐÜ×$Ò$Ø?À	¸{ð K1Ü1>°Ð?UðWóð ð —I‘I‰	Ø	�IÔ	Ü× Ò Ø! ) ð -;Ü;H¸/ÐI_ðaó
ð 	
ô
 ‡K‚KÐ:¸9¸+ÀRÐHÈcÕRä
˜5Ô
!€CØ×Ñ�iÐÔ7Ü‡J‚JÐ¨9×5r*   zremove | rmc                óÖ  € V ^8„  d   QhR\         \        \        RR7      3,          R\         \        \	        RRRR7      3,          R\         \        \	        R	R
RR7      3,          R\         \        \	        RRR7      3,          R\         \
        \        ,          R,          \	        RR7      3,          R\         \
        \        ,          R,          \	        RR7      3,          R\        RR/# )r   r=   z¡Bucket path: namespace/bucket_name/path or hf://buckets/namespace/bucket_name/path. With --recursive, namespace/bucket_name is also accepted to target all files.r   rG   rH   rI   z0Remove files recursively under the given prefix.rs   rt   ru   rv   Údry_runú	--dry-runz8Preview what would be deleted without actually deleting.ÚincludeNzQInclude only files matching pattern (can specify multiple). Requires --recursive.ÚexcludezLExclude files matching pattern (can specify multiple). Requires --recursive.r#   r$   ©r   r%   r   r&   r   rg   r   )r'   s   "r(   r)   r)   m  s*  € ÷ BHñ BHÜÜÜðaô	
ð	õðBHô ÜÜØØØCô	
ð	õðBHô$ 
ÜÜØØØ,ô	
ð	õ
ð%BHô4 ÜÜØØKô	
ð	õð5BHôB ÜŒS�	�DÕÜØdô	
ð	õðCBHôN ÜŒS�	�DÕÜØ_ô	
ð	õðOBHôZ ð[BHð\ 
ñ]BHr*   c                óD  a€ \        V 4      pVP                  oVP                  pVR8X  d&   V'       g   \        P                  ! RS RS R24      hV'       g	   V'       d   V'       g   \        P                  ! R4      h\        VR7      p	V'       EdU   \        P                  ! R4      p
. p\        T	P                  ST;'       g    RR	R
7      V4       FJ  p\        V\        4      '       g   K  VP                  V4       V
P                  R\        V4       R24       KL  	  V
P                  R\        V4       R24       V'       g	   V'       dA   \!        WER7      pV Uu. uF'  qíP#                  VP$                  4      '       g   K%  VNK)  	  ppMTpV Uu. uF  qîP$                  NK  	  pp\'        R V 4       4      p\)        VR	R7      pV'       g   \        P*                  ! R4       R# \        V4       RV 2pV'       gT   V'       gL   \        P*                  ! RP-                  R V 4       4      4       \        P.                  ! RV RS R2RR7       V'       dL   \        P*                  ! RP-                  V3R lV 4       4      4       \        P*                  ! RV R24       R# V	P1                  SVR7       \        P2                  ! RV RS R2S\        V4      VR7       R# TpV'       g   \        P                  ! R 4      hV'       d;   \        P*                  ! R!\4         S R"V 24       \        P*                  ! R#4       R# \        P.                  ! R$V R%S R2VR7       V	P1                  SV.R7       \        P2                  ! R&VSR'7       R# u upi u upi )(zZRemove files from a bucket.

To delete an entire bucket, use `hf buckets delete` instead.
Ú z?No file path specified. To remove files, provide a path (e.g. 'zd/FILE') or use --recursive to remove all files. To delete the entire bucket, use `hf buckets delete z`.z,--include and --exclude require --recursive.r,   zListing files from remoteNTrd   zListing files from remote (z files))Úinclude_patternsÚexclude_patternsc              3   ó8   "  € T F  qP                   x € K  	  R # 5i©N)rS   )Ú.0Úfs   & r(   Ú	<genexpr>Úremove.<locals>.<genexpr>È  s   é € Ð7© AŸž«ùs   ‚)rE   zNo files to remove.z file(s) totaling Ú
c              3   ó,   "  € T F
  pR V 2x € K  	  R# 5i)z  N© )rŒ   rB   s   & r(   rŽ   r�   Ò  s   é € ÐB±z¨t  D 6�{³zùs   ‚zRemove z from 'r|   Fr}   c              3   ó@   <"  € T F  pR \          S RV 2x € K  	  R# 5i)údelete: r@   N)r   )rŒ   rB   r   s   & €r(   rŽ   r�   Ö  s%   øé € ÐcÑXbÐPT ¬-¨¸¸À1ÀTÀFÕKÓXbùs   ƒz
(dry run) z would be removed.)rq   zRemoved Ú')r   Úfiles_deletedrS   zFile path cannot be empty.r”   r@   z"(dry run) 1 file would be removed.zRemove 'z' from 'zFile removed)rB   r   )r
   r5   r2   r3   r4   r   r   Ústatusra   rh   Ú
isinstancer   ÚappendÚupdaterA   Údoner	   ÚmatchesrB   Úsumr   ÚtextÚjoinr~   Úbatch_bucket_filesr7   r   )r=   rG   rs   r�   rƒ   r„   r#   r:   r^   r9   r—   Ú	all_filesr`   Úmatcherr�   Úmatched_filesÚ
file_pathsÚ
total_sizeÚsize_strÚcount_labelÚ	file_pathr   s   &&&&&&&              @r(   Úremover©   c  s  ø€ ôz ˜xÓ(€FØ—	‘	€IØ× Ñ €Fà�„|ŸIÜ× Ò ðØ �kð "DØDMÀ;ÈbðRó
ð 	
÷ 	—7§IÜ× Ò Ð!OÓPÐPä
˜5Ô
!€Cç€yÜ—’Ð7Ó8ˆà&(ˆ	Ü&Ø× Ñ ØØ—~�~ Øð !ó ð
 ö
ˆDô ˜$¤
×+Ô+Ø× Ñ  Ô&Ø—‘Ð ;¼CÀ	»NÐ;KÈ7ÐSÖTñ
ð 	�‰Ð1´#°i³.Ð1AÀÐIÔJç—gÜ#°WÔWˆGÙ(1ÓM©	 1·_±_ÀQÇVÁV×5LŸQ˜Q©	ˆMÐMˆMà%ˆMá&3Ó4¡m —f”f¡mˆ
Ð4ÜÑ7©Ó7Ó7ˆ
Ü˜z¸$Ô?ˆçÜ�HŠHÐ*Ô+Ùä˜Z›Ð)Ð);¸H¸:ÐFˆçŸ7Ü�HŠH�T—Y‘YÑB±zÓBÓBÔCÜ�KŠK˜' + ¨g°i°[ÀÐCÈÕOçÜ�HŠH�T—Y‘YÔcÑXbÓcÓcÔdÜ�HŠH�z + Ð.@ÐAÔBÙà×Ñ˜y°ÐÔ<Ü�
Š
Ø�{�m 7¨9¨+°QÐ7ØÜ˜j›/Ø÷		
ð ˆ	ßÜ×$Ò$Ð%AÓBÐBçÜ�HŠH�x¤˜¨y¨k¸¸9¸+ÐFÔGÜ�HŠHÐ9Ô:Ùä�Š�h˜y˜k¨°)°¸BÐ?ÀSÕIà×Ñ˜y°)°ÐÔ=Ü�
Š
�>¨	¸Y×GùòY Nùò 5s   Å "NÆNÆNÚmovec          	      óœ   € V ^8„  d   QhR\         \        \        RR7      3,          R\         \        \        RR7      3,          R\        RR/# )	r   Úfrom_idzMSource bucket ID: namespace/bucket_name or hf://buckets/namespace/bucket_namer   Úto_idzRDestination bucket ID: namespace/bucket_name or hf://buckets/namespace/bucket_namer#   r$   Nrl   )r'   s   "r(   r)   r)   ú  sh   € ÷ "Kñ "KÜÜÜØ`ô	
ð	õð"Kô ÜÜØeô	
ð	õð"Kô ð"Kð 
ñ"Kr*   c                ó¾  € \        V 4      pVP                  '       d"   \        P                  ! RV  R\         R24      h\        V4      pVP                  '       d"   \        P                  ! RV R\         R24      h\        VR7      pVP                  VP                  VP                  R7       \        P                  ! RVP                  VP                  R7       R# )z2Move (rename) a bucket to a new name or namespace.z)Cannot specify a prefix for bucket move: r-   r.   r,   )r¬   r­   zBucket movedN)
r
   r2   r3   r4   r   r   Úmove_bucketr5   r   r7   )r¬   r­   r#   Úparsed_fromÚ	parsed_tor9   s   &&&   r(   rª   rª   ò  sÉ   € ô2 $ GÓ,€KØ××ÐÜ× Ò Ø7¸°yð A-Ü-:¨OÐ;QðSó
ð 	
ô " %Ó(€IØ××ÐÜ× Ò Ø7¸°wð ?-Ü-:¨OÐ;QðSó
ð 	
ô
 ˜5Ô
!€CØ‡O�O˜KŸN™N°)·,±,€OÔ?Ü‡J‚Jˆ~ {§~¡~¸Y¿\¹\×Jr*   Úsettingsc                óÚ   € V ^8„  d   QhR\         \        \        RR7      3,          R\         \        \	        RRR7      3,          R\         \        \	        RR	R7      3,          R
\
        RR/# )r   r   rk   r   r   r    zMake the bucket private.Úpublicz--publiczMake the bucket public.r#   r$   Nrx   )r'   s   "r(   r)   r)   '  s‘   € ÷ ,Kñ ,KÜÜÜØYô	
ð	õð,Kô ÜÜØØ+ô	
ð	õð,Kô ÜÜØØ*ô	
ð	õð,Kô* ð+,Kð, 
ñ-,Kr*   c                óú  € W8X  d   \         P                  ! R4      hV P                  \        4      '       dL   \	        V 4      pVP
                  '       d"   \         P                  ! RV  R\         R24      hVP                  p M(RV 9  d"   \         P                  ! RV  R\         R24      h\        VR7      pVP                  WR	7       \        P                  ! R
WR7       \        P                  ! RV  R24       R# )z$Update bucket settings (visibility).z-Specify exactly one of --private or --public.z-Cannot specify a prefix for bucket settings: r-   r.   r@   rz   r{   r,   )r   zBucket settings updated)r   r   zRun `hf buckets info z` to view bucket details.N)r3   r4   r1   r   r
   r2   r5   r   Úupdate_bucket_settingsr   r7   Úhint)r   r   r´   r#   r:   r9   s   &&&&  r(   r²   r²     sõ   € ð@ ÔÜ× Ò Ð!PÓQÐQà×ÑœM×*Ò*Ü" 9Ó-ˆØ××ÐÜ×$Ò$Ø?À	¸{ð K1Ü1>°Ð?UðWóð ð —I‘I‰	Ø	�IÔ	Ü× Ò Ø! ) ð -;Ü;H¸/ÐI_ðaó
ð 	
ô
 ˜5Ô
!€CØ×Ñ˜yÐÔ:Ü‡J‚JÐ(°IÕOÜ‡H‚HÐ$ Y KÐ/HÐIÖJr*   Úsyncc          #      óð  € V ^8„  d   QhR\         \        R,          \        RR7      3,          R\         \        R,          \        RR7      3,          R\         \        \	        RR7      3,          R	\         \        \	        R
RR7      3,          R\         \        \	        RRR7      3,          R\         \        R,          \	        RR7      3,          R\         \        R,          \	        RR7      3,          R\         \        \	        RRR7      3,          R\         \
        \        ,          R,          \	        RR7      3,          R\         \
        \        ,          R,          \	        RR7      3,          R\         \        R,          \	        RR7      3,          R\         \        \	        RRR7      3,          R\         \        \	        R R!R7      3,          R"\         \        \	        R#R$R%R7      3,          R&\        R'R/# )(r   ÚsourceNzKSource path: local directory or hf://buckets/namespace/bucket_name(/prefix)r   ÚdestzPDestination path: local directory or hf://buckets/namespace/bucket_name(/prefix)rq   z/Delete destination files not present in source.Úignore_timesz--ignore-timesz;Skip files only based on size, ignoring modification times.Úignore_sizesz--ignore-sizesz<Skip files only based on modification times, ignoring sizes.Úplanz=Save sync plan to JSONL file for review instead of executing.Úapplyz#Apply a previously saved plan file.r�   r‚   z5Print sync plan to stdout as JSONL without executing.rƒ   z6Include files matching pattern (can specify multiple).r„   z6Exclude files matching pattern (can specify multiple).Úfilter_fromz(Read include/exclude patterns from file.Úexistingz
--existingzASkip creating new files on receiver (only update existing files).Úignore_existingz--ignore-existingzCSkip updating files that exist on receiver (only create new files).Úverbosez	--verbosez-vz%Show detailed logging with reasoning.r#   r$   r…   )r'   s   "r(   r)   r)   h  so  € ÷ rPñ rPÜÜˆd�
ÜØ^ô	
ð	õðrPô Üˆd�
ÜØcô	
ð	õðrPô ÜÜØBô	
ð	õðrPô& ÜÜØØNô	
ð	õð'rPô4 ÜÜØØOô	
ð	õð5rPôB Üˆd�
ÜØPô	
ð	õðCrPôN Üˆd�
ÜØ6ô	
ð	õðOrPôZ ÜÜØØHô	
ð	õð[rPôh ÜŒS�	�DÕÜØIô	
ð	õðirPôt ÜŒS�	�DÕÜØIô	
ð	õðurPô@ Üˆd�
ÜØ;ô	
ð	õðArPôL ÜÜØØTô	
ð	õðMrPôZ ÜÜØØVô	
ð	õð[rPôh ÜÜØØØ8ô	
ð	õðirPôx ðyrPðz 
ñ{rPr*   c                ó  € \        VR7      pVP                  V VVVVVVVV	V
VVVV\        P                  ! 4       R7       V'       d:   \        P                  ! 4       '       g   \        P                  ! RV R24       R# R# R# )z0Sync files between local directory and a bucket.r,   )rº   r»   rq   r¼   r½   rÁ   rÂ   rƒ   r„   rÀ   r¾   r¿   r�   rÃ   ÚquietzRun `hf buckets sync --apply z` to execute this plan.N)r   Úsync_bucketr   Úis_quietr·   )rº   r»   rq   r¼   r½   r¾   r¿   r�   rƒ   r„   rÀ   rÁ   rÂ   rÃ   r#   r9   s   &&&&&&&&&&&&&&& r(   r¸   r¸   [  s€   € ôX ˜5Ô
!€CØ‡O�OØØØØ!Ø!ØØ'ØØØØØØØÜ�lŠl‹nð ô ÷" ”C—L’L—N’NÜ�ŠÐ0°°Ð6MÐNÖOñ #�tr*   ÚcpÚbuckets)zhf buckets create my-bucketz hf buckets create user/my-bucketz-hf buckets create hf://buckets/user/my-bucketz*hf buckets create user/my-bucket --privatez+hf buckets create user/my-bucket --exist-okz,hf buckets create user/my-bucket --region us)FNFN)
zhf buckets listzhf buckets list huggingfacez$hf buckets list --search "my-prefix"zhf buckets list user/my-bucketz!hf buckets list user/my-bucket -Rz!hf buckets list user/my-bucket -hz%hf buckets list user/my-bucket --treez(hf buckets list user/my-bucket --tree -hz+hf buckets list hf://buckets/user/my-bucketz%hf buckets list user/my-bucket/sub -R)NFFFNNr‹   )z hf buckets delete user/my-bucketz-hf buckets delete hf://buckets/user/my-bucketz&hf buckets delete user/my-bucket --yesz-hf buckets delete user/my-bucket --missing-ok)FFN)z)hf buckets remove user/my-bucket/file.txtz2hf buckets rm hf://buckets/user/my-bucket/file.txtz.hf buckets rm user/my-bucket/logs/ --recursivez:hf buckets rm user/my-bucket --recursive --include "*.tmp"z8hf buckets rm user/my-bucket/data/ --recursive --dry-run)FFFNNN)z/hf buckets move user/old-bucket user/new-bucketz/hf buckets move user/my-bucket my-org/my-bucketzIhf buckets move hf://buckets/user/old-bucket hf://buckets/user/new-bucket)z,hf buckets settings user/my-bucket --privatez+hf buckets settings user/my-bucket --publicz9hf buckets settings hf://buckets/user/my-bucket --private)z2hf buckets sync ./data hf://buckets/user/my-bucketz2hf buckets sync hf://buckets/user/my-bucket ./dataz;hf buckets sync ./data hf://buckets/user/my-bucket --deletez^hf buckets sync hf://buckets/user/my-bucket ./data --include "*.safetensors" --exclude "*.tmp"zIhf buckets sync ./data hf://buckets/user/my-bucket --plan sync-plan.jsonlz'hf buckets sync --apply sync-plan.jsonlz<hf buckets sync ./data hf://buckets/user/my-bucket --dry-runzChf buckets sync ./data hf://buckets/user/my-bucket --dry-run | jq .)NNFFFNNFNNNFFFN)zEhf buckets cp hf://buckets/username/my-bucket/config.json config.jsonz<hf buckets cp hf://buckets/username/my-bucket/data.csv data/z;hf buckets cp hf://buckets/username/my-bucket/config.json -zQhf buckets cp model.safetensors hf://buckets/username/my-bucket/model.safetensorsz?hf buckets cp config.json hf://buckets/username/my-bucket/logs/z;hf buckets cp - hf://buckets/username/my-bucket/config.jsonzYhf buckets cp hf://buckets/username/my-bucket/data.csv hf://buckets/username/dest-bucket/z_hf buckets cp hf://buckets/username/source-bucket/logs/ hf://buckets/username/dest-bucket/logs/)2Ú__doc__Úcollections.abcr   r   Útypingr   r3   Úhuggingface_hubr   Úhuggingface_hub._bucketsr   r   r   r	   r
   Úhf_apir   Ú
_cli_utilsr   r   r   r   Ú_cpr   Ú_file_listingr   r   Ú
_frameworkr   r   Ú_outputr   r   Ú
get_loggerÚ__name__ÚloggerÚbuckets_cliÚcommandr   rC   rP   rN   ra   rM   ri   rq   r©   rª   r²   r¸   r’   r*   r(   Ú<module>rÚ      s  ðñ >ç .Ý ã å #÷õ õ "÷ó õ ß :ß (ß &ð 
×	Ò	˜HÓ	%€ñ Ð!EÔF€ð ×ÑØ	òð ó 
ö0Ró
ð0Rõfð ×ÑØ	òð ó ö>
óð>
õB 3õF	õcð6 ×ÑØ	à(Ø5ðð ó ö"óð"ð  ×ÑØ	òð ó ö.6óð.6ðb ×ÑØ	òð ó 	öBHó	ðBHðJ ×ÑØ	òð ó ö"Kóð"KðJ ×ÑØ	òð ó ö,Kóð,Kðh ×ÑØ	ò	ð ó örPóðrPðv × Ñ Ø	òð ô ñ 
ˆ)Óör*   