Skip to content

Commit 5127544

Browse files
authored
Merge pull request #6 from airbytehq/speakeasy-sdk-regen-1682374952
chore: speakeasy sdk regeneration - Generate
2 parents 17ab875 + 3f5952e commit 5127544

20 files changed

+144
-83
lines changed

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ The Developer Portal UI can also be used to help build your integration by showi
2121
## SDK Installation
2222

2323
```bash
24-
pip install airbyte
24+
pip install airbyte-api
2525
```
2626
<!-- End SDK Installation -->
2727

@@ -151,7 +151,7 @@ if res.connection_response is not None:
151151
* `create_source` - Create a source
152152
* `delete_source` - Delete a Source
153153
* `get_source` - Get Source details
154-
* `initiate_o_auth` - Initiate OAuth for a source.
154+
* `initiate_o_auth` - Initiate OAuth for a source
155155
* `list_sources` - List sources
156156

157157
### streams
@@ -160,8 +160,8 @@ if res.connection_response is not None:
160160

161161
### workspaces
162162

163+
* `create_or_update_workspace_o_auth_credentials` - Create OAuth override credentials for a workspace and source type.
163164
* `create_workspace` - Create a workspace
164-
* `delete_workspace` - Delete a Workspace
165165
* `get_workspace` - Get Workspace details
166166
* `list_workspaces` - List workspaces
167167
<!-- End SDK Available Operations -->

RELEASES.md

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,4 +54,12 @@ Based on:
5454
- OpenAPI Doc 1.0.0 https://prod.speakeasyapi.dev/v1/apis/public-api/version/v0.1.0/schema/download
5555
- Speakeasy CLI 1.20.2 (2.18.2) https://github.com/speakeasy-api/speakeasy
5656
### Releases
57-
- [PyPI v0.0.1] https://pypi.org/project/airbyte/0.0.1 - .
57+
- [PyPI v0.0.1] https://pypi.org/project/airbyte/0.0.1 - .
58+
59+
## 2023-04-24 22:22:31
60+
### Changes
61+
Based on:
62+
- OpenAPI Doc 1.0.0 https://prod.speakeasyapi.dev/v1/apis/public-api/version/v0.1.0/schema/download
63+
- Speakeasy CLI 1.22.2 (2.20.1) https://github.com/speakeasy-api/speakeasy
64+
### Releases
65+
- [PyPI v0.1.0] https://pypi.org/project/airbyte-api/0.1.0 - .

files.gen

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,8 @@ src/airbyte/models/operations/getsource.py
3030
src/airbyte/models/operations/initiateoauth.py
3131
src/airbyte/models/operations/listsources.py
3232
src/airbyte/models/operations/getstreamproperties.py
33+
src/airbyte/models/operations/createorupdateworkspaceoauthcredentials.py
3334
src/airbyte/models/operations/createworkspace.py
34-
src/airbyte/models/operations/deleteworkspace.py
3535
src/airbyte/models/operations/getworkspace.py
3636
src/airbyte/models/operations/listworkspaces.py
3737
src/airbyte/models/operations/__init__.py
@@ -284,10 +284,10 @@ src/airbyte/models/shared/source_zenloop.py
284284
src/airbyte/models/shared/source_zoho_crm.py
285285
src/airbyte/models/shared/source_zoom.py
286286
src/airbyte/models/shared/source_zuora.py
287-
src/airbyte/models/shared/initiateoauthresponse.py
288287
src/airbyte/models/shared/initiateoauthrequest.py
289288
src/airbyte/models/shared/sourcesresponse.py
290289
src/airbyte/models/shared/streamproperties.py
290+
src/airbyte/models/shared/workspaceoauthcredentialsrequest.py
291291
src/airbyte/models/shared/workspaceresponse.py
292292
src/airbyte/models/shared/workspacecreaterequest.py
293293
src/airbyte/models/shared/workspacesresponse.py

