ferrero-opentext/Python-Version/venv/lib/python3.12/site-packages/llama_cloud/client.py

123 lines
7.6 KiB
Python

# This file was auto-generated by Fern from our API Definition.
import typing
import httpx
from .core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
from .environment import LlamaCloudEnvironment
from .resources.admin.client import AdminClient, AsyncAdminClient
from .resources.agent_deployments.client import AgentDeploymentsClient, AsyncAgentDeploymentsClient
from .resources.alpha.client import AlphaClient, AsyncAlphaClient
from .resources.beta.client import AsyncBetaClient, BetaClient
from .resources.classifier.client import AsyncClassifierClient, ClassifierClient
from .resources.data_sinks.client import AsyncDataSinksClient, DataSinksClient
from .resources.data_sources.client import AsyncDataSourcesClient, DataSourcesClient
from .resources.embedding_model_configs.client import AsyncEmbeddingModelConfigsClient, EmbeddingModelConfigsClient
from .resources.evals.client import AsyncEvalsClient, EvalsClient
from .resources.files.client import AsyncFilesClient, FilesClient
from .resources.jobs.client import AsyncJobsClient, JobsClient
from .resources.llama_extract.client import AsyncLlamaExtractClient, LlamaExtractClient
from .resources.organization_users.client import AsyncOrganizationUsersClient, OrganizationUsersClient
from .resources.organizations.client import AsyncOrganizationsClient, OrganizationsClient
from .resources.page_figures.client import AsyncPageFiguresClient, PageFiguresClient
from .resources.page_screenshots.client import AsyncPageScreenshotsClient, PageScreenshotsClient
from .resources.parsing.client import AsyncParsingClient, ParsingClient
from .resources.pipeline_data_sources.client import AsyncPipelineDataSourcesClient, PipelineDataSourcesClient
from .resources.pipeline_files.client import AsyncPipelineFilesClient, PipelineFilesClient
from .resources.pipelines.client import AsyncPipelinesClient, PipelinesClient
from .resources.projects.client import AsyncProjectsClient, ProjectsClient
from .resources.retrievers.client import AsyncRetrieversClient, RetrieversClient
from .resources.testing.client import AsyncTestingClient, TestingClient
from .resources.users.client import AsyncUsersClient, UsersClient
class LlamaCloud:
def __init__(
self,
*,
base_url: typing.Optional[str] = None,
environment: LlamaCloudEnvironment = LlamaCloudEnvironment.DEFAULT,
token: typing.Optional[typing.Union[str, typing.Callable[[], str]]] = None,
timeout: typing.Optional[float] = 60,
httpx_client: typing.Optional[httpx.Client] = None
):
self._client_wrapper = SyncClientWrapper(
base_url=_get_base_url(base_url=base_url, environment=environment),
token=token,
httpx_client=httpx.Client(timeout=timeout) if httpx_client is None else httpx_client,
)
self.admin = AdminClient(client_wrapper=self._client_wrapper)
self.beta = BetaClient(client_wrapper=self._client_wrapper)
self.classifier = ClassifierClient(client_wrapper=self._client_wrapper)
self.data_sinks = DataSinksClient(client_wrapper=self._client_wrapper)
self.data_sources = DataSourcesClient(client_wrapper=self._client_wrapper)
self.embedding_model_configs = EmbeddingModelConfigsClient(client_wrapper=self._client_wrapper)
self.evals = EvalsClient(client_wrapper=self._client_wrapper)
self.llama_extract = LlamaExtractClient(client_wrapper=self._client_wrapper)
self.files = FilesClient(client_wrapper=self._client_wrapper)
self.page_figures = PageFiguresClient(client_wrapper=self._client_wrapper)
self.page_screenshots = PageScreenshotsClient(client_wrapper=self._client_wrapper)
self.jobs = JobsClient(client_wrapper=self._client_wrapper)
self.organizations = OrganizationsClient(client_wrapper=self._client_wrapper)
self.organization_users = OrganizationUsersClient(client_wrapper=self._client_wrapper)
self.parsing = ParsingClient(client_wrapper=self._client_wrapper)
self.pipelines = PipelinesClient(client_wrapper=self._client_wrapper)
self.pipeline_data_sources = PipelineDataSourcesClient(client_wrapper=self._client_wrapper)
self.pipeline_files = PipelineFilesClient(client_wrapper=self._client_wrapper)
self.projects = ProjectsClient(client_wrapper=self._client_wrapper)
self.agent_deployments = AgentDeploymentsClient(client_wrapper=self._client_wrapper)
self.retrievers = RetrieversClient(client_wrapper=self._client_wrapper)
self.testing = TestingClient(client_wrapper=self._client_wrapper)
self.users = UsersClient(client_wrapper=self._client_wrapper)
self.alpha = AlphaClient(client_wrapper=self._client_wrapper)
class AsyncLlamaCloud:
def __init__(
self,
*,
base_url: typing.Optional[str] = None,
environment: LlamaCloudEnvironment = LlamaCloudEnvironment.DEFAULT,
token: typing.Optional[typing.Union[str, typing.Callable[[], str]]] = None,
timeout: typing.Optional[float] = 60,
httpx_client: typing.Optional[httpx.AsyncClient] = None
):
self._client_wrapper = AsyncClientWrapper(
base_url=_get_base_url(base_url=base_url, environment=environment),
token=token,
httpx_client=httpx.AsyncClient(timeout=timeout) if httpx_client is None else httpx_client,
)
self.admin = AsyncAdminClient(client_wrapper=self._client_wrapper)
self.beta = AsyncBetaClient(client_wrapper=self._client_wrapper)
self.classifier = AsyncClassifierClient(client_wrapper=self._client_wrapper)
self.data_sinks = AsyncDataSinksClient(client_wrapper=self._client_wrapper)
self.data_sources = AsyncDataSourcesClient(client_wrapper=self._client_wrapper)
self.embedding_model_configs = AsyncEmbeddingModelConfigsClient(client_wrapper=self._client_wrapper)
self.evals = AsyncEvalsClient(client_wrapper=self._client_wrapper)
self.llama_extract = AsyncLlamaExtractClient(client_wrapper=self._client_wrapper)
self.files = AsyncFilesClient(client_wrapper=self._client_wrapper)
self.page_figures = AsyncPageFiguresClient(client_wrapper=self._client_wrapper)
self.page_screenshots = AsyncPageScreenshotsClient(client_wrapper=self._client_wrapper)
self.jobs = AsyncJobsClient(client_wrapper=self._client_wrapper)
self.organizations = AsyncOrganizationsClient(client_wrapper=self._client_wrapper)
self.organization_users = AsyncOrganizationUsersClient(client_wrapper=self._client_wrapper)
self.parsing = AsyncParsingClient(client_wrapper=self._client_wrapper)
self.pipelines = AsyncPipelinesClient(client_wrapper=self._client_wrapper)
self.pipeline_data_sources = AsyncPipelineDataSourcesClient(client_wrapper=self._client_wrapper)
self.pipeline_files = AsyncPipelineFilesClient(client_wrapper=self._client_wrapper)
self.projects = AsyncProjectsClient(client_wrapper=self._client_wrapper)
self.agent_deployments = AsyncAgentDeploymentsClient(client_wrapper=self._client_wrapper)
self.retrievers = AsyncRetrieversClient(client_wrapper=self._client_wrapper)
self.testing = AsyncTestingClient(client_wrapper=self._client_wrapper)
self.users = AsyncUsersClient(client_wrapper=self._client_wrapper)
self.alpha = AsyncAlphaClient(client_wrapper=self._client_wrapper)
def _get_base_url(*, base_url: typing.Optional[str] = None, environment: LlamaCloudEnvironment) -> str:
if base_url is not None:
return base_url
elif environment is not None:
return environment.value
else:
raise Exception("Please pass in either base_url or environment to construct the client")