Skip to content
Open
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 .release-please-manifest.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
".": "1.4.1"
".": "1.5.0"
}
8 changes: 4 additions & 4 deletions .stats.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
configured_endpoints: 17
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/cas-parser%2Fcas-parser-56b0f699c5437d9e5326626d35dfc972c17d01f12cb416c7f4854c8ea6d0e95e.yml
openapi_spec_hash: 158f405c1880706266d83e6ff16b9d2f
config_hash: 41c337f5cda03b13880617490f82bad0
configured_endpoints: 21
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/cas-parser%2Fcas-parser-d9763d006969b49a1473851069fdfa429eb13133b64103a62963bb70ddb22305.yml
openapi_spec_hash: 6aee689b7a759b12c85c088c15e29bc0
config_hash: d54f39abb185904495bef7c5f8702746
11 changes: 11 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,16 @@
# Changelog

## 1.5.0 (2026-02-23)

Full Changelog: [v1.4.1...v1.5.0](https://github.com/CASParser/cas-parser-python/compare/v1.4.1...v1.5.0)

### Features

* **api:** api update ([8a5eeaa](https://github.com/CASParser/cas-parser-python/commit/8a5eeaa3334343c0a5e8268d06c0c25d7dfdef00))
* **api:** api update ([478ce0c](https://github.com/CASParser/cas-parser-python/commit/478ce0c2535de083e5c6f9248d0df77e6bafb410))
* **api:** api update ([dcf866c](https://github.com/CASParser/cas-parser-python/commit/dcf866c9577a219abb273e5b34e2c95bda3404f2))
* **api:** manual updates ([a4d6336](https://github.com/CASParser/cas-parser-python/commit/a4d6336829387e982ac938935252129ff5131f65))

## 1.4.1 (2026-02-20)

Full Changelog: [v1.4.0...v1.4.1](https://github.com/CASParser/cas-parser-python/compare/v1.4.0...v1.4.1)
Expand Down
30 changes: 25 additions & 5 deletions api.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ from cas_parser.types import CreditCheckResponse

Methods:

- <code title="post /credits">client.credits.<a href="./src/cas_parser/resources/credits.py">check</a>() -> <a href="./src/cas_parser/types/credit_check_response.py">CreditCheckResponse</a></code>
- <code title="post /v1/credits">client.credits.<a href="./src/cas_parser/resources/credits.py">check</a>() -> <a href="./src/cas_parser/types/credit_check_response.py">CreditCheckResponse</a></code>

# Logs

Expand All @@ -20,8 +20,8 @@ from cas_parser.types import LogCreateResponse, LogGetSummaryResponse

Methods:

- <code title="post /logs">client.logs.<a href="./src/cas_parser/resources/logs.py">create</a>(\*\*<a href="src/cas_parser/types/log_create_params.py">params</a>) -> <a href="./src/cas_parser/types/log_create_response.py">LogCreateResponse</a></code>
- <code title="post /logs/summary">client.logs.<a href="./src/cas_parser/resources/logs.py">get_summary</a>(\*\*<a href="src/cas_parser/types/log_get_summary_params.py">params</a>) -> <a href="./src/cas_parser/types/log_get_summary_response.py">LogGetSummaryResponse</a></code>
- <code title="post /v1/usage">client.logs.<a href="./src/cas_parser/resources/logs.py">create</a>(\*\*<a href="src/cas_parser/types/log_create_params.py">params</a>) -> <a href="./src/cas_parser/types/log_create_response.py">LogCreateResponse</a></code>
- <code title="post /v1/usage/summary">client.logs.<a href="./src/cas_parser/resources/logs.py">get_summary</a>(\*\*<a href="src/cas_parser/types/log_get_summary_params.py">params</a>) -> <a href="./src/cas_parser/types/log_get_summary_response.py">LogGetSummaryResponse</a></code>

# AccessToken

Expand All @@ -33,7 +33,7 @@ from cas_parser.types import AccessTokenCreateResponse

Methods:

- <code title="post /v1/access-token">client.access_token.<a href="./src/cas_parser/resources/access_token.py">create</a>(\*\*<a href="src/cas_parser/types/access_token_create_params.py">params</a>) -> <a href="./src/cas_parser/types/access_token_create_response.py">AccessTokenCreateResponse</a></code>
- <code title="post /v1/token">client.access_token.<a href="./src/cas_parser/resources/access_token.py">create</a>(\*\*<a href="src/cas_parser/types/access_token_create_params.py">params</a>) -> <a href="./src/cas_parser/types/access_token_create_response.py">AccessTokenCreateResponse</a></code>

# VerifyToken

Expand All @@ -45,7 +45,7 @@ from cas_parser.types import VerifyTokenVerifyResponse

Methods:

- <code title="post /v1/verify-token">client.verify_token.<a href="./src/cas_parser/resources/verify_token.py">verify</a>() -> <a href="./src/cas_parser/types/verify_token_verify_response.py">VerifyTokenVerifyResponse</a></code>
- <code title="post /v1/token/verify">client.verify_token.<a href="./src/cas_parser/resources/verify_token.py">verify</a>() -> <a href="./src/cas_parser/types/verify_token_verify_response.py">VerifyTokenVerifyResponse</a></code>

# CamsKfintech

Expand Down Expand Up @@ -133,3 +133,23 @@ Methods:
Methods:

- <code title="post /v4/smart/parse">client.smart.<a href="./src/cas_parser/resources/smart.py">parse_cas_pdf</a>(\*\*<a href="src/cas_parser/types/smart_parse_cas_pdf_params.py">params</a>) -> <a href="./src/cas_parser/types/unified_response.py">UnifiedResponse</a></code>

# InboundEmail

Types:

```python
from cas_parser.types import (
InboundEmailCreateResponse,
InboundEmailRetrieveResponse,
InboundEmailListResponse,
InboundEmailDeleteResponse,
)
```

Methods:

- <code title="post /v4/inbound-email">client.inbound_email.<a href="./src/cas_parser/resources/inbound_email.py">create</a>(\*\*<a href="src/cas_parser/types/inbound_email_create_params.py">params</a>) -> <a href="./src/cas_parser/types/inbound_email_create_response.py">InboundEmailCreateResponse</a></code>
- <code title="get /v4/inbound-email/{inbound_email_id}">client.inbound_email.<a href="./src/cas_parser/resources/inbound_email.py">retrieve</a>(inbound_email_id) -> <a href="./src/cas_parser/types/inbound_email_retrieve_response.py">InboundEmailRetrieveResponse</a></code>
- <code title="get /v4/inbound-email">client.inbound_email.<a href="./src/cas_parser/resources/inbound_email.py">list</a>(\*\*<a href="src/cas_parser/types/inbound_email_list_params.py">params</a>) -> <a href="./src/cas_parser/types/inbound_email_list_response.py">InboundEmailListResponse</a></code>
- <code title="delete /v4/inbound-email/{inbound_email_id}">client.inbound_email.<a href="./src/cas_parser/resources/inbound_email.py">delete</a>(inbound_email_id) -> <a href="./src/cas_parser/types/inbound_email_delete_response.py">InboundEmailDeleteResponse</a></code>
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[project]
name = "cas-parser-python"
version = "1.4.1"
version = "1.5.0"
description = "The official Python library for the cas-parser API"
dynamic = ["readme"]
license = "Apache-2.0"
Expand Down
38 changes: 38 additions & 0 deletions src/cas_parser/_client.py
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@
verify_token,
cams_kfintech,
contract_note,
inbound_email,
)
from .resources.logs import LogsResource, AsyncLogsResource
from .resources.nsdl import NsdlResource, AsyncNsdlResource
Expand All @@ -55,6 +56,7 @@
from .resources.verify_token import VerifyTokenResource, AsyncVerifyTokenResource
from .resources.cams_kfintech import CamsKfintechResource, AsyncCamsKfintechResource
from .resources.contract_note import ContractNoteResource, AsyncContractNoteResource
from .resources.inbound_email import InboundEmailResource, AsyncInboundEmailResource

__all__ = [
"ENVIRONMENTS",
Expand Down Expand Up @@ -220,6 +222,12 @@ def smart(self) -> SmartResource:

return SmartResource(self)

@cached_property
def inbound_email(self) -> InboundEmailResource:
from .resources.inbound_email import InboundEmailResource

return InboundEmailResource(self)

@cached_property
def with_raw_response(self) -> CasParserWithRawResponse:
return CasParserWithRawResponse(self)
Expand Down Expand Up @@ -480,6 +488,12 @@ def smart(self) -> AsyncSmartResource:

return AsyncSmartResource(self)

@cached_property
def inbound_email(self) -> AsyncInboundEmailResource:
from .resources.inbound_email import AsyncInboundEmailResource

return AsyncInboundEmailResource(self)

@cached_property
def with_raw_response(self) -> AsyncCasParserWithRawResponse:
return AsyncCasParserWithRawResponse(self)
Expand Down Expand Up @@ -667,6 +681,12 @@ def smart(self) -> smart.SmartResourceWithRawResponse:

return SmartResourceWithRawResponse(self._client.smart)

@cached_property
def inbound_email(self) -> inbound_email.InboundEmailResourceWithRawResponse:
from .resources.inbound_email import InboundEmailResourceWithRawResponse

return InboundEmailResourceWithRawResponse(self._client.inbound_email)


class AsyncCasParserWithRawResponse:
_client: AsyncCasParser
Expand Down Expand Up @@ -740,6 +760,12 @@ def smart(self) -> smart.AsyncSmartResourceWithRawResponse:

return AsyncSmartResourceWithRawResponse(self._client.smart)

@cached_property
def inbound_email(self) -> inbound_email.AsyncInboundEmailResourceWithRawResponse:
from .resources.inbound_email import AsyncInboundEmailResourceWithRawResponse

return AsyncInboundEmailResourceWithRawResponse(self._client.inbound_email)


class CasParserWithStreamedResponse:
_client: CasParser
Expand Down Expand Up @@ -813,6 +839,12 @@ def smart(self) -> smart.SmartResourceWithStreamingResponse:

return SmartResourceWithStreamingResponse(self._client.smart)

@cached_property
def inbound_email(self) -> inbound_email.InboundEmailResourceWithStreamingResponse:
from .resources.inbound_email import InboundEmailResourceWithStreamingResponse

return InboundEmailResourceWithStreamingResponse(self._client.inbound_email)


class AsyncCasParserWithStreamedResponse:
_client: AsyncCasParser
Expand Down Expand Up @@ -886,6 +918,12 @@ def smart(self) -> smart.AsyncSmartResourceWithStreamingResponse:

return AsyncSmartResourceWithStreamingResponse(self._client.smart)

@cached_property
def inbound_email(self) -> inbound_email.AsyncInboundEmailResourceWithStreamingResponse:
from .resources.inbound_email import AsyncInboundEmailResourceWithStreamingResponse

return AsyncInboundEmailResourceWithStreamingResponse(self._client.inbound_email)


Client = CasParser

Expand Down
2 changes: 1 addition & 1 deletion src/cas_parser/_version.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.

__title__ = "cas_parser"
__version__ = "1.4.1" # x-release-please-version
__version__ = "1.5.0" # x-release-please-version
14 changes: 14 additions & 0 deletions src/cas_parser/resources/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,14 @@
ContractNoteResourceWithStreamingResponse,
AsyncContractNoteResourceWithStreamingResponse,
)
from .inbound_email import (
InboundEmailResource,
AsyncInboundEmailResource,
InboundEmailResourceWithRawResponse,
AsyncInboundEmailResourceWithRawResponse,
InboundEmailResourceWithStreamingResponse,
AsyncInboundEmailResourceWithStreamingResponse,
)

__all__ = [
"CreditsResource",
Expand Down Expand Up @@ -156,4 +164,10 @@
"AsyncSmartResourceWithRawResponse",
"SmartResourceWithStreamingResponse",
"AsyncSmartResourceWithStreamingResponse",
"InboundEmailResource",
"AsyncInboundEmailResource",
"InboundEmailResourceWithRawResponse",
"AsyncInboundEmailResourceWithRawResponse",
"InboundEmailResourceWithStreamingResponse",
"AsyncInboundEmailResourceWithStreamingResponse",
]
8 changes: 6 additions & 2 deletions src/cas_parser/resources/access_token.py
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,8 @@ def create(
**Use this endpoint from your backend** to create tokens that can be safely
passed to frontend/SDK.

**Legacy path:** `/v1/access-token` (still supported)

Access tokens:

- Are prefixed with `at_` for easy identification
Expand All @@ -77,7 +79,7 @@ def create(
timeout: Override the client-level default timeout for this request, in seconds
"""
return self._post(
"/v1/access-token",
"/v1/token",
body=maybe_transform(
{"expiry_minutes": expiry_minutes}, access_token_create_params.AccessTokenCreateParams
),
Expand Down Expand Up @@ -125,6 +127,8 @@ async def create(
**Use this endpoint from your backend** to create tokens that can be safely
passed to frontend/SDK.

**Legacy path:** `/v1/access-token` (still supported)

Access tokens:

- Are prefixed with `at_` for easy identification
Expand All @@ -144,7 +148,7 @@ async def create(
timeout: Override the client-level default timeout for this request, in seconds
"""
return await self._post(
"/v1/access-token",
"/v1/token",
body=await async_maybe_transform(
{"expiry_minutes": expiry_minutes}, access_token_create_params.AccessTokenCreateParams
),
Expand Down
4 changes: 2 additions & 2 deletions src/cas_parser/resources/credits.py
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ def check(
Credits reset at the start of each billing period.
"""
return self._post(
"/credits",
"/v1/credits",
options=make_request_options(
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
),
Expand Down Expand Up @@ -111,7 +111,7 @@ async def check(
Credits reset at the start of each billing period.
"""
return await self._post(
"/credits",
"/v1/credits",
options=make_request_options(
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
),
Expand Down
Loading