Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .fern/metadata.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@
"client_class_name": "CloudPDFClient",
"environment_class_name": "CloudPDFEnvironment"
},
"originGitCommit": "81e6a2097d2997ef713a3013668e5eae0e748575",
"originGitCommit": "32635f40577b214f6a6b3189a2271425c3a574fd",
"originGitCommitIsDirty": false,
"invokedBy": "ci",
"requestedVersion": "3.0.0a5",
"requestedVersion": "3.0.0a6",
"ciProvider": "github"
}
8 changes: 4 additions & 4 deletions cloudpdf-generation.json
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
{
"language": "python",
"canonicalVersion": "3.0.0-next.5",
"sdkVersion": "3.0.0a5",
"canonicalVersion": "3.0.0-next.6",
"sdkVersion": "3.0.0a6",
"source": {
"repository": "embedpdf/embed-pdf-viewer",
"openapi": "cloudpdf/contract/openapi.json",
"openapiSha256": "e86b3f1766a77c28cb782a6513b5a86998668cd4e688e5b5ac27342e58637cd7",
"gitCommit": "81e6a2097d2997ef713a3013668e5eae0e748575",
"openapiSha256": "b3e236a932673e27e05825352e1bc3675369d7505040bf7d7760e542aae8d38d",
"gitCommit": "32635f40577b214f6a6b3189a2271425c3a574fd",
"gitCommitIsDirty": false
},
"fern": {
Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ dynamic = ["version"]

[tool.poetry]
name = "cloudpdf"
version = "3.0.0a5"
version = "3.0.0a6"
description = "The official Python SDK for the CloudPDF API."
readme = "README.md"
authors = ["CloudPDF <hello@cloudpdf.com>"]
Expand Down
132 changes: 132 additions & 0 deletions reference.md
Original file line number Diff line number Diff line change
Expand Up @@ -1983,6 +1983,138 @@ client.documents.upload_proxy(
</dl>


</dd>
</dl>
</details>

<details><summary><code>client.documents.<a href="src/cloudpdf/documents/client.py">import_from</a>(...) -> DocumentsImportFrom200Response</code></summary>
<dl>
<dd>

#### 📝 Description

<dl>
<dd>

<dl>
<dd>

Default mode is synchronous and bounded: the response returns only after the transfer verified and committed (or failed). mode=async (connection sources only) answers 202 immediately and an in-process worker performs the transfer with leased, fenced retries; poll the document until ready/failed. The deployment import policy gates scheme, network range, and size; sources must declare a length. CloudPDF copies and owns the bytes — the source is never referenced in place. A 502 marks a retryable upstream failure: retry with the same idempotencyKey to resume the same document. URL sources are capabilities and never echoed back. Connection sources name operator-registered storage (bucket/prefix scope, allowed credential classes, and tenant bindings are deployment configuration); `revision` is provider-interpreted (S3 VersionId, GCS generation, Azure version id).
</dd>
</dl>
</dd>
</dl>

#### 🔌 Usage

<dl>
<dd>

<dl>
<dd>

```python
from cloudpdf import CloudPDFClient
from cloudpdf.documents import DocumentsImportFromRequestSource_Url

client = CloudPDFClient(
token="<token>",
base_url="https://yourhost.com/path/to/api",
)

client.documents.import_from(
tenant_id="tenantId",
source=DocumentsImportFromRequestSource_Url(
url="url",
),
)

```
</dd>
</dl>
</dd>
</dl>

#### ⚙️ Parameters

<dl>
<dd>

<dl>
<dd>

**tenant_id:** `str`

</dd>
</dl>

<dl>
<dd>

**source:** `DocumentsImportFromRequestSource`

</dd>
</dl>

<dl>
<dd>

**expected:** `typing.Optional[DocumentsImportFromRequestExpected]`

</dd>
</dl>

<dl>
<dd>

**metadata:** `typing.Optional[typing.Dict[str, typing.Any]]`

</dd>
</dl>

<dl>
<dd>

**idempotency_key:** `typing.Optional[str]`

</dd>
</dl>

<dl>
<dd>

**dedup_mode:** `typing.Optional[DocumentsImportFromRequestDedupMode]`

</dd>
</dl>

<dl>
<dd>

**doc_id:** `typing.Optional[str]`

</dd>
</dl>

<dl>
<dd>

**mode:** `typing.Optional[DocumentsImportFromRequestMode]`

</dd>
</dl>

<dl>
<dd>

**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.

</dd>
</dl>
</dd>
</dl>


</dd>
</dl>
</details>
Expand Down
75 changes: 75 additions & 0 deletions src/cloudpdf/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -2089,6 +2089,22 @@
DocumentsGet403ResponseError,
DocumentsGet404Response,
DocumentsGet404ResponseError,
DocumentsImportFrom200Response,
DocumentsImportFrom200ResponseDocument,
DocumentsImportFrom200ResponseDocumentState,
DocumentsImportFrom200ResponseDocumentThumbnailState,
DocumentsImportFrom200ResponseTag,
DocumentsImportFrom202Response,
DocumentsImportFrom202ResponseDocument,
DocumentsImportFrom202ResponseDocumentState,
DocumentsImportFrom202ResponseDocumentThumbnailState,
DocumentsImportFrom202ResponseTag,
DocumentsImportFrom400Response,
DocumentsImportFrom400ResponseError,
DocumentsImportFrom403Response,
DocumentsImportFrom403ResponseError,
DocumentsImportFrom502Response,
DocumentsImportFrom502ResponseError,
DocumentsInit200Response,
DocumentsInit200ResponseCreated,
DocumentsInit200ResponseCreatedDocument,
Expand Down Expand Up @@ -2218,6 +2234,7 @@
TokensRevokeResponseError,
)
from .errors import (
BadGatewayError,
BadRequestError,
ConflictError,
ForbiddenError,
Expand All @@ -2229,6 +2246,14 @@
from ._default_clients import DefaultAioHttpClient, DefaultAsyncHttpxClient
from .client import AsyncCloudPDFClient, CloudPDFClient
from .documents import (
DocumentsImportFromRequestDedupMode,
DocumentsImportFromRequestExpected,
DocumentsImportFromRequestMode,
DocumentsImportFromRequestSource,
DocumentsImportFromRequestSourceConnection,
DocumentsImportFromRequestSourceUrl,
DocumentsImportFromRequestSource_Connection,
DocumentsImportFromRequestSource_Url,
DocumentsInitRequestDedupMode,
DocumentsInitRequestUploadPreference,
ListDocumentsRequestState,
Expand All @@ -2238,6 +2263,7 @@
"AdminErrorPayload": ".types",
"AdminErrorPayloadError": ".types",
"AsyncCloudPDFClient": ".client",
"BadGatewayError": ".errors",
"BadRequestError": ".errors",
"CloudPDFClient": ".client",
"ConflictError": ".errors",
Expand Down Expand Up @@ -4323,6 +4349,30 @@
"DocumentsGet403ResponseError": ".types",
"DocumentsGet404Response": ".types",
"DocumentsGet404ResponseError": ".types",
"DocumentsImportFrom200Response": ".types",
"DocumentsImportFrom200ResponseDocument": ".types",
"DocumentsImportFrom200ResponseDocumentState": ".types",
"DocumentsImportFrom200ResponseDocumentThumbnailState": ".types",
"DocumentsImportFrom200ResponseTag": ".types",
"DocumentsImportFrom202Response": ".types",
"DocumentsImportFrom202ResponseDocument": ".types",
"DocumentsImportFrom202ResponseDocumentState": ".types",
"DocumentsImportFrom202ResponseDocumentThumbnailState": ".types",
"DocumentsImportFrom202ResponseTag": ".types",
"DocumentsImportFrom400Response": ".types",
"DocumentsImportFrom400ResponseError": ".types",
"DocumentsImportFrom403Response": ".types",
"DocumentsImportFrom403ResponseError": ".types",
"DocumentsImportFrom502Response": ".types",
"DocumentsImportFrom502ResponseError": ".types",
"DocumentsImportFromRequestDedupMode": ".documents",
"DocumentsImportFromRequestExpected": ".documents",
"DocumentsImportFromRequestMode": ".documents",
"DocumentsImportFromRequestSource": ".documents",
"DocumentsImportFromRequestSourceConnection": ".documents",
"DocumentsImportFromRequestSourceUrl": ".documents",
"DocumentsImportFromRequestSource_Connection": ".documents",
"DocumentsImportFromRequestSource_Url": ".documents",
"DocumentsInit200Response": ".types",
"DocumentsInit200ResponseCreated": ".types",
"DocumentsInit200ResponseCreatedDocument": ".types",
Expand Down Expand Up @@ -4492,6 +4542,7 @@ def __dir__():
"AdminErrorPayload",
"AdminErrorPayloadError",
"AsyncCloudPDFClient",
"BadGatewayError",
"BadRequestError",
"CloudPDFClient",
"ConflictError",
Expand Down Expand Up @@ -6577,6 +6628,30 @@ def __dir__():
"DocumentsGet403ResponseError",
"DocumentsGet404Response",
"DocumentsGet404ResponseError",
"DocumentsImportFrom200Response",
"DocumentsImportFrom200ResponseDocument",
"DocumentsImportFrom200ResponseDocumentState",
"DocumentsImportFrom200ResponseDocumentThumbnailState",
"DocumentsImportFrom200ResponseTag",
"DocumentsImportFrom202Response",
"DocumentsImportFrom202ResponseDocument",
"DocumentsImportFrom202ResponseDocumentState",
"DocumentsImportFrom202ResponseDocumentThumbnailState",
"DocumentsImportFrom202ResponseTag",
"DocumentsImportFrom400Response",
"DocumentsImportFrom400ResponseError",
"DocumentsImportFrom403Response",
"DocumentsImportFrom403ResponseError",
"DocumentsImportFrom502Response",
"DocumentsImportFrom502ResponseError",
"DocumentsImportFromRequestDedupMode",
"DocumentsImportFromRequestExpected",
"DocumentsImportFromRequestMode",
"DocumentsImportFromRequestSource",
"DocumentsImportFromRequestSourceConnection",
"DocumentsImportFromRequestSourceUrl",
"DocumentsImportFromRequestSource_Connection",
"DocumentsImportFromRequestSource_Url",
"DocumentsInit200Response",
"DocumentsInit200ResponseCreated",
"DocumentsInit200ResponseCreatedDocument",
Expand Down
4 changes: 2 additions & 2 deletions src/cloudpdf/core/client_wrapper.py
Original file line number Diff line number Diff line change
Expand Up @@ -33,12 +33,12 @@ def get_headers(self) -> typing.Dict[str, str]:
import platform

headers: typing.Dict[str, str] = {
"User-Agent": "cloudpdf/3.0.0a5",
"User-Agent": "cloudpdf/3.0.0a6",
"X-Fern-Language": "Python",
"X-Fern-Runtime": f"python/{platform.python_version()}",
"X-Fern-Platform": f"{platform.system().lower()}/{platform.release()}",
"X-Fern-SDK-Name": "cloudpdf",
"X-Fern-SDK-Version": "3.0.0a5",
"X-Fern-SDK-Version": "3.0.0a6",
**(self.get_custom_headers() or {}),
}
token = self._get_token()
Expand Down
36 changes: 34 additions & 2 deletions src/cloudpdf/documents/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,28 @@
from importlib import import_module

if typing.TYPE_CHECKING:
from .types import DocumentsInitRequestDedupMode, DocumentsInitRequestUploadPreference, ListDocumentsRequestState
from .types import (
DocumentsImportFromRequestDedupMode,
DocumentsImportFromRequestExpected,
DocumentsImportFromRequestMode,
DocumentsImportFromRequestSource,
DocumentsImportFromRequestSourceConnection,
DocumentsImportFromRequestSourceUrl,
DocumentsImportFromRequestSource_Connection,
DocumentsImportFromRequestSource_Url,
DocumentsInitRequestDedupMode,
DocumentsInitRequestUploadPreference,
ListDocumentsRequestState,
)
_dynamic_imports: typing.Dict[str, str] = {
"DocumentsImportFromRequestDedupMode": ".types",
"DocumentsImportFromRequestExpected": ".types",
"DocumentsImportFromRequestMode": ".types",
"DocumentsImportFromRequestSource": ".types",
"DocumentsImportFromRequestSourceConnection": ".types",
"DocumentsImportFromRequestSourceUrl": ".types",
"DocumentsImportFromRequestSource_Connection": ".types",
"DocumentsImportFromRequestSource_Url": ".types",
"DocumentsInitRequestDedupMode": ".types",
"DocumentsInitRequestUploadPreference": ".types",
"ListDocumentsRequestState": ".types",
Expand Down Expand Up @@ -35,4 +55,16 @@ def __dir__():
return sorted(lazy_attrs)


__all__ = ["DocumentsInitRequestDedupMode", "DocumentsInitRequestUploadPreference", "ListDocumentsRequestState"]
__all__ = [
"DocumentsImportFromRequestDedupMode",
"DocumentsImportFromRequestExpected",
"DocumentsImportFromRequestMode",
"DocumentsImportFromRequestSource",
"DocumentsImportFromRequestSourceConnection",
"DocumentsImportFromRequestSourceUrl",
"DocumentsImportFromRequestSource_Connection",
"DocumentsImportFromRequestSource_Url",
"DocumentsInitRequestDedupMode",
"DocumentsInitRequestUploadPreference",
"ListDocumentsRequestState",
]
Loading
Loading