Skip to content

Commit 737b162

Browse files
authored
Merge pull request #174 from codatio/speakeasy-sdk-regen-1685750550
chore: speakeasy sdk regeneration - Generate Banking SDK
2 parents e59c801 + 83e5d1d commit 737b162

11 files changed

Lines changed: 113 additions & 149 deletions

File tree

banking/RELEASES.md

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -342,4 +342,20 @@ Based on:
342342
- OpenAPI Doc 2.1.0 https://raw.githubusercontent.com/codatio/oas/main/yaml/Codat-Banking.yaml
343343
- Speakeasy CLI 1.40.3 (2.34.7) https://github.com/speakeasy-api/speakeasy
344344
### Releases
345-
- [PyPI v0.16.1] https://pypi.org/project/codat-banking/0.16.1 - banking
345+
- [PyPI v0.16.1] https://pypi.org/project/codat-banking/0.16.1 - banking
346+
347+
## 2023-06-03 00:02:27
348+
### Changes
349+
Based on:
350+
- OpenAPI Doc 2.1.0 https://raw.githubusercontent.com/codatio/oas/main/yaml/Codat-Banking.yaml
351+
- Speakeasy CLI 1.43.0 (2.35.3) https://github.com/speakeasy-api/speakeasy
352+
### Releases
353+
- [PyPI v0.17.0] https://pypi.org/project/codat-banking/0.17.0 - banking
354+
355+
## 2023-06-06 20:44:45
356+
### Changes
357+
Based on:
358+
- OpenAPI Doc 2.1.0 https://raw.githubusercontent.com/codatio/oas/main/yaml/Codat-Banking.yaml
359+
- Speakeasy CLI 1.44.2 (2.35.9) https://github.com/speakeasy-api/speakeasy
360+
### Releases
361+
- [PyPI v0.17.1] https://pypi.org/project/codat-banking/0.17.1 - banking

banking/files.gen

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
src/codatbanking/sdkconfiguration.py
12
src/codatbanking/account_balances.py
23
src/codatbanking/accounts.py
34
src/codatbanking/transaction_categories.py

banking/gen.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,14 @@ configVersion: 1.0.0
22
management:
33
docChecksum: 4af2011556f25cb5ca2388f73942566b
44
docVersion: 2.1.0
5-
speakeasyVersion: 1.40.3
6-
generationVersion: 2.34.7
5+
speakeasyVersion: 1.44.2
6+
generationVersion: 2.35.9
77
generation:
88
sdkClassName: CodatBanking
99
singleTagPerOp: false
1010
telemetryEnabled: true
1111
python:
12-
version: 0.16.1
12+
version: 0.17.1
1313
author: Speakeasy
1414
description: Python Client SDK Generated by Speakeasy
1515
maxMethodParams: 0

banking/setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010