gen.yaml

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,15 @@
11
configVersion: 1.0.0
22
management:
3-
docChecksum: 9a5d0cf1d2ebcbce14777ece8db4ccc2
3+
docChecksum: b33273ead3e10c4bc4f9bfeed6ad97a4
44
docVersion: 1.0.0
5-
speakeasyVersion: 1.20.2
6-
generationVersion: 2.18.2
5+
speakeasyVersion: 1.22.2
6+
generationVersion: 2.20.1
77
generation:
88
telemetryEnabled: true
99
sdkClassName: airbyte
10-
sdkFlattening: true
1110
singleTagPerOp: false
1211
python:
13-
version: ""
12+
version: 0.1.0
1413
author: Airbyte
1514
description: Python Client SDK for Airbyte API
1615
packageName: airbyte-api

setup.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@
99
long_description = ""
1010

1111
setuptools.setup(
12-
name="airbyte",
13-
version="0.0.1",
12+
name="airbyte-api",
13+
version="0.1.0",
1414
author="Airbyte",
1515
description="Python Client SDK for Airbyte API",
1616
long_description=long_description,

src/airbyte/connections.py

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ def create_connection(self, request: shared.ConnectionCreateRequest) -> operatio
3333
headers['content-type'] = req_content_type
3434
if data is None and form is None:
3535
raise Exception('request body is required')
36+
headers['user-agent'] = f'speakeasy-sdk/{self._language} {self._sdk_version} {self._gen_version}'
3637

3738
client = self._security_client
3839

@@ -56,10 +57,12 @@ def delete_connection(self, request: operations.DeleteConnectionRequest) -> oper
5657

5758
url = utils.generate_url(operations.DeleteConnectionRequest, base_url, '/connections/{connectionId}', request)
5859

60+
headers = {}
61+
headers['user-agent'] = f'speakeasy-sdk/{self._language} {self._sdk_version} {self._gen_version}'
5962

6063
client = self._security_client
6164

62-
http_res = client.request('DELETE', url)
65+
http_res = client.request('DELETE', url, headers=headers)
6366
content_type = http_res.headers.get('Content-Type')
6467

6568
res = operations.DeleteConnectionResponse(status_code=http_res.status_code, content_type=content_type, raw_response=http_res)
@@ -73,10 +76,12 @@ def get_connection(self, request: operations.GetConnectionRequest) -> operations
7376

7477
url = utils.generate_url(operations.GetConnectionRequest, base_url, '/connections/{connectionId}', request)
7578

79+
headers = {}
80+
headers['user-agent'] = f'speakeasy-sdk/{self._language} {self._sdk_version} {self._gen_version}'
7681

7782
client = self._security_client
7883

79-
http_res = client.request('GET', url)
84+
http_res = client.request('GET', url, headers=headers)
8085
content_type = http_res.headers.get('Content-Type')
8186

8287
res = operations.GetConnectionResponse(status_code=http_res.status_code, content_type=content_type, raw_response=http_res)
@@ -96,11 +101,13 @@ def list_connections(self, request: operations.ListConnectionsRequest) -> operat
96101

97102
url = base_url.removesuffix('/') + '/connections'
98103

104+
headers = {}
99105
query_params = utils.get_query_params(operations.ListConnectionsRequest, request)
106+
headers['user-agent'] = f'speakeasy-sdk/{self._language} {self._sdk_version} {self._gen_version}'
100107

101108
client = self._security_client
102109

103-
http_res = client.request('GET', url, params=query_params)
110+
http_res = client.request('GET', url, params=query_params, headers=headers)
104111
content_type = http_res.headers.get('Content-Type')
105112

106113
res = operations.ListConnectionsResponse(status_code=http_res.status_code, content_type=content_type, raw_response=http_res)

src/airbyte/destinations.py

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ def create_destination(self, request: shared.DestinationCreateRequest) -> operat
3333
req_content_type, data, form = utils.serialize_request_body(request, "request", 'json')
3434
if req_content_type not in ('multipart/form-data', 'multipart/mixed'):
3535
headers['content-type'] = req_content_type
36+
headers['user-agent'] = f'speakeasy-sdk/{self._language} {self._sdk_version} {self._gen_version}'
3637

3738
client = self._security_client
3839

@@ -56,10 +57,12 @@ def delete_destination(self, request: operations.DeleteDestinationRequest) -> op
5657

5758
url = utils.generate_url(operations.DeleteDestinationRequest, base_url, '/destinations/{destinationId}', request)
5859

60+
headers = {}
61+
headers['user-agent'] = f'speakeasy-sdk/{self._language} {self._sdk_version} {self._gen_version}'
5962

6063
client = self._security_client
6164

62-
http_res = client.request('DELETE', url)
65+
http_res = client.request('DELETE', url, headers=headers)
6366
content_type = http_res.headers.get('Content-Type')
6467

6568
res = operations.DeleteDestinationResponse(status_code=http_res.status_code, content_type=content_type, raw_response=http_res)
@@ -73,10 +76,12 @@ def get_destination(self, request: operations.GetDestinationRequest) -> operatio
7376

7477
url = utils.generate_url(operations.GetDestinationRequest, base_url, '/destinations/{destinationId}', request)
7578

79+
headers = {}
80+
headers['user-agent'] = f'speakeasy-sdk/{self._language} {self._sdk_version} {self._gen_version}'
7681

7782
client = self._security_client
7883

79-
http_res = client.request('GET', url)
84+
http_res = client.request('GET', url, headers=headers)
8085
content_type = http_res.headers.get('Content-Type')
8186

8287
res = operations.GetDestinationResponse(status_code=http_res.status_code, content_type=content_type, raw_response=http_res)
@@ -96,11 +101,13 @@ def list_destinations(self, request: operations.ListDestinationsRequest) -> oper
96101

97102
url = base_url.removesuffix('/') + '/destinations'
98103

104+
headers = {}
99105
query_params = utils.get_query_params(operations.ListDestinationsRequest, request)
106+
headers['user-agent'] = f'speakeasy-sdk/{self._language} {self._sdk_version} {self._gen_version}'
100107

101108
client = self._security_client
102109

103-
http_res = client.request('GET', url, params=query_params)
110+
http_res = client.request('GET', url, params=query_params, headers=headers)
104111
content_type = http_res.headers.get('Content-Type')
105112

106113
res = operations.ListDestinationsResponse(status_code=http_res.status_code, content_type=content_type, raw_response=http_res)

src/airbyte/jobs.py

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,10 +27,12 @@ def cancel_job(self, request: operations.CancelJobRequest) -> operations.CancelJ
2727

2828
url = utils.generate_url(operations.CancelJobRequest, base_url, '/jobs/{jobId}', request)
2929

30+
headers = {}
31+
headers['user-agent'] = f'speakeasy-sdk/{self._language} {self._sdk_version} {self._gen_version}'
3032

3133
client = self._security_client
3234

33-
http_res = client.request('DELETE', url)
35+
http_res = client.request('DELETE', url, headers=headers)
3436
content_type = http_res.headers.get('Content-Type')
3537

3638
res = operations.CancelJobResponse(status_code=http_res.status_code, content_type=content_type, raw_response=http_res)
@@ -56,6 +58,7 @@ def create_job(self, request: shared.JobCreateRequest) -> operations.CreateJobRe
5658
headers['content-type'] = req_content_type
5759
if data is None and form is None:
5860
raise Exception('request body is required')
61+
headers['user-agent'] = f'speakeasy-sdk/{self._language} {self._sdk_version} {self._gen_version}'
5962

6063
client = self._security_client
6164

@@ -79,10 +82,12 @@ def get_job(self, request: operations.GetJobRequest) -> operations.GetJobRespons
7982

8083
url = utils.generate_url(operations.GetJobRequest, base_url, '/jobs/{jobId}', request)
8184

85+
headers = {}
86+
headers['user-agent'] = f'speakeasy-sdk/{self._language} {self._sdk_version} {self._gen_version}'
8287

8388
client = self._security_client
8489

85-
http_res = client.request('GET', url)
90+
http_res = client.request('GET', url, headers=headers)
8691
content_type = http_res.headers.get('Content-Type')
8792

8893
res = operations.GetJobResponse(status_code=http_res.status_code, content_type=content_type, raw_response=http_res)
@@ -102,11 +107,13 @@ def list_jobs(self, request: operations.ListJobsRequest) -> operations.ListJobsR
102107

103108
url = base_url.removesuffix('/') + '/jobs'
104109

110+
headers = {}
105111
query_params = utils.get_query_params(operations.ListJobsRequest, request)
112+
headers['user-agent'] = f'speakeasy-sdk/{self._language} {self._sdk_version} {self._gen_version}'
106113

107114
client = self._security_client
108115

109-
http_res = client.request('GET', url, params=query_params)
116+
http_res = client.request('GET', url, params=query_params, headers=headers)
110117
content_type = http_res.headers.get('Content-Type')
111118

112119
res = operations.ListJobsResponse(status_code=http_res.status_code, content_type=content_type, raw_response=http_res)

src/airbyte/models/operations/__init__.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,12 @@
44
from .createconnection import *
55
from .createdestination import *
66
from .createjob import *
7+
from .createorupdateworkspaceoauthcredentials import *
78
from .createsource import *
89
from .createworkspace import *
910
from .deleteconnection import *
1011
from .deletedestination import *
1112
from .deletesource import *
12-
from .deleteworkspace import *
1313
from .getconnection import *
1414
from .getdestination import *
1515
from .getjob import *
@@ -23,4 +23,4 @@
2323
from .listsources import *
2424
from .listworkspaces import *
2525

26-
__all__ = ["CancelJobRequest","CancelJobResponse","CreateConnectionResponse","CreateDestinationResponse","CreateJobResponse","CreateSourceResponse","CreateWorkspaceResponse","DeleteConnectionRequest","DeleteConnectionResponse","DeleteDestinationRequest","DeleteDestinationResponse","DeleteSourceRequest","DeleteSourceResponse","DeleteWorkspaceRequest","DeleteWorkspaceResponse","GetConnectionRequest","GetConnectionResponse","GetDestinationRequest","GetDestinationResponse","GetJobRequest","GetJobResponse","GetSourceRequest","GetSourceResponse","GetStreamPropertiesRequest","GetStreamPropertiesResponse","GetWorkspaceRequest","GetWorkspaceResponse","InitiateOAuthResponse","ListConnectionsRequest","ListConnectionsResponse","ListDestinationsRequest","ListDestinationsResponse","ListJobsRequest","ListJobsResponse","ListSourcesRequest","ListSourcesResponse","ListWorkspacesRequest","ListWorkspacesResponse"]
26+
__all__ = ["CancelJobRequest","CancelJobResponse","CreateConnectionResponse","CreateDestinationResponse","CreateJobResponse","CreateOrUpdateWorkspaceOAuthCredentialsRequest","CreateOrUpdateWorkspaceOAuthCredentialsResponse","CreateSourceResponse","CreateWorkspaceResponse","DeleteConnectionRequest","DeleteConnectionResponse","DeleteDestinationRequest","DeleteDestinationResponse","DeleteSourceRequest","DeleteSourceResponse","GetConnectionRequest","GetConnectionResponse","GetDestinationRequest","GetDestinationResponse","GetJobRequest","GetJobResponse","GetSourceRequest","GetSourceResponse","GetStreamPropertiesRequest","GetStreamPropertiesResponse","GetWorkspaceRequest","GetWorkspaceResponse","InitiateOAuthResponse","ListConnectionsRequest","ListConnectionsResponse","ListDestinationsRequest","ListDestinationsResponse","ListJobsRequest","ListJobsResponse","ListSourcesRequest","ListSourcesResponse","ListWorkspacesRequest","ListWorkspacesResponse"]

src/airbyte/models/operations/deleteworkspace.py renamed to src/airbyte/models/operations/createorupdateworkspaceoauthcredentials.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,17 +3,19 @@
33
from __future__ import annotations
44
import dataclasses
55
import requests as requests_http
6+
from ..shared import workspaceoauthcredentialsrequest as shared_workspaceoauthcredentialsrequest
67
from typing import Optional
78

89

910
@dataclasses.dataclass
10-
class DeleteWorkspaceRequest:
11+
class CreateOrUpdateWorkspaceOAuthCredentialsRequest:
1112

1213
workspace_id: str = dataclasses.field(metadata={'path_param': { 'field_name': 'workspaceId', 'style': 'simple', 'explode': False }})
14+
workspace_o_auth_credentials_request: shared_workspaceoauthcredentialsrequest.WorkspaceOAuthCredentialsRequest = dataclasses.field(metadata={'request': { 'media_type': 'application/json' }})
1315

1416

1517
@dataclasses.dataclass
16-
class DeleteWorkspaceResponse:
18+
class CreateOrUpdateWorkspaceOAuthCredentialsResponse:
1719

1820
content_type: str = dataclasses.field()
1921
status_code: int = dataclasses.field()

src/airbyte/models/operations/initiateoauth.py

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
from __future__ import annotations
44
import dataclasses
55
import requests as requests_http
6-
from ..shared import initiateoauthresponse as shared_initiateoauthresponse
76
from typing import Optional
87

98

@@ -12,7 +11,5 @@ class InitiateOAuthResponse:
1211

1312
content_type: str = dataclasses.field()
1413
status_code: int = dataclasses.field()
15-
initiate_oauth_response: Optional[shared_initiateoauthresponse.InitiateOauthResponse] = dataclasses.field(default=None)
16-
r"""The result of creating an OAuth link"""
1714
raw_response: Optional[requests_http.Response] = dataclasses.field(default=None)
1815

src/airbyte/models/shared/__init__.py

Lines changed: 2 additions & 2 deletions
Large diffs are not rendered by default.

src/airbyte/models/shared/initiateoauthrequest.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,12 @@
1212
class InitiateOauthRequest:
1313
r"""POST body for initiating OAuth via the public API"""
1414

15+
name: str = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('name') }})
16+
r"""The name of the source to authenticate to"""
1517
redirect_url: str = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('redirectUrl') }})
1618
r"""The URL to redirect the user to with the OAuth secret stored in the secret_id query string parameter after authentication is complete."""
17-
name: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('name'), 'exclude': lambda f: f is None }})
18-
r"""The name of the source to authenticate to"""
19+
workspace_id: str = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('workspaceId') }})
20+
r"""The workspace to create the secret and eventually the full source."""
1921
o_auth_input_configuration: Optional[dict[str, Any]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('oAuthInputConfiguration'), 'exclude': lambda f: f is None }})
2022
r"""Arbitrary vars to pass for OAuth depending on what the source/destination spec requires."""
21-
workspace_id: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('workspaceId'), 'exclude': lambda f: f is None }})
22-
r"""The workspace to create the secret and eventually the full source."""
2323

