diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 463488b..4ad3fef 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "0.17.1" + ".": "0.18.0" } \ No newline at end of file diff --git a/.stats.yml b/.stats.yml index 7df263c..edd6732 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 5 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/isaacus%2Fisaacus-fd2419c8cf8666e821f55c4cc5a5402900c443e2db59b3e53cfb46fd5bb52316.yml -openapi_spec_hash: a92a4436234b019c9c23feb11b1f2f28 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/isaacus%2Fisaacus-46de7b353c33e2b6c139e564caeec9e0462ad714121690f65167a7943e325000.yml +openapi_spec_hash: 6527287f9709a8741c9cc5b4181d7bb1 config_hash: 9040e7359f066240ad536041fb2c5185 diff --git a/CHANGELOG.md b/CHANGELOG.md index 4f21e42..c252ada 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,23 @@ # Changelog +## 0.18.0 (2026-02-11) + +Full Changelog: [v0.17.1...v0.18.0](https://github.com/isaacus-dev/isaacus-python/compare/v0.17.1...v0.18.0) + +### Features + +* **api:** add chunking mode to enrichment ([20a3231](https://github.com/isaacus-dev/isaacus-python/commit/20a3231576f04f67e35db65de497ea89fccafdb0)) + + +### Chores + +* **internal:** bump dependencies ([233ae5c](https://github.com/isaacus-dev/isaacus-python/commit/233ae5cb808d97971cfffb68d2b5191c2a4d7cfa)) + + +### Documentation + +* **api:** update `creation` date type definition ([66db3ea](https://github.com/isaacus-dev/isaacus-python/commit/66db3eac21d416b05e0da12e4f22871a03ef3ebc)) + ## 0.17.1 (2026-02-07) Full Changelog: [v0.17.0...v0.17.1](https://github.com/isaacus-dev/isaacus-python/compare/v0.17.0...v0.17.1) diff --git a/pyproject.toml b/pyproject.toml index 7e15307..5cdc6ff 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "isaacus" -version = "0.17.1" +version = "0.18.0" description = "The official Python library for the isaacus API" dynamic = ["readme"] license = "Apache-2.0" diff --git a/requirements-dev.lock b/requirements-dev.lock index 5f2848c..8c4c46a 100644 --- a/requirements-dev.lock +++ b/requirements-dev.lock @@ -12,14 +12,14 @@ -e file:. aiohappyeyeballs==2.6.1 # via aiohttp -aiohttp==3.13.2 +aiohttp==3.13.3 # via httpx-aiohttp # via isaacus aiosignal==1.4.0 # via aiohttp annotated-types==0.7.0 # via pydantic -anyio==4.12.0 +anyio==4.12.1 # via httpx # via isaacus argcomplete==3.6.3 @@ -31,7 +31,7 @@ attrs==25.4.0 # via nox backports-asyncio-runner==1.2.0 # via pytest-asyncio -certifi==2025.11.12 +certifi==2026.1.4 # via httpcore # via httpx colorlog==6.10.1 @@ -61,7 +61,7 @@ httpx==0.28.1 # via httpx-aiohttp # via isaacus # via respx -httpx-aiohttp==0.1.9 +httpx-aiohttp==0.1.12 # via isaacus humanize==4.13.0 # via nox @@ -69,7 +69,7 @@ idna==3.11 # via anyio # via httpx # via yarl -importlib-metadata==8.7.0 +importlib-metadata==8.7.1 iniconfig==2.1.0 # via pytest markdown-it-py==3.0.0 @@ -82,14 +82,14 @@ multidict==6.7.0 mypy==1.17.0 mypy-extensions==1.1.0 # via mypy -nodeenv==1.9.1 +nodeenv==1.10.0 # via pyright nox==2025.11.12 packaging==25.0 # via dependency-groups # via nox # via pytest -pathspec==0.12.1 +pathspec==1.0.3 # via mypy platformdirs==4.4.0 # via virtualenv @@ -115,13 +115,13 @@ python-dateutil==2.9.0.post0 # via time-machine respx==0.22.0 rich==14.2.0 -ruff==0.14.7 +ruff==0.14.13 six==1.17.0 # via python-dateutil sniffio==1.3.1 # via isaacus time-machine==2.19.0 -tomli==2.3.0 +tomli==2.4.0 # via dependency-groups # via mypy # via nox @@ -141,7 +141,7 @@ typing-extensions==4.15.0 # via virtualenv typing-inspection==0.4.2 # via pydantic -virtualenv==20.35.4 +virtualenv==20.36.1 # via nox yarl==1.22.0 # via aiohttp diff --git a/requirements.lock b/requirements.lock index 60eae12..030ec7f 100644 --- a/requirements.lock +++ b/requirements.lock @@ -12,21 +12,21 @@ -e file:. aiohappyeyeballs==2.6.1 # via aiohttp -aiohttp==3.13.2 +aiohttp==3.13.3 # via httpx-aiohttp # via isaacus aiosignal==1.4.0 # via aiohttp annotated-types==0.7.0 # via pydantic -anyio==4.12.0 +anyio==4.12.1 # via httpx # via isaacus async-timeout==5.0.1 # via aiohttp attrs==25.4.0 # via aiohttp -certifi==2025.11.12 +certifi==2026.1.4 # via httpcore # via httpx distro==1.9.0 @@ -43,7 +43,7 @@ httpcore==1.0.9 httpx==0.28.1 # via httpx-aiohttp # via isaacus -httpx-aiohttp==0.1.9 +httpx-aiohttp==0.1.12 # via isaacus idna==3.11 # via anyio diff --git a/src/isaacus/_version.py b/src/isaacus/_version.py index 0f07b05..1fabf08 100644 --- a/src/isaacus/_version.py +++ b/src/isaacus/_version.py @@ -1,4 +1,4 @@ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. __title__ = "isaacus" -__version__ = "0.17.1" # x-release-please-version +__version__ = "0.18.0" # x-release-please-version diff --git a/src/isaacus/resources/enrichments.py b/src/isaacus/resources/enrichments.py index 7d1752c..35d84d2 100644 --- a/src/isaacus/resources/enrichments.py +++ b/src/isaacus/resources/enrichments.py @@ -49,7 +49,7 @@ def create( *, model: Literal["kanon-2-enricher"], texts: Union[SequenceNotStr[str], str], - overflow_strategy: Optional[Literal["auto", "drop_end"]] | Omit = omit, + overflow_strategy: Optional[Literal["auto", "drop_end", "chunk"]] | Omit = omit, # 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, @@ -71,9 +71,15 @@ def create( overflow_strategy: The strategy for handling content exceeding the model's maximum input length. - `auto` currently behaves the same as `drop_end`, dropping excess tokens from the - end of input. In the future, `auto` may implement more sophisticated strategies - such as chunking and context-aware stitching. + `auto`, which is the default and recommended setting, currently behaves the same + as `chunk`, which intelligently breaks the input up into smaller chunks and then + stitches the results back together into a single prediction. In the future + `auto` may implement even more sophisticated strategies for handling long + contexts such as leveraging chunk overlap and/or a specialized stitching model. + + `chunk` breaks the input up into smaller chunks that fit within the model's + context window and then intelligently merges the results into a single + prediction at the cost of a minor accuracy drop. `drop_end` drops tokens from the end of input exceeding the model's maximum input length. @@ -131,7 +137,7 @@ async def create( *, model: Literal["kanon-2-enricher"], texts: Union[SequenceNotStr[str], str], - overflow_strategy: Optional[Literal["auto", "drop_end"]] | Omit = omit, + overflow_strategy: Optional[Literal["auto", "drop_end", "chunk"]] | Omit = omit, # 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, @@ -153,9 +159,15 @@ async def create( overflow_strategy: The strategy for handling content exceeding the model's maximum input length. - `auto` currently behaves the same as `drop_end`, dropping excess tokens from the - end of input. In the future, `auto` may implement more sophisticated strategies - such as chunking and context-aware stitching. + `auto`, which is the default and recommended setting, currently behaves the same + as `chunk`, which intelligently breaks the input up into smaller chunks and then + stitches the results back together into a single prediction. In the future + `auto` may implement even more sophisticated strategies for handling long + contexts such as leveraging chunk overlap and/or a specialized stitching model. + + `chunk` breaks the input up into smaller chunks that fit within the model's + context window and then intelligently merges the results into a single + prediction at the cost of a minor accuracy drop. `drop_end` drops tokens from the end of input exceeding the model's maximum input length. diff --git a/src/isaacus/types/enrichment_create_params.py b/src/isaacus/types/enrichment_create_params.py index 4c412e5..be8eb24 100644 --- a/src/isaacus/types/enrichment_create_params.py +++ b/src/isaacus/types/enrichment_create_params.py @@ -25,12 +25,18 @@ class EnrichmentCreateParams(TypedDict, total=False): No more than 8 texts can be enriched in a single request. """ - overflow_strategy: Optional[Literal["auto", "drop_end"]] + overflow_strategy: Optional[Literal["auto", "drop_end", "chunk"]] """The strategy for handling content exceeding the model's maximum input length. - `auto` currently behaves the same as `drop_end`, dropping excess tokens from the - end of input. In the future, `auto` may implement more sophisticated strategies - such as chunking and context-aware stitching. + `auto`, which is the default and recommended setting, currently behaves the same + as `chunk`, which intelligently breaks the input up into smaller chunks and then + stitches the results back together into a single prediction. In the future + `auto` may implement even more sophisticated strategies for handling long + contexts such as leveraging chunk overlap and/or a specialized stitching model. + + `chunk` breaks the input up into smaller chunks that fit within the model's + context window and then intelligently merges the results into a single + prediction at the cost of a minor accuracy drop. `drop_end` drops tokens from the end of input exceeding the model's maximum input length. diff --git a/src/isaacus/types/ilgs/v1/date.py b/src/isaacus/types/ilgs/v1/date.py index 7208b4b..6aaa370 100644 --- a/src/isaacus/types/ilgs/v1/date.py +++ b/src/isaacus/types/ilgs/v1/date.py @@ -26,8 +26,8 @@ class Date(BaseModel): mentioned in a document that does not fit into a supported type, it will not be extracted. - `creation` denotes the date the document was created. There may only be one - `creation` date per document. + `creation` denotes the date the document was created or last updated. There may + only be one `creation` date per document. `signature` denotes the date the document was signed.