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
2 changes: 1 addition & 1 deletion .devcontainer/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ FROM mcr.microsoft.com/vscode/devcontainers/python:0-${VARIANT}

USER vscode

RUN curl -sSf https://rye-up.com/get | RYE_VERSION="0.15.2" RYE_INSTALL_OPTION="--yes" bash
RUN curl -sSf https://rye-up.com/get | RYE_VERSION="0.24.0" RYE_INSTALL_OPTION="--yes" bash
ENV PATH=/home/vscode/.rye/shims:$PATH

RUN echo "[[ -d .venv ]] && source .venv/bin/activate" >> /home/vscode/.bashrc
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ jobs:
curl -sSf https://rye-up.com/get | bash
echo "$HOME/.rye/shims" >> $GITHUB_PATH
env:
RYE_VERSION: 0.15.2
RYE_VERSION: 0.24.0
RYE_INSTALL_OPTION: "--yes"

- name: Install dependencies
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/publish-pypi.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ jobs:
curl -sSf https://rye-up.com/get | bash
echo "$HOME/.rye/shims" >> $GITHUB_PATH
env:
RYE_VERSION: 0.15.2
RYE_VERSION: 0.24.0
RYE_INSTALL_OPTION: "--yes"

- name: Publish to PyPI
Expand Down
2 changes: 1 addition & 1 deletion .release-please-manifest.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
".": "0.36.0"
".": "0.37.0"
}
2 changes: 1 addition & 1 deletion .stats.yml
Original file line number Diff line number Diff line change
@@ -1 +1 @@
configured_endpoints: 108
configured_endpoints: 110
13 changes: 13 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,18 @@
# Changelog

## 0.37.0 (2024-02-21)

