
    i<c                     l   S SK r S SKrS SKJr  SSKJr  SSKJrJ	r	  SSK
Jr  SSKJr  SSKJr  SS	KJr  SS
KJr  SSKJr  SSKJr   S SKr\R2                  R5                  S5      (       a  \eS SKJr  \ R<                  " \ R>                  S5      r  " S S5      r! " S S5      r"g! \ a    S SKr N>f = f)    N)JSONDecodeError   )ApiError)AsyncClientWrapperSyncClientWrapper)jsonable_encoder)remove_none_from_dict)UnprocessableEntityError)HttpValidationError)Project)ProjectCreate)UsageAndPlanz1..c            	          \ rS rSrS\4S jrSSS.S\R                  \   S\R                  \   S\R                  \
   4S	 jjrSS
.S\R                  \   S\S\
4S jjrSS
.S\R                  \   S\S\
4S jjrSS
.S\R                  \   S\R                  \   S\
4S jjrSS
.S\R                  \   S\R                  \   S\S\
4S jjrSS
.S\R                  \   S\R                  \   SS4S jjrSSS.S\R                  \   S\R                  \   S\
4S jjrSSS.S\R                  \   S\R                  \   S\R                  \   S\4S jjrSrg)ProjectsClient   client_wrapperc                    Xl         g N_client_wrapperselfr   s     _/home/james-whalen/.local/lib/python3.13/site-packages/llama_cloud/resources/projects/client.py__init__ProjectsClient.__init__       -    Norganization_idproject_namer   r    returnc          	         U R                   R                  R                  S[        R                  R                  U R                   R                  5        S3S5      [        XS.5      U R                   R                  5       SS9nSUR                  s=::  a  S:  a=  O  O:[        R                  " [        R                  [           UR                  5       5      $ UR                  S	:X  a2  [!        [        R                  " ["        UR                  5       5      5      e UR                  5       n['        UR                  US
9e! [$         a    ['        UR                  UR(                  S
9ef = f)a  
List projects or get one by name

Parameters:
    - organization_id: typing.Optional[str].

    - project_name: typing.Optional[str].
---
from llama_cloud.client import LlamaCloud

client = LlamaCloud(
    token="YOUR_TOKEN",
)
client.projects.list_projects()
GET/api/v1/projectsr   <   paramsheaderstimeout   ,    status_codebodyr   httpx_clientrequesturllibparseurljoinget_base_urlr	   get_headersr/   pydanticparse_obj_astypingListr   jsonr
   r   r   r   textr   r   r    	_response_response_jsons        r   list_projectsProjectsClient.list_projects!   s.   $ ((55==LL  D$8$8$E$E$G#H!JL]^(_)kl((446 > 
	 )''-#-((W)=y~~?OPP  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN  	Sy'<'<9>>RR	Ss   D? ?)E(r   r3   c          	         U R                   R                  R                  S[        R                  R                  U R                   R                  5        S3S5      [        SU05      [        U5      U R                   R                  5       SS9nSUR                  s=::  a  S:  a,  O  O)[        R                  " [        UR                  5       5      $ UR                  S	:X  a2  [        [        R                  " [         UR                  5       5      5      e UR                  5       n[%        UR                  US
9e! ["         a    [%        UR                  UR&                  S
9ef = f)aO  
Create a new project.

Parameters:
    - organization_id: typing.Optional[str].

    - request: ProjectCreate.
---
from llama_cloud import ProjectCreate
from llama_cloud.client import LlamaCloud

client = LlamaCloud(
    token="YOUR_TOKEN",
)
client.projects.create_project(
    request=ProjectCreate(
        name="string",
    ),
)
POSTr$   r%   r   r&   r(   r=   r)   r*   r+   r,   r-   r.   r   r2   r3   r4   r5   r6   r7   r	   r   r8   r/   r9   r:   r   r=   r
   r   r   r   r>   r   r   r3   r@   rA   s        r   create_projectProjectsClient.create_projectD   s0   * ((55==LL  D$8$8$E$E$G#H!JL]^(*;_)MN!'*((446 > 
	 )''-#-(()..2BCC  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN  	Sy'<'<9>>RR	S   D8 8)E!c          	         U R                   R                  R                  S[        R                  R                  U R                   R                  5        S3S5      [        SU05      [        U5      U R                   R                  5       SS9nSUR                  s=::  a  S:  a,  O  O)[        R                  " [        UR                  5       5      $ UR                  S	:X  a2  [        [        R                  " [         UR                  5       5      5      e UR                  5       n[%        UR                  US
9e! ["         a    [%        UR                  UR&                  S
9ef = f)a  
Upsert a project.
Updates if a project with the same name already exists. Otherwise, creates a new project.

Parameters:
    - organization_id: typing.Optional[str].

    - request: ProjectCreate.
---
from llama_cloud import ProjectCreate
from llama_cloud.client import LlamaCloud

client = LlamaCloud(
    token="YOUR_TOKEN",
)
client.projects.upsert_project(
    request=ProjectCreate(
        name="string",
    ),
)
PUTr$   r%   r   r&   rG   r+   r,   r-   r.   rH   rI   s        r   upsert_projectProjectsClient.upsert_projectk   s0   , ((55==LL  D$8$8$E$E$G#H!JL]^(*;_)MN!'*((446 > 
	 )''-#-(()..2BCC  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN  	Sy'<'<9>>RR	SrL   
project_idc                   U R                   R                  R                  S[        R                  R                  U R                   R                  5        S3SU 35      [        SU05      U R                   R                  5       SS9nSUR                  s=::  a  S:  a,  O  O)[        R                  " [        UR                  5       5      $ UR                  S	:X  a2  [        [        R                  " [        UR                  5       5      5      e UR                  5       n[#        UR                  US
9e! [          a    [#        UR                  UR$                  S
9ef = f)z
Get a project by ID.

Parameters:
    - project_id: typing.Optional[str].

    - organization_id: typing.Optional[str].
---
from llama_cloud.client import LlamaCloud

client = LlamaCloud(
    token="YOUR_TOKEN",
)
client.projects.get_project()
r#   r$   api/v1/projects/r   r&   r'   r+   r,   r-   r.   r   r2   r3   r4   r5   r6   r7   r	   r8   r/   r9   r:   r   r=   r
   r   r   r   r>   r   rQ   r   r@   rA   s        r   get_projectProjectsClient.get_project   s1     ((55==LL  D$8$8$E$E$G#H!JN^_i^jLkl(*;_)MN((446 > 
	 )''-#-(()..2BCC  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN  	Sy'<'<9>>RR	Ss   D1 1)Enamec          	         U R                   R                  R                  S[        R                  R                  U R                   R                  5        S3SU 35      [        SU05      [        SU05      U R                   R                  5       SS9nSUR                  s=::  a  S	:  a,  O  O)[        R                  " [        UR                  5       5      $ UR                  S
:X  a2  [        [        R                  " [         UR                  5       5      5      e UR                  5       n[%        UR                  US9e! ["         a    [%        UR                  UR&                  S9ef = f)a.  
Update an existing project.

Parameters:
    - project_id: typing.Optional[str].

    - organization_id: typing.Optional[str].

    - name: str.
---
from llama_cloud.client import LlamaCloud

client = LlamaCloud(
    token="YOUR_TOKEN",
)
client.projects.update_existing_project(
    name="string",
)
rN   r$   rS   r   rX   r&   rG   r+   r,   r-   r.   rH   r   rQ   r   rX   r@   rA   s         r   update_existing_project&ProjectsClient.update_existing_project   s=   , ((55==LL  D$8$8$E$E$G#H!JN^_i^jLkl(*;_)MN!64.1((446 > 
	 )''-#-(()..2BCC  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN  	Sy'<'<9>>RR	Ss   D= =)E&c                h   U R                   R                  R                  S[        R                  R                  U R                   R                  5        S3SU 35      [        SU05      U R                   R                  5       SS9nSUR                  s=::  a  S:  a   g	  UR                  S
:X  a2  [        [        R                  " [        UR                  5       5      5      e UR                  5       n[!        UR                  US9e! [         a    [!        UR                  UR"                  S9ef = f)z
Delete a project by ID.

Parameters:
    - project_id: typing.Optional[str].

    - organization_id: typing.Optional[str].
---
from llama_cloud.client import LlamaCloud

client = LlamaCloud(
    token="YOUR_TOKEN",
)
client.projects.delete_project()
DELETEr$   rS   r   r&   r'   r+   r,   Nr-   r.   r   r2   r3   r4   r5   r6   r7   r	   r8   r/   r
   r9   r:   r   r=   r   r   r>   rU   s        r   delete_projectProjectsClient.delete_project   s     ((55==LL  D$8$8$E$E$G#H!JN^_i^jLkl(*;_)MN((446 > 
	 )''-#- .  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN  	Sy'<'<9>>RR	Ss   $D )D1rQ   r   c          	         U R                   R                  R                  S[        R                  R                  U R                   R                  5        S3S5      [        XS.5      U R                   R                  5       SS9nSUR                  s=::  a  S:  a,  O  O)[        R                  " [        UR                  5       5      $ UR                  S	:X  a2  [        [        R                  " [        UR                  5       5      5      e UR                  5       n[#        UR                  US
9e! [          a    [#        UR                  UR$                  S
9ef = f)a  
Get the current project.

Parameters:
    - project_id: typing.Optional[str].

    - organization_id: typing.Optional[str].
---
from llama_cloud.client import LlamaCloud

client = LlamaCloud(
    token="YOUR_TOKEN",
)
client.projects.get_current_project()
r#   r$   api/v1/projects/currentrb   r&   r'   r+   r,   r-   r.   rT   rU   s        r   get_current_project"ProjectsClient.get_current_project   s%   $ ((55==LL  D$8$8$E$E$G#H!JLef(
)gh((446 > 
	 )''-#-(()..2BCC  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN  	Sy'<'<9>>RR	Ss   
D. .)Eget_current_invoice_totalr   rh   c          	         U R                   R                  R                  S[        R                  R                  U R                   R                  5        S3SU S35      [        X#S.5      U R                   R                  5       SS9nSUR                  s=::  a  S	:  a,  O  O)[        R                  " [        UR                  5       5      $ UR                  S
:X  a2  [        [        R                  " [        UR                  5       5      5      e UR                  5       n[#        UR                  US9e! [          a    [#        UR                  UR$                  S9ef = f)a7  
Get usage for a project

Parameters:
    - project_id: typing.Optional[str].

    - get_current_invoice_total: typing.Optional[bool].

    - organization_id: typing.Optional[str].
---
from llama_cloud.client import LlamaCloud

client = LlamaCloud(
    token="YOUR_TOKEN",
)
client.projects.get_project_usage()
r#   r$   rS   /usagerg   r&   r'   r+   r,   r-   r.   r   r2   r3   r4   r5   r6   r7   r	   r8   r/   r9   r:   r   r=   r
   r   r   r   r>   r   rQ   rh   r   r@   rA   s         r   get_project_usage ProjectsClient.get_project_usage   s6   0 ((55==LL  D$8$8$E$E$G#H!JN^_i^jjpLqr(.Gl ((446 > 
	 )''-#-((y~~7GHH  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN  	Sy'<'<9>>RR	Ss   D2 2)Er   )__name__
__module____qualname____firstlineno__r   r   r;   Optionalstrr<   r   rB   r   rJ   rO   rV   r[   r`   re   boolr   rm   __static_attributes__ r   r   r   r      s   .*; . :>dh!O"(//#"6!OMS__]`Ma!O	W	!OF IM %O1E %OWd %Oip %ON IM &O1E &OWd &Oip &OP hl Ofooc&: OPVP_P_`cPd Opw OD \`&O //#.&ODJOOTWDX&Ogj&O	&OP ko O)= OSYSbSbcfSg Osw OD 59bf!O#__S1!OKQ??[^K_!O	!ON <@04)OOOC()O $*??4#8	)O
  -)O 
)O )Or   r   c            	          \ rS rSrS\4S jrSSS.S\R                  \   S\R                  \   S\R                  \
   4S	 jjrSS
.S\R                  \   S\S\
4S jjrSS
.S\R                  \   S\S\
4S jjrSS
.S\R                  \   S\R                  \   S\
4S jjrSS
.S\R                  \   S\R                  \   S\S\
4S jjrSS
.S\R                  \   S\R                  \   SS4S jjrSSS.S\R                  \   S\R                  \   S\
4S jjrSSS.S\R                  \   S\R                  \   S\R                  \   S\4S jjrSrg)AsyncProjectsClientiL  r   c                    Xl         g r   r   r   s     r   r   AsyncProjectsClient.__init__M  r   r   Nr   r   r    r!   c          	        #    U R                   R                  R                  S[        R                  R                  U R                   R                  5        S3S5      [        XS.5      U R                   R                  5       SS9I Sh  vN nSUR                  s=::  a  S	:  a=  O  O:[        R                  " [        R                  [           UR                  5       5      $ UR                  S
:X  a2  [!        [        R                  " ["        UR                  5       5      5      e UR                  5       n['        UR                  US9e N! [$         a    ['        UR                  UR(                  S9ef = f7f)a  
List projects or get one by name

Parameters:
    - organization_id: typing.Optional[str].

    - project_name: typing.Optional[str].
---
from llama_cloud.client import AsyncLlamaCloud

client = AsyncLlamaCloud(
    token="YOUR_TOKEN",
)
await client.projects.list_projects()
r#   r$   r%   r   r&   r'   Nr+   r,   r-   r.   r1   r?   s        r   rB   !AsyncProjectsClient.list_projectsP  s;    $ ..;;CCLL  D$8$8$E$E$G#H!JL]^(_)kl((446 D 
 
	 )''-#-((W)=y~~?OPP  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN
  	Sy'<'<9>>RR	Ss+   BE7	E	
BE7%E 5E7)E44E7rD   r3   c          	        #    U R                   R                  R                  S[        R                  R                  U R                   R                  5        S3S5      [        SU05      [        U5      U R                   R                  5       SS9I Sh  vN nSUR                  s=::  a  S	:  a,  O  O)[        R                  " [        UR                  5       5      $ UR                  S
:X  a2  [        [        R                  " [         UR                  5       5      5      e UR                  5       n[%        UR                  US9e N! ["         a    [%        UR                  UR&                  S9ef = f7f)a_  
Create a new project.

Parameters:
    - organization_id: typing.Optional[str].

    - request: ProjectCreate.
---
from llama_cloud import ProjectCreate
from llama_cloud.client import AsyncLlamaCloud

client = AsyncLlamaCloud(
    token="YOUR_TOKEN",
)
await client.projects.create_project(
    request=ProjectCreate(
        name="string",
    ),
)
rF   r$   r%   r   r&   rG   Nr+   r,   r-   r.   rH   rI   s        r   rJ   "AsyncProjectsClient.create_projects  s=    * ..;;CCLL  D$8$8$E$E$G#H!JL]^(*;_)MN!'*((446 D 
 
	 )''-#-(()..2BCC  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN!
  	Sy'<'<9>>RR	S+   BE0EB	E0E .E0)E--E0c          	        #    U R                   R                  R                  S[        R                  R                  U R                   R                  5        S3S5      [        SU05      [        U5      U R                   R                  5       SS9I Sh  vN nSUR                  s=::  a  S	:  a,  O  O)[        R                  " [        UR                  5       5      $ UR                  S
:X  a2  [        [        R                  " [         UR                  5       5      5      e UR                  5       n[%        UR                  US9e N! ["         a    [%        UR                  UR&                  S9ef = f7f)a  
Upsert a project.
Updates if a project with the same name already exists. Otherwise, creates a new project.

Parameters:
    - organization_id: typing.Optional[str].

    - request: ProjectCreate.
---
from llama_cloud import ProjectCreate
from llama_cloud.client import AsyncLlamaCloud

client = AsyncLlamaCloud(
    token="YOUR_TOKEN",
)
await client.projects.upsert_project(
    request=ProjectCreate(
        name="string",
    ),
)
rN   r$   r%   r   r&   rG   Nr+   r,   r-   r.   rH   rI   s        r   rO   "AsyncProjectsClient.upsert_project  s=    , ..;;CCLL  D$8$8$E$E$G#H!JL]^(*;_)MN!'*((446 D 
 
	 )''-#-(()..2BCC  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN!
  	Sy'<'<9>>RR	Sr   rQ   c                  #    U R                   R                  R                  S[        R                  R                  U R                   R                  5        S3SU 35      [        SU05      U R                   R                  5       SS9I Sh  vN nSUR                  s=::  a  S	:  a,  O  O)[        R                  " [        UR                  5       5      $ UR                  S
:X  a2  [        [        R                  " [        UR                  5       5      5      e UR                  5       n[#        UR                  US9e N! [          a    [#        UR                  UR$                  S9ef = f7f)a  
Get a project by ID.

Parameters:
    - project_id: typing.Optional[str].

    - organization_id: typing.Optional[str].
---
from llama_cloud.client import AsyncLlamaCloud

client = AsyncLlamaCloud(
    token="YOUR_TOKEN",
)
await client.projects.get_project()
r#   r$   rS   r   r&   r'   Nr+   r,   r-   r.   rT   rU   s        r   rV   AsyncProjectsClient.get_project  s>    $ ..;;CCLL  D$8$8$E$E$G#H!JN^_i^jLkl(*;_)MN((446 D 
 
	 )''-#-(()..2BCC  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN
  	Sy'<'<9>>RR	Ss+   B
E)D;B	E)D= 'E)=)E&&E)rX   c          	        #    U R                   R                  R                  S[        R                  R                  U R                   R                  5        S3SU 35      [        SU05      [        SU05      U R                   R                  5       SS9I Sh  vN nS	UR                  s=::  a  S
:  a,  O  O)[        R                  " [        UR                  5       5      $ UR                  S:X  a2  [        [        R                  " [         UR                  5       5      5      e UR                  5       n[%        UR                  US9e N! ["         a    [%        UR                  UR&                  S9ef = f7f)a>  
Update an existing project.

Parameters:
    - project_id: typing.Optional[str].

    - organization_id: typing.Optional[str].

    - name: str.
---
from llama_cloud.client import AsyncLlamaCloud

client = AsyncLlamaCloud(
    token="YOUR_TOKEN",
)
await client.projects.update_existing_project(
    name="string",
)
rN   r$   rS   r   rX   r&   rG   Nr+   r,   r-   r.   rH   rZ   s         r   r[   +AsyncProjectsClient.update_existing_project  sJ    , ..;;CCLL  D$8$8$E$E$G#H!JN^_i^jLkl(*;_)MN!64.1((446 D 
 
	 )''-#-(()..2BCC  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN!
  	Sy'<'<9>>RR	Ss+   BE5EB	E5#E	 3E5	)E22E5c                  #    U R                   R                  R                  S[        R                  R                  U R                   R                  5        S3SU 35      [        SU05      U R                   R                  5       SS9I Sh  vN nSUR                  s=::  a  S	:  a   g  UR                  S
:X  a2  [        [        R                  " [        UR                  5       5      5      e UR                  5       n[!        UR                  US9e N! [         a    [!        UR                  UR"                  S9ef = f7f)a  
Delete a project by ID.

Parameters:
    - project_id: typing.Optional[str].

    - organization_id: typing.Optional[str].
---
from llama_cloud.client import AsyncLlamaCloud

client = AsyncLlamaCloud(
    token="YOUR_TOKEN",
)
await client.projects.delete_project()
r^   r$   rS   r   r&   r'   Nr+   r,   r-   r.   r_   rU   s        r   r`   "AsyncProjectsClient.delete_project  s,    $ ..;;CCLL  D$8$8$E$E$G#H!JN^_i^jLkl(*;_)MN((446 D 
 
	 )''-#- .  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN
  	Sy'<'<9>>RR	Ss+   B
E DA E .D >E )D==E rb   c          	        #    U R                   R                  R                  S[        R                  R                  U R                   R                  5        S3S5      [        XS.5      U R                   R                  5       SS9I Sh  vN nSUR                  s=::  a  S	:  a,  O  O)[        R                  " [        UR                  5       5      $ UR                  S
:X  a2  [        [        R                  " [        UR                  5       5      5      e UR                  5       n[#        UR                  US9e N! [          a    [#        UR                  UR$                  S9ef = f7f)a  
Get the current project.

Parameters:
    - project_id: typing.Optional[str].

    - organization_id: typing.Optional[str].
---
from llama_cloud.client import AsyncLlamaCloud

client = AsyncLlamaCloud(
    token="YOUR_TOKEN",
)
await client.projects.get_current_project()
r#   r$   rd   rb   r&   r'   Nr+   r,   r-   r.   rT   rU   s        r   re   'AsyncProjectsClient.get_current_project0  s2    $ ..;;CCLL  D$8$8$E$E$G#H!JLef(
)gh((446 D 
 
	 )''-#-(()..2BCC  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN
  	Sy'<'<9>>RR	Ss+   BE&	D8
B	E&D: $E&:)E##E&rg   rh   c          	        #    U R                   R                  R                  S[        R                  R                  U R                   R                  5        S3SU S35      [        X#S.5      U R                   R                  5       SS9I Sh  vN nS	UR                  s=::  a  S
:  a,  O  O)[        R                  " [        UR                  5       5      $ UR                  S:X  a2  [        [        R                  " [        UR                  5       5      5      e UR                  5       n[#        UR                  US9e N! [          a    [#        UR                  UR$                  S9ef = f7f)aG  
Get usage for a project

Parameters:
    - project_id: typing.Optional[str].

    - get_current_invoice_total: typing.Optional[bool].

    - organization_id: typing.Optional[str].
---
from llama_cloud.client import AsyncLlamaCloud

client = AsyncLlamaCloud(
    token="YOUR_TOKEN",
)
await client.projects.get_project_usage()
r#   r$   rS   rj   rg   r&   r'   Nr+   r,   r-   r.   rk   rl   s         r   rm   %AsyncProjectsClient.get_project_usageS  sC    0 ..;;CCLL  D$8$8$E$E$G#H!JN^_i^jjpLqr(.Gl ((446 D 
 
	 )''-#-((y~~7GHH  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN#
  	Sy'<'<9>>RR	Ss+   BE*D<B	E*D> (E*>)E''E*r   )ro   rp   rq   rr   r   r   r;   rs   rt   r<   r   rB   r   rJ   rO   rV   r[   r`   re   ru   r   rm   rv   rw   r   r   ry   ry   L  s   .*< . :>dh!O"(//#"6!OMS__]`Ma!O	W	!OF OS %Ovs7K %O]j %Oov %ON OS &Ovs7K &O]j &Oov &OR \`!O //#.!ODJOOTWDX!O	!OH \`&O //#.&ODJOOTWDX&Ogj&O	&OR \`!O //#.!ODJOOTWDX!O	!OH 59bf!O#__S1!OKQ??[^K_!O	!ON <@04)OOOC()O $*??4#8	)O
  -)O 
)O )Or   ry   )#r;   urllib.parser4   json.decoderr   core.api_errorr   core.client_wrapperr   r   core.jsonable_encoderr   core.remove_none_from_dictr	   !errors.unprocessable_entity_errorr
   types.http_validation_errorr   types.projectr   types.project_creater   types.usage_and_planr   r9   __version__
startswithImportErrorpydantic.v1v1castAnyOMITr   ry   rw   r   r   <module>r      s      ( & H 5 ? I > $ 1 0&&t,,"
 {{6::s#lO lO^	pO pOm	  s   ,B& &
B32B3