From d5e82cdd2e87970b4bf0ffc5fc20395c1bc49b47 Mon Sep 17 00:00:00 2001 From: speakeasybot Date: Thu, 20 Nov 2025 12:51:18 +0000 Subject: [PATCH] ## Python SDK Changes Detected: * `kombo.hris.create_employee_with_form()`: `request` **Changed** **Breaking** :warning: --- .speakeasy/gen.lock | 14 ++++++++--- .speakeasy/gen.yaml | 2 +- .speakeasy/workflow.lock | 12 ++++----- RELEASES.md | 12 ++++++++- docs/sdks/hris/README.md | 28 ++++++++++----------- pyproject.toml | 2 +- src/kombo/_version.py | 4 +-- src/kombo/hris.py | 54 ++++++++++++++-------------------------- uv.lock | 2 +- 9 files changed, 63 insertions(+), 67 deletions(-) diff --git a/.speakeasy/gen.lock b/.speakeasy/gen.lock index bd62e04..c9fbbcc 100644 --- a/.speakeasy/gen.lock +++ b/.speakeasy/gen.lock @@ -1,12 +1,12 @@ lockVersion: 2.0.0 id: 0c8d1667-2710-4860-aee3-7d221dbc0a60 management: - docChecksum: 56a37c99f064e4b29f56f9d2fea39bdf + docChecksum: 49de8ed28eca4d8ac2ec7aed2f262494 docVersion: 1.0.0 speakeasyVersion: 1.658.2 generationVersion: 2.755.9 - releaseVersion: 0.1.0 - configChecksum: f1e1b7dd433280a325dc2b5ca0eb30d0 + releaseVersion: 0.1.1 + configChecksum: 2e80c06deab7ed2e72210986e08a2bd7 repoURL: https://github.com/kombohq/python-sdk.git installationURL: https://github.com/kombohq/python-sdk.git published: true @@ -1676,6 +1676,8 @@ examples: parameters: header: X-Integration-Id: "workday:HWUTwvyx2wLoSUHphiWVrp28" + requestBody: + application/json: {"properties": {"key": 3571.27}} responses: "200": application/json: {"status": "success", "data": {"id": "26vafvWSRmbhNcxJYqjCzuJg", "remote_id": "12345", "prehire_id": null}, "warnings": [{"message": ""}]} @@ -1685,6 +1687,8 @@ examples: parameters: header: X-Integration-Id: "workday:HWUTwvyx2wLoSUHphiWVrp28" + requestBody: + application/json: {"properties": {"key": 3571.27}} responses: default: application/json: {"status": "error", "error": {"code": "INTEGRATION.MODEL_NOT_AVAILABLE", "title": "This data model isn't supported for the selected integration.", "message": "The \"employees\" model is not yet available for Greenhouse. Please reach out to Kombo if you need this functionality.", "log_url": "https://app.kombo.dev/my-prod/logs?interactionId=123456"}} @@ -1692,6 +1696,8 @@ examples: parameters: header: X-Integration-Id: "workday:HWUTwvyx2wLoSUHphiWVrp28" + requestBody: + application/json: {"properties": {"key": 3571.27}} responses: default: application/json: {"status": "error", "error": {"code": null, "title": null, "message": "The message is always in the response.", "log_url": null}} @@ -3515,4 +3521,4 @@ examples: examplesVersion: 1.0.2 releaseNotes: | ## Python SDK Changes Detected: - * `kombo.hris.create_employee_with_form()`: `response.data` **Changed** + * `kombo.hris.create_employee_with_form()`: `request` **Changed** **Breaking** :warning: diff --git a/.speakeasy/gen.yaml b/.speakeasy/gen.yaml index e8e125e..189dacc 100644 --- a/.speakeasy/gen.yaml +++ b/.speakeasy/gen.yaml @@ -27,7 +27,7 @@ generation: generateNewTests: true skipResponseBodyAssertions: false python: - version: 0.1.0 + version: 0.1.1 additionalDependencies: dev: {} main: {} diff --git a/.speakeasy/workflow.lock b/.speakeasy/workflow.lock index 1428a70..83553ff 100644 --- a/.speakeasy/workflow.lock +++ b/.speakeasy/workflow.lock @@ -2,20 +2,20 @@ speakeasyVersion: 1.658.2 sources: kombo-prepared-spec: sourceNamespace: kombo-api - sourceRevisionDigest: sha256:d752eb1efefffb2f92e25dfb495b299db883f8ddfaab5c436d1b79f00943e9fb - sourceBlobDigest: sha256:1e52a721c810fa891236d93e44c9486c64a88844945fb1449bdcb08b549ce27d + sourceRevisionDigest: sha256:e6893ee988ef930d09257aafa12d2fc912c919be517e8672a1748d80f3205d26 + sourceBlobDigest: sha256:5a23fe49cb300657dfb2707e34add47b21f08cba10934968014378c0c59e444a tags: - latest - - speakeasy-sdk-regen-1763635388 + - speakeasy-sdk-regen-1763642995 - 1.0.0 targets: kombo-python: source: kombo-prepared-spec sourceNamespace: kombo-api - sourceRevisionDigest: sha256:d752eb1efefffb2f92e25dfb495b299db883f8ddfaab5c436d1b79f00943e9fb - sourceBlobDigest: sha256:1e52a721c810fa891236d93e44c9486c64a88844945fb1449bdcb08b549ce27d + sourceRevisionDigest: sha256:e6893ee988ef930d09257aafa12d2fc912c919be517e8672a1748d80f3205d26 + sourceBlobDigest: sha256:5a23fe49cb300657dfb2707e34add47b21f08cba10934968014378c0c59e444a codeSamplesNamespace: kombo-api-python-code-samples - codeSamplesRevisionDigest: sha256:f5573d1e6d38db5b3ecec8d3683a000a450c1b0b7a3fdce1030081da8100c0e6 + codeSamplesRevisionDigest: sha256:a987f67155f3361a904f1a2c8aaaad208f928d1a853d78c36d72db59581fe76c workflow: workflowVersion: 1.0.0 speakeasyVersion: latest diff --git a/RELEASES.md b/RELEASES.md index c56058a..a70c0a6 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -38,4 +38,14 @@ Based on: ### Generated - [python v0.1.0] . ### Releases -- [PyPI v0.1.0] https://pypi.org/project/kombo/0.1.0 - . \ No newline at end of file +- [PyPI v0.1.0] https://pypi.org/project/kombo/0.1.0 - . + +## 2025-11-20 12:49:37 +### Changes +Based on: +- OpenAPI Doc +- Speakeasy CLI 1.658.2 (2.755.9) https://github.com/speakeasy-api/speakeasy +### Generated +- [python v0.1.1] . +### Releases +- [PyPI v0.1.1] https://pypi.org/project/kombo/0.1.1 - . \ No newline at end of file diff --git a/docs/sdks/hris/README.md b/docs/sdks/hris/README.md index 68fdb59..f8639e3 100644 --- a/docs/sdks/hris/README.md +++ b/docs/sdks/hris/README.md @@ -239,17 +239,15 @@ with Kombo( api_key="", ) as k_client: - res = k_client.hris.create_employee_with_form(request={ - "properties": { - "firstName": "John", - "startDate": "2025-01-01T00:00:00Z", - "workLocation": { - "site": "8e422bf8cav", - "keyNumbers": { - "0": 142, - "1": 525, - "2": 63, - }, + res = k_client.hris.create_employee_with_form(properties={ + "firstName": "John", + "startDate": "2025-01-01T00:00:00Z", + "workLocation": { + "site": "8e422bf8cav", + "keyNumbers": { + "0": 142, + "1": 525, + "2": 63, }, }, }) @@ -261,10 +259,10 @@ with Kombo( ### Parameters -| Parameter | Type | Required | Description | -| ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | -| `request` | [models.PostHrisEmployeesFormRequestBody](../../models/posthrisemployeesformrequestbody.md) | :heavy_check_mark: | The request object to use for the request. | -| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | +| `properties` | Dict[str, [models.Schema4](../../models/schema4.md)] | :heavy_check_mark: | N/A | +| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | ### Response diff --git a/pyproject.toml b/pyproject.toml index 1efa56c..fcc940f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "kombo" -version = "0.1.0" +version = "0.1.1" description = "The official Python SDK for the Kombo Unified API" authors = [{ name = "Kombo Technologies GmbH" },] readme = "README-PYPI.md" diff --git a/src/kombo/_version.py b/src/kombo/_version.py index 8a60cde..97596e5 100644 --- a/src/kombo/_version.py +++ b/src/kombo/_version.py @@ -3,10 +3,10 @@ import importlib.metadata __title__: str = "kombo" -__version__: str = "0.1.0" +__version__: str = "0.1.1" __openapi_doc_version__: str = "1.0.0" __gen_version__: str = "2.755.9" -__user_agent__: str = "speakeasy-sdk/python 0.1.0 2.755.9 1.0.0 kombo" +__user_agent__: str = "speakeasy-sdk/python 0.1.1 2.755.9 1.0.0 kombo" try: if __package__ is not None: diff --git a/src/kombo/hris.py b/src/kombo/hris.py index 115b013..e99e421 100644 --- a/src/kombo/hris.py +++ b/src/kombo/hris.py @@ -679,12 +679,9 @@ async def get_employee_form_async( def create_employee_with_form( self, *, - request: Optional[ - Union[ - models.PostHrisEmployeesFormRequestBody, - models.PostHrisEmployeesFormRequestBodyTypedDict, - ] - ] = None, + properties: Union[ + Dict[str, models.Schema4], Dict[str, models.Schema4TypedDict] + ], retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, @@ -717,7 +714,7 @@ def create_employee_with_form( } ``` - :param request: The request object to send. + :param properties: :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method :param timeout_ms: Override the default request timeout configuration for this method in milliseconds @@ -733,11 +730,9 @@ def create_employee_with_form( else: base_url = self._get_url(base_url, url_variables) - if not isinstance(request, BaseModel): - request = utils.unmarshal( - request, Optional[models.PostHrisEmployeesFormRequestBody] - ) - request = cast(Optional[models.PostHrisEmployeesFormRequestBody], request) + request = models.PostHrisEmployeesFormRequestBody( + properties=properties, + ) req = self._build_request( method="POST", @@ -745,7 +740,7 @@ def create_employee_with_form( base_url=base_url, url_variables=url_variables, request=request, - request_body_required=False, + request_body_required=True, request_has_path_params=False, request_has_query_params=True, user_agent_header="user-agent", @@ -756,11 +751,7 @@ def create_employee_with_form( ), security=self.sdk_configuration.security, get_serialized_body=lambda: utils.serialize_request_body( - request, - False, - True, - "json", - Optional[models.PostHrisEmployeesFormRequestBody], + request, False, False, "json", models.PostHrisEmployeesFormRequestBody ), timeout_ms=timeout_ms, ) @@ -800,12 +791,9 @@ def create_employee_with_form( async def create_employee_with_form_async( self, *, - request: Optional[ - Union[ - models.PostHrisEmployeesFormRequestBody, - models.PostHrisEmployeesFormRequestBodyTypedDict, - ] - ] = None, + properties: Union[ + Dict[str, models.Schema4], Dict[str, models.Schema4TypedDict] + ], retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, @@ -838,7 +826,7 @@ async def create_employee_with_form_async( } ``` - :param request: The request object to send. + :param properties: :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method :param timeout_ms: Override the default request timeout configuration for this method in milliseconds @@ -854,11 +842,9 @@ async def create_employee_with_form_async( else: base_url = self._get_url(base_url, url_variables) - if not isinstance(request, BaseModel): - request = utils.unmarshal( - request, Optional[models.PostHrisEmployeesFormRequestBody] - ) - request = cast(Optional[models.PostHrisEmployeesFormRequestBody], request) + request = models.PostHrisEmployeesFormRequestBody( + properties=properties, + ) req = self._build_request_async( method="POST", @@ -866,7 +852,7 @@ async def create_employee_with_form_async( base_url=base_url, url_variables=url_variables, request=request, - request_body_required=False, + request_body_required=True, request_has_path_params=False, request_has_query_params=True, user_agent_header="user-agent", @@ -877,11 +863,7 @@ async def create_employee_with_form_async( ), security=self.sdk_configuration.security, get_serialized_body=lambda: utils.serialize_request_body( - request, - False, - True, - "json", - Optional[models.PostHrisEmployeesFormRequestBody], + request, False, False, "json", models.PostHrisEmployeesFormRequestBody ), timeout_ms=timeout_ms, ) diff --git a/uv.lock b/uv.lock index 027490c..68dd5e7 100644 --- a/uv.lock +++ b/uv.lock @@ -149,7 +149,7 @@ wheels = [ [[package]] name = "kombo" -version = "0.1.0" +version = "0.1.1" source = { editable = "." } dependencies = [ { name = "httpcore" },