docforge-sdk 0.2.0__tar.gz → 0.3.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {docforge_sdk-0.2.0 → docforge_sdk-0.3.0}/PKG-INFO +1 -1
- {docforge_sdk-0.2.0 → docforge_sdk-0.3.0}/docforge_sdk/_version.py +1 -1
- {docforge_sdk-0.2.0 → docforge_sdk-0.3.0}/docforge_sdk/models/collections.py +30 -0
- {docforge_sdk-0.2.0 → docforge_sdk-0.3.0}/tests/openapi_snapshot.json +1 -1
- {docforge_sdk-0.2.0 → docforge_sdk-0.3.0}/.gitignore +0 -0
- {docforge_sdk-0.2.0 → docforge_sdk-0.3.0}/.python-version +0 -0
- {docforge_sdk-0.2.0 → docforge_sdk-0.3.0}/LICENSE +0 -0
- {docforge_sdk-0.2.0 → docforge_sdk-0.3.0}/README.md +0 -0
- {docforge_sdk-0.2.0 → docforge_sdk-0.3.0}/docforge_sdk/__init__.py +0 -0
- {docforge_sdk-0.2.0 → docforge_sdk-0.3.0}/docforge_sdk/_exceptions.py +0 -0
- {docforge_sdk-0.2.0 → docforge_sdk-0.3.0}/docforge_sdk/_requestspec.py +0 -0
- {docforge_sdk-0.2.0 → docforge_sdk-0.3.0}/docforge_sdk/_transport_async.py +0 -0
- {docforge_sdk-0.2.0 → docforge_sdk-0.3.0}/docforge_sdk/_transport_base.py +0 -0
- {docforge_sdk-0.2.0 → docforge_sdk-0.3.0}/docforge_sdk/_transport_sync.py +0 -0
- {docforge_sdk-0.2.0 → docforge_sdk-0.3.0}/docforge_sdk/client.py +0 -0
- {docforge_sdk-0.2.0 → docforge_sdk-0.3.0}/docforge_sdk/models/__init__.py +0 -0
- {docforge_sdk-0.2.0 → docforge_sdk-0.3.0}/docforge_sdk/models/_shared.py +0 -0
- {docforge_sdk-0.2.0 → docforge_sdk-0.3.0}/docforge_sdk/models/auth.py +0 -0
- {docforge_sdk-0.2.0 → docforge_sdk-0.3.0}/docforge_sdk/models/blobs.py +0 -0
- {docforge_sdk-0.2.0 → docforge_sdk-0.3.0}/docforge_sdk/models/documents.py +0 -0
- {docforge_sdk-0.2.0 → docforge_sdk-0.3.0}/docforge_sdk/models/explorer.py +0 -0
- {docforge_sdk-0.2.0 → docforge_sdk-0.3.0}/docforge_sdk/models/health.py +0 -0
- {docforge_sdk-0.2.0 → docforge_sdk-0.3.0}/docforge_sdk/models/ir.py +0 -0
- {docforge_sdk-0.2.0 → docforge_sdk-0.3.0}/docforge_sdk/models/jobs.py +0 -0
- {docforge_sdk-0.2.0 → docforge_sdk-0.3.0}/docforge_sdk/models/pipelines.py +0 -0
- {docforge_sdk-0.2.0 → docforge_sdk-0.3.0}/docforge_sdk/models/search.py +0 -0
- {docforge_sdk-0.2.0 → docforge_sdk-0.3.0}/docforge_sdk/py.typed +0 -0
- {docforge_sdk-0.2.0 → docforge_sdk-0.3.0}/docforge_sdk/resources/__init__.py +0 -0
- {docforge_sdk-0.2.0 → docforge_sdk-0.3.0}/docforge_sdk/resources/_base.py +0 -0
- {docforge_sdk-0.2.0 → docforge_sdk-0.3.0}/docforge_sdk/resources/auth.py +0 -0
- {docforge_sdk-0.2.0 → docforge_sdk-0.3.0}/docforge_sdk/resources/blobs.py +0 -0
- {docforge_sdk-0.2.0 → docforge_sdk-0.3.0}/docforge_sdk/resources/collections.py +0 -0
- {docforge_sdk-0.2.0 → docforge_sdk-0.3.0}/docforge_sdk/resources/documents.py +0 -0
- {docforge_sdk-0.2.0 → docforge_sdk-0.3.0}/docforge_sdk/resources/explorer.py +0 -0
- {docforge_sdk-0.2.0 → docforge_sdk-0.3.0}/docforge_sdk/resources/health.py +0 -0
- {docforge_sdk-0.2.0 → docforge_sdk-0.3.0}/docforge_sdk/resources/jobs.py +0 -0
- {docforge_sdk-0.2.0 → docforge_sdk-0.3.0}/docforge_sdk/resources/pipelines.py +0 -0
- {docforge_sdk-0.2.0 → docforge_sdk-0.3.0}/docforge_sdk/resources/search.py +0 -0
- {docforge_sdk-0.2.0 → docforge_sdk-0.3.0}/pyproject.toml +0 -0
- {docforge_sdk-0.2.0 → docforge_sdk-0.3.0}/tests/__init__.py +0 -0
- {docforge_sdk-0.2.0 → docforge_sdk-0.3.0}/tests/check_schema_drift.py +0 -0
- {docforge_sdk-0.2.0 → docforge_sdk-0.3.0}/tests/live/__init__.py +0 -0
- {docforge_sdk-0.2.0 → docforge_sdk-0.3.0}/tests/live/test_openapi_parity_live.py +0 -0
- {docforge_sdk-0.2.0 → docforge_sdk-0.3.0}/tests/parity_map.py +0 -0
- {docforge_sdk-0.2.0 → docforge_sdk-0.3.0}/tests/unit/__init__.py +0 -0
- {docforge_sdk-0.2.0 → docforge_sdk-0.3.0}/tests/unit/test_auth.py +0 -0
- {docforge_sdk-0.2.0 → docforge_sdk-0.3.0}/tests/unit/test_blobs.py +0 -0
- {docforge_sdk-0.2.0 → docforge_sdk-0.3.0}/tests/unit/test_collections.py +0 -0
- {docforge_sdk-0.2.0 → docforge_sdk-0.3.0}/tests/unit/test_documents.py +0 -0
- {docforge_sdk-0.2.0 → docforge_sdk-0.3.0}/tests/unit/test_explorer.py +0 -0
- {docforge_sdk-0.2.0 → docforge_sdk-0.3.0}/tests/unit/test_health.py +0 -0
- {docforge_sdk-0.2.0 → docforge_sdk-0.3.0}/tests/unit/test_jobs.py +0 -0
- {docforge_sdk-0.2.0 → docforge_sdk-0.3.0}/tests/unit/test_models_offline_parity.py +0 -0
- {docforge_sdk-0.2.0 → docforge_sdk-0.3.0}/tests/unit/test_pipelines.py +0 -0
- {docforge_sdk-0.2.0 → docforge_sdk-0.3.0}/tests/unit/test_resource_parity.py +0 -0
- {docforge_sdk-0.2.0 → docforge_sdk-0.3.0}/tests/unit/test_search.py +0 -0
- {docforge_sdk-0.2.0 → docforge_sdk-0.3.0}/tests/unit/test_transport.py +0 -0
- {docforge_sdk-0.2.0 → docforge_sdk-0.3.0}/uv.lock +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: docforge-sdk
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.3.0
|
|
4
4
|
Summary: Typed async + sync Python client for the DocForge REST API (standalone, zero server deps).
|
|
5
5
|
Project-URL: Homepage, https://github.com/Florian-BARRE/docforge
|
|
6
6
|
Project-URL: Repository, https://github.com/Florian-BARRE/docforge
|
|
@@ -56,6 +56,8 @@ class CollectionModel(BaseModel):
|
|
|
56
56
|
name (str): Unique human name.
|
|
57
57
|
supported_formats (list[str]): Accepted upload extensions (e.g. pdf).
|
|
58
58
|
max_file_size_bytes (int): Upload size ceiling, bytes.
|
|
59
|
+
job_timeout_seconds (float | None): Per-collection whole-ingest-job wall-clock budget,
|
|
60
|
+
seconds. None = inherit the worker's global WORKER_JOB_TIMEOUT_SECONDS default.
|
|
59
61
|
needs_reindex (bool): True when a config change requires reindexing.
|
|
60
62
|
created_at (datetime | None): Creation timestamp.
|
|
61
63
|
pipeline (dict[str, Any]): The ingestion pipeline blob (the graph).
|
|
@@ -67,6 +69,14 @@ class CollectionModel(BaseModel):
|
|
|
67
69
|
name: str = Field(description="Unique human name.")
|
|
68
70
|
supported_formats: list[str] = Field(description="Accepted upload extensions (e.g. pdf).")
|
|
69
71
|
max_file_size_bytes: int = Field(description="Upload size ceiling, bytes.")
|
|
72
|
+
job_timeout_seconds: float | None = Field(
|
|
73
|
+
default=None,
|
|
74
|
+
gt=0,
|
|
75
|
+
description=(
|
|
76
|
+
"Per-collection whole-ingest-job wall-clock budget, seconds. None = inherit the "
|
|
77
|
+
"worker's global WORKER_JOB_TIMEOUT_SECONDS default."
|
|
78
|
+
),
|
|
79
|
+
)
|
|
70
80
|
needs_reindex: bool = Field(description="True when a config change requires reindexing.")
|
|
71
81
|
created_at: datetime | None = Field(default=None, description="Creation timestamp.")
|
|
72
82
|
pipeline: dict[str, Any] = Field(description="The ingestion pipeline blob (the graph).")
|
|
@@ -84,6 +94,8 @@ class CreateCollectionRequest(BaseModel):
|
|
|
84
94
|
name (str): Unique human name.
|
|
85
95
|
supported_formats (list[str]): Accepted upload extensions (e.g. pdf).
|
|
86
96
|
max_file_size_bytes (int): Upload size ceiling, bytes.
|
|
97
|
+
job_timeout_seconds (float | None): Per-collection whole-ingest-job wall-clock budget,
|
|
98
|
+
seconds. None = inherit the worker's global WORKER_JOB_TIMEOUT_SECONDS default.
|
|
87
99
|
fields (list[FieldSpec]): The FULL schema, declared up front (vector space is fixed).
|
|
88
100
|
pipeline (dict[str, Any] | None): The pipeline blob; omitted → the product default.
|
|
89
101
|
"""
|
|
@@ -91,6 +103,14 @@ class CreateCollectionRequest(BaseModel):
|
|
|
91
103
|
name: str = Field(description="Unique human name.")
|
|
92
104
|
supported_formats: list[str] = Field(description="Accepted upload extensions (e.g. pdf).")
|
|
93
105
|
max_file_size_bytes: int = Field(description="Upload size ceiling, bytes.")
|
|
106
|
+
job_timeout_seconds: float | None = Field(
|
|
107
|
+
default=None,
|
|
108
|
+
gt=0,
|
|
109
|
+
description=(
|
|
110
|
+
"Per-collection whole-ingest-job wall-clock budget, seconds. None = inherit the "
|
|
111
|
+
"worker's global WORKER_JOB_TIMEOUT_SECONDS default."
|
|
112
|
+
),
|
|
113
|
+
)
|
|
94
114
|
fields: list[FieldSpec] = Field(
|
|
95
115
|
default_factory=list,
|
|
96
116
|
description="The FULL schema, declared up front (vector space is fixed at creation).",
|
|
@@ -114,6 +134,8 @@ class UpdateCollectionRequest(BaseModel):
|
|
|
114
134
|
name (str | None): New unique name.
|
|
115
135
|
supported_formats (list[str] | None): New accepted upload extensions.
|
|
116
136
|
max_file_size_bytes (int | None): New size ceiling, bytes.
|
|
137
|
+
job_timeout_seconds (float | None): New per-collection whole-ingest-job wall-clock
|
|
138
|
+
budget, seconds. Omitted = leave the current value unchanged.
|
|
117
139
|
fields (list[FieldSpec] | None): The TARGET schema (diffed by field name).
|
|
118
140
|
pipeline (dict[str, Any] | None): New pipeline blob (validated before storage).
|
|
119
141
|
search (dict[str, Any] | None): New search graph blob ({} = stock default).
|
|
@@ -125,6 +147,14 @@ class UpdateCollectionRequest(BaseModel):
|
|
|
125
147
|
default=None, description="New accepted upload extensions."
|
|
126
148
|
)
|
|
127
149
|
max_file_size_bytes: int | None = Field(default=None, description="New size ceiling, bytes.")
|
|
150
|
+
job_timeout_seconds: float | None = Field(
|
|
151
|
+
default=None,
|
|
152
|
+
gt=0,
|
|
153
|
+
description=(
|
|
154
|
+
"New per-collection whole-ingest-job wall-clock budget, seconds. Omitted = leave the "
|
|
155
|
+
"current value unchanged; a set value overrides the global WORKER_JOB_TIMEOUT_SECONDS."
|
|
156
|
+
),
|
|
157
|
+
)
|
|
128
158
|
fields: list[FieldSpec] | None = Field(
|
|
129
159
|
default=None,
|
|
130
160
|
description="The TARGET schema (diffed by field name; omitted fields are removed).",
|