src/airbyte/models/shared/initiateoauthresponse.py

Lines changed: 0 additions & 16 deletions
This file was deleted.

src/airbyte/models/shared/source_s3.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,12 @@
22

33
from __future__ import annotations
44
import dataclasses
5+
import dateutil.parser
56
from airbyte import utils
67
from dataclasses_json import Undefined, dataclass_json
8+
from datetime import datetime
79
from enum import Enum
10+
from marshmallow import fields
811
from typing import Any, Optional
912

1013
class SourceS3FormatJsonlFiletypeEnum(str, Enum):
@@ -105,6 +108,8 @@ class SourceS3S3AmazonWebServices:
105108
r"""Endpoint to an S3 compatible service. Leave empty to use AWS."""
106109
path_prefix: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('path_prefix'), 'exclude': lambda f: f is None }})
107110
r"""By providing a path-like prefix (e.g. myFolder/thisTable/) under which all the relevant files sit, we can optimize finding these in S3. This is optional but recommended if your bucket contains many folders/files which you don't need to replicate."""
111+
start_date: Optional[datetime] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('start_date'), 'encoder': utils.datetimeisoformat(True), 'decoder': dateutil.parser.isoparse, 'mm_field': fields.DateTime(format='iso'), 'exclude': lambda f: f is None }})
112+
r"""UTC date and time in the format 2017-01-25T00:00:00Z. Any file modified before this date will not be replicated."""
108113

109114
class SourceS3S3Enum(str, Enum):
110115
S3 = 's3'

0 commit comments

Comments
 (0)