1111
setuptools.setup(
1212
name="codat-banking",
13-
version="0.16.1",
13+
version="0.17.1",
1414
author="Speakeasy",
1515
description="Python Client SDK Generated by Speakeasy",
1616
long_description=long_description,
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
"""Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT."""
22

33
from .sdk import *
4+
from .sdkconfiguration import *

banking/src/codatbanking/account_balances.py

Lines changed: 8 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,41 +1,31 @@
11
"""Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT."""
22

3-
import requests as requests_http
4-
from . import utils
3+
from .sdkconfiguration import SDKConfiguration
4+
from codatbanking import utils
55
from codatbanking.models import operations, shared
66
from typing import Optional
77

88
class AccountBalances:
99
r"""Balances for a bank account including end-of-day batch balance or running balances per transaction."""
10-
_client: requests_http.Session
11-
_security_client: requests_http.Session
12-
_server_url: str
13-
_language: str
14-
_sdk_version: str
15-
_gen_version: str
10+
sdk_configuration: SDKConfiguration
1611

17-
def __init__(self, client: requests_http.Session, security_client: requests_http.Session, server_url: str, language: str, sdk_version: str, gen_version: str) -> None:
18-
self._client = client
19-
self._security_client = security_client
20-
self._server_url = server_url
21-
self._language = language
22-
self._sdk_version = sdk_version
23-
self._gen_version = gen_version
12+
def __init__(self, sdk_config: SDKConfiguration) -> None:
13+
self.sdk_configuration = sdk_config
2414

2515

2616
def list(self, request: operations.ListAccountBalancesRequest, retries: Optional[utils.RetryConfig] = None) -> operations.ListAccountBalancesResponse:
2717
r"""List account balances
2818
Gets a list of balances for a bank account including end-of-day batch balance or running balances per transaction.
2919
"""
30-
base_url = self._server_url
20+
base_url = utils.template_url(*self.sdk_configuration.get_server_details())
3121

3222
url = utils.generate_url(operations.ListAccountBalancesRequest, base_url, '/companies/{companyId}/connections/{connectionId}/data/banking-accountBalances', request)
3323
headers = {}
3424
query_params = utils.get_query_params(operations.ListAccountBalancesRequest, request)
3525
headers['Accept'] = 'application/json;q=1, application/json;q=0.7, application/json;q=0'
36-
headers['user-agent'] = f'speakeasy-sdk/{self._language} {self._sdk_version} {self._gen_version}'
26+
headers['user-agent'] = f'speakeasy-sdk/{self.sdk_configuration.language} {self.sdk_configuration.sdk_version} {self.sdk_configuration.gen_version}'
3727

38-
client = self._security_client
28+
client = self.sdk_configuration.security_client
3929

4030
retry_config = retries
4131
if retry_config is None:

banking/src/codatbanking/accounts.py

Lines changed: 11 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,40 +1,30 @@
11
"""Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT."""
22

3-
import requests as requests_http
4-
from . import utils
3+
from .sdkconfiguration import SDKConfiguration
4+
from codatbanking import utils
55
from codatbanking.models import operations, shared
66
from typing import Optional
77

88
class Accounts:
99
r"""Where payments are made or received, and bank transactions are recorded."""
10-
_client: requests_http.Session
11-
_security_client: requests_http.Session
12-
_server_url: str
13-
_language: str
14-
_sdk_version: str
15-
_gen_version: str
10+
sdk_configuration: SDKConfiguration
1611

17-
def __init__(self, client: requests_http.Session, security_client: requests_http.Session, server_url: str, language: str, sdk_version: str, gen_version: str) -> None:
18-
self._client = client
19-
self._security_client = security_client
20-
self._server_url = server_url
21-
self._language = language
22-
self._sdk_version = sdk_version
23-
self._gen_version = gen_version
12+
def __init__(self, sdk_config: SDKConfiguration) -> None:
13+
self.sdk_configuration = sdk_config
2414

2515

2616
def get(self, request: operations.GetAccountRequest, retries: Optional[utils.RetryConfig] = None) -> operations.GetAccountResponse:
2717
r"""Get account
2818
Gets a specified bank account for a given company
2919
"""
30-
base_url = self._server_url
20+
base_url = utils.template_url(*self.sdk_configuration.get_server_details())
3121

3222
url = utils.generate_url(operations.GetAccountRequest, base_url, '/companies/{companyId}/connections/{connectionId}/data/banking-accounts/{accountId}', request)
3323
headers = {}
3424
headers['Accept'] = 'application/json'
35-
headers['user-agent'] = f'speakeasy-sdk/{self._language} {self._sdk_version} {self._gen_version}'
25+
headers['user-agent'] = f'speakeasy-sdk/{self.sdk_configuration.language} {self.sdk_configuration.sdk_version} {self.sdk_configuration.gen_version}'
3626

37-
client = self._security_client
27+
client = self.sdk_configuration.security_client
3828

3929
retry_config = retries
4030
if retry_config is None:
@@ -66,15 +56,15 @@ def list(self, request: operations.ListAccountsRequest, retries: Optional[utils.
6656
r"""List accounts
6757
Gets a list of all bank accounts of the SMB, with rich data like balances, account numbers and institutions holdingthe accounts.
6858
"""
69-
base_url = self._server_url
59+
base_url = utils.template_url(*self.sdk_configuration.get_server_details())
7060

7161
url = utils.generate_url(operations.ListAccountsRequest, base_url, '/companies/{companyId}/connections/{connectionId}/data/banking-accounts', request)
7262
headers = {}
7363
query_params = utils.get_query_params(operations.ListAccountsRequest, request)
7464
headers['Accept'] = 'application/json;q=1, application/json;q=0.7, application/json;q=0'
75-
headers['user-agent'] = f'speakeasy-sdk/{self._language} {self._sdk_version} {self._gen_version}'
65+
headers['user-agent'] = f'speakeasy-sdk/{self.sdk_configuration.language} {self.sdk_configuration.sdk_version} {self.sdk_configuration.gen_version}'
7666

77-
client = self._security_client
67+
client = self.sdk_configuration.security_client
7868

7969
retry_config = retries
8070
if retry_config is None:

banking/src/codatbanking/sdk.py

Lines changed: 17 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,16 @@
11
"""Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT."""
22

33
import requests as requests_http
4-
from . import utils
54
from .account_balances import AccountBalances
65
from .accounts import Accounts
6+
from .sdkconfiguration import SDKConfiguration
77
from .transaction_categories import TransactionCategories
88
from .transactions import Transactions
9+
from codatbanking import utils
910
from codatbanking.models import shared
1011

11-
SERVERS = [
12-
"https://api.codat.io",
13-
r"""Production"""
14-
]
15-
"""Contains the list of servers available to the SDK"""
16-
1712
class CodatBanking:
18-
r"""Codat's standardized API for accessing banking data.
13+
r"""Banking API: Codat's standardized API for accessing banking data.
1914
Codat's Banking API allows you to access standardised data from over bank accounts via third party providers.
2015
2116
Standardize how you connect to your customers’ bank accounts. Retrieve bank account and bank transaction data in the same way via our partnerships with Plaid and TrueLayer.
@@ -33,15 +28,11 @@ class CodatBanking:
3328
transactions: Transactions
3429
r"""An immutable source of up-to-date information on income and expenditure."""
3530

36-
_client: requests_http.Session
37-
_security_client: requests_http.Session
38-
_server_url: str = SERVERS[0]
39-
_language: str = "python"
40-
_sdk_version: str = "0.16.1"
41-
_gen_version: str = "2.34.7"
31+
sdk_configuration: SDKConfiguration
4232

4333
def __init__(self,
4434
security: shared.Security = None,
35+
server_idx: int = None,
4536
server_url: str = None,
4637
url_params: dict[str, str] = None,
4738
client: requests_http.Session = None
@@ -50,65 +41,31 @@ def __init__(self,
5041
5142
:param security: The security details required for authentication
5243
:type security: shared.Security
44+
:param server_idx: The index of the server to use for all operations
45+
:type server_idx: int
5346
:param server_url: The server URL to use for all operations
5447
:type server_url: str
5548
:param url_params: Parameters to optionally template the server URL with
5649
:type url_params: dict[str, str]
5750
:param client: The requests.Session HTTP client to use for all operations
5851
:type client: requests_http.Session
5952
"""
60-
self._client = requests_http.Session()
53+
if client is None:
54+
client = requests_http.Session()
6155

56+
security_client = utils.configure_security_client(client, security)
6257

6358
if server_url is not None:
6459
if url_params is not None:
65-
self._server_url = utils.template_url(server_url, url_params)
66-
else:
67-
self._server_url = server_url
68-
69-
if client is not None:
70-
self._client = client
71-
72-
self._security_client = utils.configure_security_client(self._client, security)
73-
60+
server_url = utils.template_url(server_url, url_params)
7461

62+
self.sdk_configuration = SDKConfiguration(client, security_client, server_url, server_idx)
63+
7564
self._init_sdks()
7665

7766
def _init_sdks(self):
78-
self.account_balances = AccountBalances(
79-
self._client,
80-
self._security_client,
81-
self._server_url,
82-
self._language,
83-
self._sdk_version,
84-
self._gen_version
85-
)
86-
87-
self.accounts = Accounts(
88-
self._client,
89-
self._security_client,
90-
self._server_url,
91-
self._language,
92-
self._sdk_version,
93-
self._gen_version
94-
)
95-
96-
self.transaction_categories = TransactionCategories(
97-
self._client,
98-
self._security_client,
99-
self._server_url,
100-
self._language,
101-
self._sdk_version,
102-
self._gen_version
103-
)
104-
105-
self.transactions = Transactions(
106-
self._client,
107-
self._security_client,
108-
self._server_url,
109-
self._language,
110-
self._sdk_version,
111-
self._gen_version
112-
)
113-
67+
self.account_balances = AccountBalances(self.sdk_configuration)
68+
self.accounts = Accounts(self.sdk_configuration)
69+
self.transaction_categories = TransactionCategories(self.sdk_configuration)
70+
self.transactions = Transactions(self.sdk_configuration)
11471

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
"""Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT."""
2+
3+
import requests
4+
from dataclasses import dataclass
5+
6+
7+
SERVERS = [
8+
'https://api.codat.io',
9+
# Production
10+
]
11+
"""Contains the list of servers available to the SDK"""
12+
13+
@dataclass
14+
class SDKConfiguration:
15+
client: requests.Session
16+
security_client: requests.Session
17+
server_url: str = ''
18+
server_idx: int = 0
19+
language: str = 'python'
20+
sdk_version: str = '0.17.1'
21+
gen_version: str = '2.35.9'
22+
23+
def get_server_details(self) -> tuple[str, dict[str, str]]:
24+
if self.server_url:
25+
return self.server_url.removesuffix('/'), {}
26+
if self.server_idx is None:
27+
self.server_idx = 0
28+
29+
return SERVERS[self.server_idx], {}

banking/src/codatbanking/transaction_categories.py

Lines changed: 11 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,40 +1,30 @@
11
"""Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT."""
22

3-
import requests as requests_http
4-
from . import utils
3+
from .sdkconfiguration import SDKConfiguration
4+
from codatbanking import utils
55
from codatbanking.models import operations, shared
66
from typing import Optional
77

88
class TransactionCategories:
99
r"""Hierarchical categories associated with a transaction for greater contextual meaning to transaction activity."""
10-
_client: requests_http.Session
11-
_security_client: requests_http.Session
12-
_server_url: str
13-
_language: str
14-
_sdk_version: str
15-
_gen_version: str
10+
sdk_configuration: SDKConfiguration
1611

17-
def __init__(self, client: requests_http.Session, security_client: requests_http.Session, server_url: str, language: str, sdk_version: str, gen_version: str) -> None:
18-
self._client = client
19-
self._security_client = security_client
20-
self._server_url = server_url
21-
self._language = language
22-
self._sdk_version = sdk_version
23-
self._gen_version = gen_version
12+
def __init__(self, sdk_config: SDKConfiguration) -> None:
13+
self.sdk_configuration = sdk_config
2414

2515

2616
def get(self, request: operations.GetTransactionCategoryRequest, retries: Optional[utils.RetryConfig] = None) -> operations.GetTransactionCategoryResponse:
2717
r"""Get transaction category
2818
Gets a specified bank transaction category for a given company
2919
"""
30-
base_url = self._server_url
20+
base_url = utils.template_url(*self.sdk_configuration.get_server_details())
3121

3222
url = utils.generate_url(operations.GetTransactionCategoryRequest, base_url, '/companies/{companyId}/connections/{connectionId}/data/banking-transactionCategories/{transactionCategoryId}', request)
3323
headers = {}
3424
headers['Accept'] = 'application/json'
35-
headers['user-agent'] = f'speakeasy-sdk/{self._language} {self._sdk_version} {self._gen_version}'
25+
headers['user-agent'] = f'speakeasy-sdk/{self.sdk_configuration.language} {self.sdk_configuration.sdk_version} {self.sdk_configuration.gen_version}'
3626

37-
client = self._security_client
27+
client = self.sdk_configuration.security_client
3828

3929
retry_config = retries
4030
if retry_config is None:
@@ -66,15 +56,15 @@ def list(self, request: operations.ListTransactionCategoriesRequest, retries: Op
6656
r"""List all transaction categories
6757
Gets a list of hierarchical categories associated with a transaction for greater contextual meaning to transactionactivity.
6858
"""
69-
base_url = self._server_url
59+
base_url = utils.template_url(*self.sdk_configuration.get_server_details())
7060

7161
url = utils.generate_url(operations.ListTransactionCategoriesRequest, base_url, '/companies/{companyId}/connections/{connectionId}/data/banking-transactionCategories', request)
7262
headers = {}
7363
query_params = utils.get_query_params(operations.ListTransactionCategoriesRequest, request)
7464
headers['Accept'] = 'application/json;q=1, application/json;q=0.7, application/json;q=0'
75-
headers['user-agent'] = f'speakeasy-sdk/{self._language} {self._sdk_version} {self._gen_version}'
65+
headers['user-agent'] = f'speakeasy-sdk/{self.sdk_configuration.language} {self.sdk_configuration.sdk_version} {self.sdk_configuration.gen_version}'
7666

77-
client = self._security_client
67+
client = self.sdk_configuration.security_client
7868

7969
retry_config = retries
8070
if retry_config is None:

0 commit comments

Comments
 (0)