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 .release-please-manifest.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
".": "0.19.0"
".": "0.19.1"
}
4 changes: 2 additions & 2 deletions .stats.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
configured_endpoints: 5
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/isaacus%2Fisaacus-daf4baba7c77b0df59c77b13dd57c56da4900b5b3f95f81a8346ae9762419f95.yml
openapi_spec_hash: 346769e832e482cea4496f92d56dd8b6
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/isaacus%2Fisaacus-f97414fc062dd07f3ac5066afe3decb2d6bff49ff129c3633096d59d0d28ded9.yml
openapi_spec_hash: 90f19133c18780ddeeebdf9dd741352b
config_hash: 9040e7359f066240ad536041fb2c5185
15 changes: 15 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,20 @@
# Changelog

## 0.19.1 (2026-02-16)

Full Changelog: [v0.19.0...v0.19.1](https://github.com/isaacus-dev/isaacus-python/compare/v0.19.0...v0.19.1)

### Chores

* format all `api.md` files ([df775e3](https://github.com/isaacus-dev/isaacus-python/commit/df775e3230586fbb1dacec902a3fc40c181e7c9b))
* **internal:** fix lint error on Python 3.14 ([59cc825](https://github.com/isaacus-dev/isaacus-python/commit/59cc825b036e5b7ad55b029d4027eb65563a3aa2))


### Documentation

* **api:** clarify ilgs span whitespace coverage ([75d28d4](https://github.com/isaacus-dev/isaacus-python/commit/75d28d4abeec47cb0340380e26828857e88f59fb))
* **api:** improve explanation of extractable dates ([2b81647](https://github.com/isaacus-dev/isaacus-python/commit/2b81647df748c71543b60fa94d579fff0b38a4e6))

## 0.19.0 (2026-02-12)

Full Changelog: [v0.18.1...v0.19.0](https://github.com/isaacus-dev/isaacus-python/compare/v0.18.1...v0.19.0)
Expand Down
47 changes: 3 additions & 44 deletions api.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,17 +12,7 @@ Methods:

# Classifications

## Universal

Types:

```python
from isaacus.types.classifications.universal import UniversalClassificationResponse
```

Methods:

- <code title="post /classifications/universal">client.classifications.universal.<a href="./src/isaacus/resources/classifications/universal.py">create</a>(\*\*<a href="src/isaacus/types/classifications/universal/universal_create_params.py">params</a>) -> <a href="./src/isaacus/types/classifications/universal/universal_classification_response.py">UniversalClassificationResponse</a></code>
## [Universal](src/isaacus/resources/classifications/api.md)

# Rerankings

Expand All @@ -38,17 +28,7 @@ Methods:

# Extractions

## QA

Types:

```python
from isaacus.types.extractions.qa import AnswerExtractionResponse
```

Methods:

- <code title="post /extractions/qa">client.extractions.qa.<a href="./src/isaacus/resources/extractions/qa.py">create</a>(\*\*<a href="src/isaacus/types/extractions/qa/qa_create_params.py">params</a>) -> <a href="./src/isaacus/types/extractions/qa/answer_extraction_response.py">AnswerExtractionResponse</a></code>
## [QA](src/isaacus/resources/extractions/api.md)

# Enrichments

Expand All @@ -64,25 +44,4 @@ Methods:

# ILGS

## v1

Types:

```python
from isaacus.types.ilgs.v1 import (
Crossreference,
Date,
Document,
Email,
ExternalDocument,
IDNumber,
Location,
Person,
PhoneNumber,
Quote,
Segment,
Span,
Term,
Website,
)
```
## [v1](src/isaacus/resources/api.md)
4 changes: 2 additions & 2 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[project]
name = "isaacus"
version = "0.19.0"
version = "0.19.1"
description = "The official Python library for the isaacus API"
dynamic = ["readme"]
license = "Apache-2.0"
Expand Down Expand Up @@ -69,7 +69,7 @@ format = { chain = [
# run formatting again to fix any inconsistencies when imports are stripped
"format:ruff",
]}
"format:docs" = "python scripts/utils/ruffen-docs.py README.md api.md"
"format:docs" = "bash -c 'python scripts/utils/ruffen-docs.py README.md $(find . -type f -name api.md)'"
"format:ruff" = "ruff format"

"lint" = { chain = [
Expand Down
2 changes: 1 addition & 1 deletion src/isaacus/_utils/_compat.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ def is_union(tp: Optional[Type[Any]]) -> bool:
else:
import types

return tp is Union or tp is types.UnionType
return tp is Union or tp is types.UnionType # type: ignore[comparison-overlap]


def is_typeddict(tp: Type[Any]) -> bool:
Expand Down
2 changes: 1 addition & 1 deletion src/isaacus/_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__ = "isaacus"
__version__ = "0.19.0" # x-release-please-version
__version__ = "0.19.1" # x-release-please-version
4 changes: 2 additions & 2 deletions src/isaacus/resources/classifications/classifications.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,15 @@
from __future__ import annotations

from ..._compat import cached_property
from .universal import (
from ..._resource import SyncAPIResource, AsyncAPIResource
from .universal.universal import (
UniversalResource,
AsyncUniversalResource,
UniversalResourceWithRawResponse,
AsyncUniversalResourceWithRawResponse,
UniversalResourceWithStreamingResponse,
AsyncUniversalResourceWithStreamingResponse,
)
from ..._resource import SyncAPIResource, AsyncAPIResource

__all__ = ["ClassificationsResource", "AsyncClassificationsResource"]

Expand Down
19 changes: 19 additions & 0 deletions src/isaacus/resources/classifications/universal/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.

from .universal import (
UniversalResource,
AsyncUniversalResource,
UniversalResourceWithRawResponse,
AsyncUniversalResourceWithRawResponse,
UniversalResourceWithStreamingResponse,
AsyncUniversalResourceWithStreamingResponse,
)

__all__ = [
"UniversalResource",
"AsyncUniversalResource",
"UniversalResourceWithRawResponse",
"AsyncUniversalResourceWithRawResponse",
"UniversalResourceWithStreamingResponse",
"AsyncUniversalResourceWithStreamingResponse",
]
11 changes: 11 additions & 0 deletions src/isaacus/resources/classifications/universal/api.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# Universal

Types:

```python
from isaacus.types.classifications.universal import UniversalClassificationResponse
```

Methods:

- <code title="post /classifications/universal">client.classifications.universal.<a href="./src/isaacus/resources/classifications/universal/universal.py">create</a>(\*\*<a href="src/isaacus/types/classifications/universal/universal_create_params.py">params</a>) -> <a href="./src/isaacus/types/classifications/universal/universal_classification_response.py">UniversalClassificationResponse</a></code>
Original file line number Diff line number Diff line change
Expand Up @@ -7,19 +7,19 @@

import httpx

from ..._types import Body, Omit, Query, Headers, NotGiven, SequenceNotStr, omit, not_given
from ..._utils import maybe_transform, async_maybe_transform
from ..._compat import cached_property
from ..._resource import SyncAPIResource, AsyncAPIResource
from ..._response import (
from ...._types import Body, Omit, Query, Headers, NotGiven, SequenceNotStr, omit, not_given
from ...._utils import maybe_transform, async_maybe_transform
from ...._compat import cached_property
from ...._resource import SyncAPIResource, AsyncAPIResource
from ...._response import (
to_raw_response_wrapper,
to_streamed_response_wrapper,
async_to_raw_response_wrapper,
async_to_streamed_response_wrapper,
)
from ..._base_client import make_request_options
from ...types.classifications.universal import universal_create_params
from ...types.classifications.universal.universal_classification_response import UniversalClassificationResponse
from ...._base_client import make_request_options
from ....types.classifications.universal import universal_create_params
from ....types.classifications.universal.universal_classification_response import UniversalClassificationResponse

__all__ = ["UniversalResource", "AsyncUniversalResource"]

Expand Down
2 changes: 1 addition & 1 deletion src/isaacus/resources/extractions/extractions.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

from __future__ import annotations

from .qa import (
from .qa.qa import (
QAResource,
AsyncQAResource,
QAResourceWithRawResponse,
Expand Down
19 changes: 19 additions & 0 deletions src/isaacus/resources/extractions/qa/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.

from .qa import (
QAResource,
AsyncQAResource,
QAResourceWithRawResponse,
AsyncQAResourceWithRawResponse,
QAResourceWithStreamingResponse,
AsyncQAResourceWithStreamingResponse,
)

__all__ = [
"QAResource",
"AsyncQAResource",
"QAResourceWithRawResponse",
"AsyncQAResourceWithRawResponse",
"QAResourceWithStreamingResponse",
"AsyncQAResourceWithStreamingResponse",
]
11 changes: 11 additions & 0 deletions src/isaacus/resources/extractions/qa/api.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# QA

Types:

```python
from isaacus.types.extractions.qa import AnswerExtractionResponse
```

Methods:

- <code title="post /extractions/qa">client.extractions.qa.<a href="./src/isaacus/resources/extractions/qa/qa.py">create</a>(\*\*<a href="src/isaacus/types/extractions/qa/qa_create_params.py">params</a>) -> <a href="./src/isaacus/types/extractions/qa/answer_extraction_response.py">AnswerExtractionResponse</a></code>
Original file line number Diff line number Diff line change
Expand Up @@ -7,19 +7,19 @@

import httpx

from ..._types import Body, Omit, Query, Headers, NotGiven, SequenceNotStr, omit, not_given
from ..._utils import maybe_transform, async_maybe_transform
from ..._compat import cached_property
from ..._resource import SyncAPIResource, AsyncAPIResource
from ..._response import (
from ...._types import Body, Omit, Query, Headers, NotGiven, SequenceNotStr, omit, not_given
from ...._utils import maybe_transform, async_maybe_transform
from ...._compat import cached_property
from ...._resource import SyncAPIResource, AsyncAPIResource
from ...._response import (
to_raw_response_wrapper,
to_streamed_response_wrapper,
async_to_raw_response_wrapper,
async_to_streamed_response_wrapper,
)
from ..._base_client import make_request_options
from ...types.extractions.qa import qa_create_params
from ...types.extractions.qa.answer_extraction_response import AnswerExtractionResponse
from ...._base_client import make_request_options
from ....types.extractions.qa import qa_create_params
from ....types.extractions.qa.answer_extraction_response import AnswerExtractionResponse

__all__ = ["QAResource", "AsyncQAResource"]

Expand Down
1 change: 1 addition & 0 deletions src/isaacus/resources/ilgs/v1/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
22 changes: 22 additions & 0 deletions src/isaacus/resources/ilgs/v1/api.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# v1

Types:

```python
from isaacus.types.ilgs.v1 import (
Crossreference,
Date,
Document,
Email,
ExternalDocument,
IDNumber,
Location,
Person,
PhoneNumber,
Quote,
Segment,
Span,
Term,
Website,
)
```
4 changes: 3 additions & 1 deletion src/isaacus/types/ilgs/v1/crossreference.py
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,9 @@ class Crossreference(BaseModel):
wholly nested. Spans of the exact same type (e.g., segments) will never be
duplicated.

A span cannot be empty and will never start or end at whitespace.
A span cannot be empty and will never start or end at whitespace (though a
span's `end` index, being an exclusive index, may obviosuly land on a whitespace
character).

Note that, when using programming languages other than Python (which uses
zero-based, half-open, Unicode code point-spaced string indexing), indices may
Expand Down
4 changes: 2 additions & 2 deletions src/isaacus/types/ilgs/v1/date.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@

class Date(BaseModel):
"""
A date identified in a document belonging to one of the following types: `creation`, `signature`, `effective`, `expiry`, `delivery`, `renewal`, `payment`, `birth`, or `death`.
An array of dates identified in the document belonging to one of the following types: `creation`, `signature`, `effective`, `expiry`, `delivery`, `renewal`, `payment`, `birth`, or `death`.

Only Gregorian dates between the years 1000 and 9999 (inclusive) fitting into one of the supported date types are extractable.
Only full Gregorian dates (i.e., including a day, month, and year) between the years 1000 and 9999 (inclusive) fitting into one of the supported date types are extractable.
"""

value: str
Expand Down
13 changes: 9 additions & 4 deletions src/isaacus/types/ilgs/v1/document.py
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,9 @@ class Document(BaseModel):
wholly nested. Spans of the exact same type (e.g., segments) will never be
duplicated.

A span cannot be empty and will never start or end at whitespace.
A span cannot be empty and will never start or end at whitespace (though a
span's `end` index, being an exclusive index, may obviosuly land on a whitespace
character).

Note that, when using programming languages other than Python (which uses
zero-based, half-open, Unicode code point-spaced string indexing), indices may
Expand All @@ -65,7 +67,9 @@ class Document(BaseModel):
wholly nested. Spans of the exact same type (e.g., segments) will never be
duplicated.

A span cannot be empty and will never start or end at whitespace.
A span cannot be empty and will never start or end at whitespace (though a
span's `end` index, being an exclusive index, may obviosuly land on a whitespace
character).

Note that, when using programming languages other than Python (which uses
zero-based, half-open, Unicode code point-spaced string indexing), indices may
Expand Down Expand Up @@ -174,8 +178,9 @@ class Document(BaseModel):
types: `creation`, `signature`, `effective`, `expiry`, `delivery`, `renewal`,
`payment`, `birth`, or `death`.

Only Gregorian dates between the years 1000 and 9999 (inclusive) fitting into
one of the supported date types are extractable.
Only full Gregorian dates (i.e., including a day, month, and year) between the
years 1000 and 9999 (inclusive) fitting into one of the supported date types are
extractable.
"""

headings: List[Span]
Expand Down
4 changes: 3 additions & 1 deletion src/isaacus/types/ilgs/v1/external_document.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,9 @@ class ExternalDocument(BaseModel):
wholly nested. Spans of the exact same type (e.g., segments) will never be
duplicated.

A span cannot be empty and will never start or end at whitespace.
A span cannot be empty and will never start or end at whitespace (though a
span's `end` index, being an exclusive index, may obviosuly land on a whitespace
character).

Note that, when using programming languages other than Python (which uses
zero-based, half-open, Unicode code point-spaced string indexing), indices may
Expand Down
4 changes: 3 additions & 1 deletion src/isaacus/types/ilgs/v1/location.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,9 @@ class Location(BaseModel):
wholly nested. Spans of the exact same type (e.g., segments) will never be
duplicated.

A span cannot be empty and will never start or end at whitespace.
A span cannot be empty and will never start or end at whitespace (though a
span's `end` index, being an exclusive index, may obviosuly land on a whitespace
character).

Note that, when using programming languages other than Python (which uses
zero-based, half-open, Unicode code point-spaced string indexing), indices may
Expand Down
4 changes: 3 additions & 1 deletion src/isaacus/types/ilgs/v1/person.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,9 @@ class Person(BaseModel):
wholly nested. Spans of the exact same type (e.g., segments) will never be
duplicated.

A span cannot be empty and will never start or end at whitespace.
A span cannot be empty and will never start or end at whitespace (though a
span's `end` index, being an exclusive index, may obviosuly land on a whitespace
character).

Note that, when using programming languages other than Python (which uses
zero-based, half-open, Unicode code point-spaced string indexing), indices may
Expand Down
Loading