Full Changelog: [v0.36.0...v0.37.0](https://github.com/lithic-com/lithic-python/compare/v0.36.0...v0.37.0)

### Features

* **api:** create financial account and retry microdeposits endpoints ([#366](https://github.com/lithic-com/lithic-python/issues/366)) ([4cc06ec](https://github.com/lithic-com/lithic-python/commit/4cc06eca313e87524174d9b6af615e36c8f5c8dd))


### Chores

* **internal:** bump rye to v0.24.0 ([#364](https://github.com/lithic-com/lithic-python/issues/364)) ([ef3b396](https://github.com/lithic-com/lithic-python/commit/ef3b396cfb9f58894506514e889d78168a246489))

## 0.36.0 (2024-02-19)

Full Changelog: [v0.35.0...v0.36.0](https://github.com/lithic-com/lithic-python/compare/v0.35.0...v0.36.0)
Expand Down
3 changes: 3 additions & 0 deletions api.md
Original file line number Diff line number Diff line change
Expand Up @@ -268,6 +268,7 @@ from lithic.types import FinancialAccount, FinancialTransaction

Methods:

- <code title="post /financial_accounts">client.financial_accounts.<a href="./src/lithic/resources/financial_accounts/financial_accounts.py">create</a>(\*\*<a href="src/lithic/types/financial_account_create_params.py">params</a>) -> <a href="./src/lithic/types/financial_account.py">FinancialAccount</a></code>
- <code title="get /financial_accounts/{financial_account_token}">client.financial_accounts.<a href="./src/lithic/resources/financial_accounts/financial_accounts.py">retrieve</a>(financial_account_token) -> <a href="./src/lithic/types/financial_account.py">FinancialAccount</a></code>
- <code title="patch /financial_accounts/{financial_account_token}">client.financial_accounts.<a href="./src/lithic/resources/financial_accounts/financial_accounts.py">update</a>(financial_account_token, \*\*<a href="src/lithic/types/financial_account_update_params.py">params</a>) -> <a href="./src/lithic/types/financial_account.py">FinancialAccount</a></code>
- <code title="get /financial_accounts">client.financial_accounts.<a href="./src/lithic/resources/financial_accounts/financial_accounts.py">list</a>(\*\*<a href="src/lithic/types/financial_account_list_params.py">params</a>) -> <a href="./src/lithic/types/financial_account.py">SyncSinglePage[FinancialAccount]</a></code>
Expand Down Expand Up @@ -373,6 +374,7 @@ from lithic.types import (
ExternalBankAccountRetrieveResponse,
ExternalBankAccountUpdateResponse,
ExternalBankAccountListResponse,
ExternalBankAccountRetryMicroDepositsResponse,
)
```

Expand All @@ -382,6 +384,7 @@ Methods:
- <code title="get /external_bank_accounts/{external_bank_account_token}">client.external_bank_accounts.<a href="./src/lithic/resources/external_bank_accounts/external_bank_accounts.py">retrieve</a>(external_bank_account_token) -> <a href="./src/lithic/types/external_bank_account_retrieve_response.py">ExternalBankAccountRetrieveResponse</a></code>
- <code title="patch /external_bank_accounts/{external_bank_account_token}">client.external_bank_accounts.<a href="./src/lithic/resources/external_bank_accounts/external_bank_accounts.py">update</a>(external_bank_account_token, \*\*<a href="src/lithic/types/external_bank_account_update_params.py">params</a>) -> <a href="./src/lithic/types/external_bank_account_update_response.py">ExternalBankAccountUpdateResponse</a></code>
- <code title="get /external_bank_accounts">client.external_bank_accounts.<a href="./src/lithic/resources/external_bank_accounts/external_bank_accounts.py">list</a>(\*\*<a href="src/lithic/types/external_bank_account_list_params.py">params</a>) -> <a href="./src/lithic/types/external_bank_account_list_response.py">SyncCursorPage[ExternalBankAccountListResponse]</a></code>
- <code title="post /external_bank_accounts/{external_bank_account_token}/retry_micro_deposits">client.external_bank_accounts.<a href="./src/lithic/resources/external_bank_accounts/external_bank_accounts.py">retry_micro_deposits</a>(external_bank_account_token) -> <a href="./src/lithic/types/external_bank_account_retry_micro_deposits_response.py">ExternalBankAccountRetryMicroDepositsResponse</a></code>

## MicroDeposits

Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[project]
name = "lithic"
version = "0.36.0"
version = "0.37.0"
description = "The official Python library for the lithic API"
readme = "README.md"
license = "Apache-2.0"
Expand Down
48 changes: 46 additions & 2 deletions requirements-dev.lock
Original file line number Diff line number Diff line change
Expand Up @@ -5,48 +5,92 @@
# pre: false
# features: []
# all-features: true
# with-sources: false

-e file:.
annotated-types==0.6.0
# via pydantic
anyio==4.1.0
# via httpx
# via lithic
argcomplete==3.1.2
# via nox
attrs==23.1.0
# via pytest
certifi==2023.7.22
# via httpcore
# via httpx
colorlog==6.7.0
# via nox
dirty-equals==0.6.0
distlib==0.3.7
# via virtualenv
distro==1.8.0
# via lithic
exceptiongroup==1.1.3
# via anyio
filelock==3.12.4
# via virtualenv
h11==0.14.0
# via httpcore
httpcore==1.0.2
# via httpx
httpx==0.25.2
# via lithic
# via respx
idna==3.4
# via anyio
# via httpx
importlib-metadata==7.0.0
iniconfig==2.0.0
# via pytest
mypy==1.7.1
mypy-extensions==1.0.0
# via mypy
nodeenv==1.8.0
# via pyright
nox==2023.4.22
packaging==23.2
# via nox
# via pytest
platformdirs==3.11.0
# via virtualenv
pluggy==1.3.0
# via pytest
py==1.11.0
# via pytest
pydantic==2.4.2
# via lithic
pydantic-core==2.10.1
# via pydantic
pyright==1.1.332
pytest==7.1.1
# via pytest-asyncio
pytest-asyncio==0.21.1
python-dateutil==2.8.2
# via time-machine
pytz==2023.3.post1
# via dirty-equals
respx==0.20.2
ruff==0.1.9
setuptools==68.2.2
# via nodeenv
six==1.16.0
# via python-dateutil
sniffio==1.3.0
# via anyio
# via httpx
# via lithic
time-machine==2.9.0
tomli==2.0.1
# via mypy
# via pytest
typing-extensions==4.8.0
# via lithic
# via mypy
# via pydantic
# via pydantic-core
virtualenv==20.24.5
# via nox
zipp==3.17.0
# The following packages are considered to be unsafe in a requirements file:
setuptools==68.2.2
# via importlib-metadata
21 changes: 21 additions & 0 deletions requirements.lock
Original file line number Diff line number Diff line change
Expand Up @@ -5,18 +5,39 @@
# pre: false
# features: []
# all-features: true
# with-sources: false

-e file:.
annotated-types==0.6.0
# via pydantic
anyio==4.1.0
# via httpx
# via lithic
certifi==2023.7.22
# via httpcore
# via httpx
distro==1.8.0
# via lithic
exceptiongroup==1.1.3
# via anyio
h11==0.14.0
# via httpcore
httpcore==1.0.2
# via httpx
httpx==0.25.2
# via lithic
idna==3.4
# via anyio
# via httpx
pydantic==2.4.2
# via lithic
pydantic-core==2.10.1
# via pydantic
sniffio==1.3.0
# via anyio
# via httpx
# via lithic
typing-extensions==4.8.0
# via lithic
# via pydantic
# via pydantic-core
2 changes: 1 addition & 1 deletion src/lithic/_version.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# File generated from our OpenAPI spec by Stainless.

__title__ = "lithic"
__version__ = "0.36.0" # x-release-please-version
__version__ = "0.37.0" # x-release-please-version
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
ExternalBankAccountCreateResponse,
ExternalBankAccountUpdateResponse,
ExternalBankAccountRetrieveResponse,
ExternalBankAccountRetryMicroDepositsResponse,
external_bank_account_list_params,
external_bank_account_create_params,
external_bank_account_update_params,
Expand Down Expand Up @@ -320,7 +321,8 @@ def list(
page_size: int | NotGiven = NOT_GIVEN,
starting_after: str | NotGiven = NOT_GIVEN,
states: List[Literal["CLOSED", "ENABLED", "PAUSED"]] | NotGiven = NOT_GIVEN,
verification_states: List[Literal["ENABLED", "FAILED_VERIFICATION", "PENDING"]] | NotGiven = NOT_GIVEN,
verification_states: List[Literal["ENABLED", "FAILED_VERIFICATION", "INSUFFICIENT_FUNDS", "PENDING"]]
| NotGiven = NOT_GIVEN,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
Expand Down Expand Up @@ -374,6 +376,41 @@ def list(
model=ExternalBankAccountListResponse,
)

def retry_micro_deposits(
self,
external_bank_account_token: str,
*,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> ExternalBankAccountRetryMicroDepositsResponse:
"""
Retry external bank account micro deposit verification.

Args:
extra_headers: Send extra headers

extra_query: Add additional query parameters to the request

extra_body: Add additional JSON properties to the request

timeout: Override the client-level default timeout for this request, in seconds
"""
if not external_bank_account_token:
raise ValueError(
f"Expected a non-empty value for `external_bank_account_token` but received {external_bank_account_token!r}"
)
return self._post(
f"/external_bank_accounts/{external_bank_account_token}/retry_micro_deposits",
options=make_request_options(
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
),
cast_to=ExternalBankAccountRetryMicroDepositsResponse,
)


class AsyncExternalBankAccounts(AsyncAPIResource):
@cached_property
Expand Down Expand Up @@ -652,7 +689,8 @@ def list(
page_size: int | NotGiven = NOT_GIVEN,
starting_after: str | NotGiven = NOT_GIVEN,
states: List[Literal["CLOSED", "ENABLED", "PAUSED"]] | NotGiven = NOT_GIVEN,
verification_states: List[Literal["ENABLED", "FAILED_VERIFICATION", "PENDING"]] | NotGiven = NOT_GIVEN,
verification_states: List[Literal["ENABLED", "FAILED_VERIFICATION", "INSUFFICIENT_FUNDS", "PENDING"]]
| NotGiven = NOT_GIVEN,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
Expand Down Expand Up @@ -706,6 +744,41 @@ def list(
model=ExternalBankAccountListResponse,
)

async def retry_micro_deposits(
self,
external_bank_account_token: str,
*,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> ExternalBankAccountRetryMicroDepositsResponse:
"""
Retry external bank account micro deposit verification.

Args:
extra_headers: Send extra headers

extra_query: Add additional query parameters to the request

extra_body: Add additional JSON properties to the request

timeout: Override the client-level default timeout for this request, in seconds
"""
if not external_bank_account_token:
raise ValueError(
f"Expected a non-empty value for `external_bank_account_token` but received {external_bank_account_token!r}"
)
return await self._post(
f"/external_bank_accounts/{external_bank_account_token}/retry_micro_deposits",
options=make_request_options(
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
),
cast_to=ExternalBankAccountRetryMicroDepositsResponse,
)


class ExternalBankAccountsWithRawResponse:
def __init__(self, external_bank_accounts: ExternalBankAccounts) -> None:
Expand All @@ -723,6 +796,9 @@ def __init__(self, external_bank_accounts: ExternalBankAccounts) -> None:
self.list = _legacy_response.to_raw_response_wrapper(
external_bank_accounts.list,
)
self.retry_micro_deposits = _legacy_response.to_raw_response_wrapper(
external_bank_accounts.retry_micro_deposits,
)

@cached_property
def micro_deposits(self) -> MicroDepositsWithRawResponse:
Expand All @@ -745,6 +821,9 @@ def __init__(self, external_bank_accounts: AsyncExternalBankAccounts) -> None:
self.list = _legacy_response.async_to_raw_response_wrapper(
external_bank_accounts.list,
)
self.retry_micro_deposits = _legacy_response.async_to_raw_response_wrapper(
external_bank_accounts.retry_micro_deposits,
)

@cached_property
def micro_deposits(self) -> AsyncMicroDepositsWithRawResponse:
Expand All @@ -767,6 +846,9 @@ def __init__(self, external_bank_accounts: ExternalBankAccounts) -> None:
self.list = to_streamed_response_wrapper(
external_bank_accounts.list,
)
self.retry_micro_deposits = to_streamed_response_wrapper(
external_bank_accounts.retry_micro_deposits,
)

@cached_property
def micro_deposits(self) -> MicroDepositsWithStreamingResponse:
Expand All @@ -789,6 +871,9 @@ def __init__(self, external_bank_accounts: AsyncExternalBankAccounts) -> None:
self.list = async_to_streamed_response_wrapper(
external_bank_accounts.list,
)
self.retry_micro_deposits = async_to_streamed_response_wrapper(
external_bank_accounts.retry_micro_deposits,
)

@cached_property
def micro_deposits(self) -> AsyncMicroDepositsWithStreamingResponse:
Expand Down
Loading