From 8620bb5259685c1764960278caba70ae9b42a0ec Mon Sep 17 00:00:00 2001
From: "stainless-app[bot]"
<142633134+stainless-app[bot]@users.noreply.github.com>
Date: Tue, 3 Feb 2026 23:13:42 +0000
Subject: [PATCH 1/8] feat(sdk): move ilgsv1 resources under a subresource
---
.stats.yml | 2 +-
api.md | 43 +++++++-----
src/isaacus/_client.py | 2 +-
src/isaacus/resources/enrichments/__init__.py | 19 +++++
.../{ => enrichments}/enrichments.py | 16 ++---
src/isaacus/types/__init__.py | 14 ----
src/isaacus/types/enrichment_response.py | 4 +-
src/isaacus/types/enrichments/__init__.py | 18 +++++
.../crossreference.py} | 10 +--
.../{ilgs_v1_date.py => enrichments/date.py} | 10 +--
.../document.py} | 70 +++++++++----------
.../email.py} | 10 +--
.../external_document.py} | 14 ++--
.../id_number.py} | 10 +--
.../location.py} | 12 ++--
.../person.py} | 12 ++--
.../phone_number.py} | 10 +--
.../quote.py} | 10 +--
.../segment.py} | 16 ++---
.../{ilgs_v1_span.py => enrichments/span.py} | 6 +-
.../{ilgs_v1_term.py => enrichments/term.py} | 14 ++--
.../website.py} | 10 +--
tests/api_resources/enrichments/__init__.py | 1 +
23 files changed, 182 insertions(+), 151 deletions(-)
create mode 100644 src/isaacus/resources/enrichments/__init__.py
rename src/isaacus/resources/{ => enrichments}/enrichments.py (95%)
create mode 100644 src/isaacus/types/enrichments/__init__.py
rename src/isaacus/types/{ilgs_v1_crossreference.py => enrichments/crossreference.py} (90%)
rename src/isaacus/types/{ilgs_v1_date.py => enrichments/date.py} (94%)
rename src/isaacus/types/{ilgs_v1_document.py => enrichments/document.py} (79%)
rename src/isaacus/types/{ilgs_v1_email.py => enrichments/email.py} (79%)
rename src/isaacus/types/{ilgs_v1_external_document.py => enrichments/external_document.py} (94%)
rename src/isaacus/types/{ilgs_v1_id_number.py => enrichments/id_number.py} (79%)
rename src/isaacus/types/{ilgs_v1_location.py => enrichments/location.py} (89%)
rename src/isaacus/types/{ilgs_v1_person.py => enrichments/person.py} (98%)
rename src/isaacus/types/{ilgs_v1_phone_number.py => enrichments/phone_number.py} (81%)
rename src/isaacus/types/{ilgs_v1_quote.py => enrichments/quote.py} (91%)
rename src/isaacus/types/{ilgs_v1_segment.py => enrichments/segment.py} (96%)
rename src/isaacus/types/{ilgs_v1_span.py => enrichments/span.py} (92%)
rename src/isaacus/types/{ilgs_v1_term.py => enrichments/term.py} (91%)
rename src/isaacus/types/{ilgs_v1_website.py => enrichments/website.py} (81%)
create mode 100644 tests/api_resources/enrichments/__init__.py
diff --git a/.stats.yml b/.stats.yml
index 3d7a14c..044502f 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-fa910a5a3d1321234423bd8c042d202a64d4d956ef45847b4de358cb18e447eb.yml
openapi_spec_hash: 926b9b619c15e8570e496e11d4fb753e
-config_hash: a23e347480e00cefa57ce68b1de9e16d
+config_hash: 6989204ddc6219d42aeefea50912c031
diff --git a/api.md b/api.md
index 4245c80..77707af 100644
--- a/api.md
+++ b/api.md
@@ -55,25 +55,32 @@ Methods:
Types:
```python
-from isaacus.types import (
- EnrichmentResponse,
- ILGSv1Crossreference,
- ILGSv1Date,
- ILGSv1Document,
- ILGSv1Email,
- ILGSv1ExternalDocument,
- ILGSv1IDNumber,
- ILGSv1Location,
- ILGSv1Person,
- ILGSv1PhoneNumber,
- ILGSv1Quote,
- ILGSv1Segment,
- ILGSv1Span,
- ILGSv1Term,
- ILGSv1Website,
-)
+from isaacus.types import EnrichmentResponse
```
Methods:
-- client.enrichments.create(\*\*params) -> EnrichmentResponse
+- client.enrichments.create(\*\*params) -> EnrichmentResponse
+
+## Ilgsv1
+
+Types:
+
+```python
+from isaacus.types.enrichments import (
+ Crossreference,
+ Date,
+ Document,
+ Email,
+ ExternalDocument,
+ IDNumber,
+ Location,
+ Person,
+ PhoneNumber,
+ Quote,
+ Segment,
+ Span,
+ Term,
+ Website,
+)
+```
diff --git a/src/isaacus/_client.py b/src/isaacus/_client.py
index ae83c36..0c4bd94 100644
--- a/src/isaacus/_client.py
+++ b/src/isaacus/_client.py
@@ -34,7 +34,7 @@
from .resources import embeddings, rerankings, enrichments, extractions, classifications
from .resources.embeddings import EmbeddingsResource, AsyncEmbeddingsResource
from .resources.rerankings import RerankingsResource, AsyncRerankingsResource
- from .resources.enrichments import EnrichmentsResource, AsyncEnrichmentsResource
+ from .resources.enrichments.enrichments import EnrichmentsResource, AsyncEnrichmentsResource
from .resources.extractions.extractions import ExtractionsResource, AsyncExtractionsResource
from .resources.classifications.classifications import ClassificationsResource, AsyncClassificationsResource
diff --git a/src/isaacus/resources/enrichments/__init__.py b/src/isaacus/resources/enrichments/__init__.py
new file mode 100644
index 0000000..d1a9ea6
--- /dev/null
+++ b/src/isaacus/resources/enrichments/__init__.py
@@ -0,0 +1,19 @@
+# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
+
+from .enrichments import (
+ EnrichmentsResource,
+ AsyncEnrichmentsResource,
+ EnrichmentsResourceWithRawResponse,
+ AsyncEnrichmentsResourceWithRawResponse,
+ EnrichmentsResourceWithStreamingResponse,
+ AsyncEnrichmentsResourceWithStreamingResponse,
+)
+
+__all__ = [
+ "EnrichmentsResource",
+ "AsyncEnrichmentsResource",
+ "EnrichmentsResourceWithRawResponse",
+ "AsyncEnrichmentsResourceWithRawResponse",
+ "EnrichmentsResourceWithStreamingResponse",
+ "AsyncEnrichmentsResourceWithStreamingResponse",
+]
diff --git a/src/isaacus/resources/enrichments.py b/src/isaacus/resources/enrichments/enrichments.py
similarity index 95%
rename from src/isaacus/resources/enrichments.py
rename to src/isaacus/resources/enrichments/enrichments.py
index 7d1752c..d5b22c9 100644
--- a/src/isaacus/resources/enrichments.py
+++ b/src/isaacus/resources/enrichments/enrichments.py
@@ -7,19 +7,19 @@
import httpx
-from ..types import enrichment_create_params
-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 enrichment_create_params
+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.enrichment_response import EnrichmentResponse
+from ..._base_client import make_request_options
+from ...types.enrichment_response import EnrichmentResponse
__all__ = ["EnrichmentsResource", "AsyncEnrichmentsResource"]
diff --git a/src/isaacus/types/__init__.py b/src/isaacus/types/__init__.py
index 98a4f77..f1751e9 100644
--- a/src/isaacus/types/__init__.py
+++ b/src/isaacus/types/__init__.py
@@ -2,23 +2,9 @@
from __future__ import annotations
-from .ilgs_v1_date import ILGSv1Date as ILGSv1Date
-from .ilgs_v1_span import ILGSv1Span as ILGSv1Span
-from .ilgs_v1_term import ILGSv1Term as ILGSv1Term
-from .ilgs_v1_email import ILGSv1Email as ILGSv1Email
-from .ilgs_v1_quote import ILGSv1Quote as ILGSv1Quote
-from .ilgs_v1_person import ILGSv1Person as ILGSv1Person
-from .ilgs_v1_segment import ILGSv1Segment as ILGSv1Segment
-from .ilgs_v1_website import ILGSv1Website as ILGSv1Website
-from .ilgs_v1_document import ILGSv1Document as ILGSv1Document
-from .ilgs_v1_location import ILGSv1Location as ILGSv1Location
-from .ilgs_v1_id_number import ILGSv1IDNumber as ILGSv1IDNumber
from .embedding_response import EmbeddingResponse as EmbeddingResponse
from .reranking_response import RerankingResponse as RerankingResponse
from .enrichment_response import EnrichmentResponse as EnrichmentResponse
-from .ilgs_v1_phone_number import ILGSv1PhoneNumber as ILGSv1PhoneNumber
-from .ilgs_v1_crossreference import ILGSv1Crossreference as ILGSv1Crossreference
from .embedding_create_params import EmbeddingCreateParams as EmbeddingCreateParams
from .reranking_create_params import RerankingCreateParams as RerankingCreateParams
from .enrichment_create_params import EnrichmentCreateParams as EnrichmentCreateParams
-from .ilgs_v1_external_document import ILGSv1ExternalDocument as ILGSv1ExternalDocument
diff --git a/src/isaacus/types/enrichment_response.py b/src/isaacus/types/enrichment_response.py
index 70de77f..d49ab77 100644
--- a/src/isaacus/types/enrichment_response.py
+++ b/src/isaacus/types/enrichment_response.py
@@ -3,7 +3,7 @@
from typing import List
from .._models import BaseModel
-from .ilgs_v1_document import ILGSv1Document
+from .enrichments.document import Document
__all__ = ["EnrichmentResponse", "Result", "Usage"]
@@ -17,7 +17,7 @@ class Result(BaseModel):
therefore, ending at the number of inputs minus `1`).
"""
- document: ILGSv1Document
+ document: Document
"""The enriched document."""
diff --git a/src/isaacus/types/enrichments/__init__.py b/src/isaacus/types/enrichments/__init__.py
new file mode 100644
index 0000000..6f8d0d9
--- /dev/null
+++ b/src/isaacus/types/enrichments/__init__.py
@@ -0,0 +1,18 @@
+# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
+
+from __future__ import annotations
+
+from .date import Date as Date
+from .span import Span as Span
+from .term import Term as Term
+from .email import Email as Email
+from .quote import Quote as Quote
+from .person import Person as Person
+from .segment import Segment as Segment
+from .website import Website as Website
+from .document import Document as Document
+from .location import Location as Location
+from .id_number import IDNumber as IDNumber
+from .phone_number import PhoneNumber as PhoneNumber
+from .crossreference import Crossreference as Crossreference
+from .external_document import ExternalDocument as ExternalDocument
diff --git a/src/isaacus/types/ilgs_v1_crossreference.py b/src/isaacus/types/enrichments/crossreference.py
similarity index 90%
rename from src/isaacus/types/ilgs_v1_crossreference.py
rename to src/isaacus/types/enrichments/crossreference.py
index 69b1fdc..8d8e4d2 100644
--- a/src/isaacus/types/ilgs_v1_crossreference.py
+++ b/src/isaacus/types/enrichments/crossreference.py
@@ -1,12 +1,12 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
-from .._models import BaseModel
-from .ilgs_v1_span import ILGSv1Span
+from .span import Span
+from ..._models import BaseModel
-__all__ = ["ILGSv1Crossreference"]
+__all__ = ["Crossreference"]
-class ILGSv1Crossreference(BaseModel):
+class Crossreference(BaseModel):
"""A cross-reference within the document pointing to one or more segments."""
start: str
@@ -25,7 +25,7 @@ class ILGSv1Crossreference(BaseModel):
will be identical.
"""
- span: ILGSv1Span
+ span: Span
"""A zero-based, half-open span into the Unicode code point space of input text.
All spans are globally laminar and well-nested similar to XML—it is impossible
diff --git a/src/isaacus/types/ilgs_v1_date.py b/src/isaacus/types/enrichments/date.py
similarity index 94%
rename from src/isaacus/types/ilgs_v1_date.py
rename to src/isaacus/types/enrichments/date.py
index f210daf..2977398 100644
--- a/src/isaacus/types/ilgs_v1_date.py
+++ b/src/isaacus/types/enrichments/date.py
@@ -3,13 +3,13 @@
from typing import List, Optional
from typing_extensions import Literal
-from .._models import BaseModel
-from .ilgs_v1_span import ILGSv1Span
+from .span import Span
+from ..._models import BaseModel
-__all__ = ["ILGSv1Date"]
+__all__ = ["Date"]
-class ILGSv1Date(BaseModel):
+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`.
@@ -63,7 +63,7 @@ class ILGSv1Date(BaseModel):
`{index}` is a non-negative incrementing integer starting from zero.
"""
- mentions: List[ILGSv1Span]
+ mentions: List[Span]
"""
An array of one or more spans within the document's text where the date is
mentioned.
diff --git a/src/isaacus/types/ilgs_v1_document.py b/src/isaacus/types/enrichments/document.py
similarity index 79%
rename from src/isaacus/types/ilgs_v1_document.py
rename to src/isaacus/types/enrichments/document.py
index d173736..d9383fd 100644
--- a/src/isaacus/types/ilgs_v1_document.py
+++ b/src/isaacus/types/enrichments/document.py
@@ -3,28 +3,28 @@
from typing import List, Optional
from typing_extensions import Literal
-from .._models import BaseModel
-from .ilgs_v1_date import ILGSv1Date
-from .ilgs_v1_span import ILGSv1Span
-from .ilgs_v1_term import ILGSv1Term
-from .ilgs_v1_email import ILGSv1Email
-from .ilgs_v1_quote import ILGSv1Quote
-from .ilgs_v1_person import ILGSv1Person
-from .ilgs_v1_segment import ILGSv1Segment
-from .ilgs_v1_website import ILGSv1Website
-from .ilgs_v1_location import ILGSv1Location
-from .ilgs_v1_id_number import ILGSv1IDNumber
-from .ilgs_v1_phone_number import ILGSv1PhoneNumber
-from .ilgs_v1_crossreference import ILGSv1Crossreference
-from .ilgs_v1_external_document import ILGSv1ExternalDocument
-
-__all__ = ["ILGSv1Document"]
-
-
-class ILGSv1Document(BaseModel):
+from .date import Date
+from .span import Span
+from .term import Term
+from .email import Email
+from .quote import Quote
+from .person import Person
+from .segment import Segment
+from .website import Website
+from .location import Location
+from ..._models import BaseModel
+from .id_number import IDNumber
+from .phone_number import PhoneNumber
+from .crossreference import Crossreference
+from .external_document import ExternalDocument
+
+__all__ = ["Document"]
+
+
+class Document(BaseModel):
"""The enriched document."""
- title: Optional[ILGSv1Span] = None
+ title: Optional[Span] = None
"""A zero-based, half-open span into the Unicode code point space of input text.
All spans are globally laminar and well-nested similar to XML—it is impossible
@@ -40,7 +40,7 @@ class ILGSv1Document(BaseModel):
code units instead of Unicode code points).
"""
- subtitle: Optional[ILGSv1Span] = None
+ subtitle: Optional[Span] = None
"""A zero-based, half-open span into the Unicode code point space of input text.
All spans are globally laminar and well-nested similar to XML—it is impossible
@@ -88,25 +88,25 @@ class ILGSv1Document(BaseModel):
code for federal law.
"""
- segments: List[ILGSv1Segment]
+ segments: List[Segment]
"""
An array of segments within the document representing structurally distinct
portions of its content.
"""
- crossreferences: List[ILGSv1Crossreference]
+ crossreferences: List[Crossreference]
"""
An array of cross-references within the document pointing to a single segment or
a span of segments.
"""
- locations: List[ILGSv1Location]
+ locations: List[Location]
"""An array of locations identified in the document."""
- persons: List[ILGSv1Person]
+ persons: List[Person]
"""An array of legal persons identified in the document."""
- emails: List[ILGSv1Email]
+ emails: List[Email]
"""
An array of email addresses identified in the document belonging to legal
persons.
@@ -115,14 +115,14 @@ class ILGSv1Document(BaseModel):
persons will not be extracted.
"""
- websites: List[ILGSv1Website]
+ websites: List[Website]
"""An array of websites identified in the document belonging to legal persons.
Websites mentioned in the document that are not attributable to legal persons
will not be extracted.
"""
- phone_numbers: List[ILGSv1PhoneNumber]
+ phone_numbers: List[PhoneNumber]
"""
An array of valid phone numbers identified in the document belonging to legal
persons.
@@ -131,7 +131,7 @@ class ILGSv1Document(BaseModel):
attributable to legal persons will not be extracted.
"""
- id_numbers: List[ILGSv1IDNumber]
+ id_numbers: List[IDNumber]
"""
An array of identification numbers identified in the document belonging to legal
persons.
@@ -140,16 +140,16 @@ class ILGSv1Document(BaseModel):
legal persons will not be extracted.
"""
- terms: List[ILGSv1Term]
+ terms: List[Term]
"""An array of terms assigned definite meanings within the document."""
- external_documents: List[ILGSv1ExternalDocument]
+ external_documents: List[ExternalDocument]
"""An array of documents identified within the document."""
- quotes: List[ILGSv1Quote]
+ quotes: List[Quote]
"""An array of quotations within the document."""
- dates: List[ILGSv1Date]
+ dates: List[Date]
"""
An array of dates identified in the document belonging to one of the following
types: `creation`, `signature`, `effective`, `expiry`, `delivery`, `renewal`,
@@ -159,10 +159,10 @@ class ILGSv1Document(BaseModel):
one of the supported date types are extractable.
"""
- headings: List[ILGSv1Span]
+ headings: List[Span]
"""An array of spans within the document's text constituting headings."""
- junk: List[ILGSv1Span]
+ junk: List[Span]
"""
An array of spans within the document's text constituting non-operative,
non-substantive 'junk' content such as headers, footers, page numbers, and OCR
diff --git a/src/isaacus/types/ilgs_v1_email.py b/src/isaacus/types/enrichments/email.py
similarity index 79%
rename from src/isaacus/types/ilgs_v1_email.py
rename to src/isaacus/types/enrichments/email.py
index ccae60d..dfffbe7 100644
--- a/src/isaacus/types/ilgs_v1_email.py
+++ b/src/isaacus/types/enrichments/email.py
@@ -2,13 +2,13 @@
from typing import List
-from .._models import BaseModel
-from .ilgs_v1_span import ILGSv1Span
+from .span import Span
+from ..._models import BaseModel
-__all__ = ["ILGSv1Email"]
+__all__ = ["Email"]
-class ILGSv1Email(BaseModel):
+class Email(BaseModel):
"""An email address identified in a document belonging to a legal person.
If an email address was mentioned in the document but is not attributable to a legal person, it will not be extracted.
@@ -20,7 +20,7 @@ class ILGSv1Email(BaseModel):
person: str
"""The unique identifier of the person that this email address belongs to."""
- mentions: List[ILGSv1Span]
+ mentions: List[Span]
"""
An array of one or more spans within the document's text where the email address
is mentioned.
diff --git a/src/isaacus/types/ilgs_v1_external_document.py b/src/isaacus/types/enrichments/external_document.py
similarity index 94%
rename from src/isaacus/types/ilgs_v1_external_document.py
rename to src/isaacus/types/enrichments/external_document.py
index 893624c..e6e0cbb 100644
--- a/src/isaacus/types/ilgs_v1_external_document.py
+++ b/src/isaacus/types/enrichments/external_document.py
@@ -3,13 +3,13 @@
from typing import List, Optional
from typing_extensions import Literal
-from .._models import BaseModel
-from .ilgs_v1_span import ILGSv1Span
+from .span import Span
+from ..._models import BaseModel
-__all__ = ["ILGSv1ExternalDocument"]
+__all__ = ["ExternalDocument"]
-class ILGSv1ExternalDocument(BaseModel):
+class ExternalDocument(BaseModel):
"""A document identified within another document."""
id: str
@@ -18,7 +18,7 @@ class ILGSv1ExternalDocument(BaseModel):
`{index}` is a non-negative incrementing integer starting from zero.
"""
- name: ILGSv1Span
+ name: Span
"""A zero-based, half-open span into the Unicode code point space of input text.
All spans are globally laminar and well-nested similar to XML—it is impossible
@@ -86,14 +86,14 @@ class ILGSv1ExternalDocument(BaseModel):
expressing any particular sentiment towards it.
"""
- mentions: List[ILGSv1Span]
+ mentions: List[Span]
"""
An array of one or more spans within the document's text where the external
document is mentioned by name, for example, 'the US Constitution' in 'the Second
Amendment to the US Constitution protects freedom of speech'.
"""
- pinpoints: List[ILGSv1Span]
+ pinpoints: List[Span]
"""
An array of spans within the document's text where specific parts of the
external document are referenced, for example, 'Section 2' in 'as defined in
diff --git a/src/isaacus/types/ilgs_v1_id_number.py b/src/isaacus/types/enrichments/id_number.py
similarity index 79%
rename from src/isaacus/types/ilgs_v1_id_number.py
rename to src/isaacus/types/enrichments/id_number.py
index 33fe661..23d18dd 100644
--- a/src/isaacus/types/ilgs_v1_id_number.py
+++ b/src/isaacus/types/enrichments/id_number.py
@@ -2,13 +2,13 @@
from typing import List
-from .._models import BaseModel
-from .ilgs_v1_span import ILGSv1Span
+from .span import Span
+from ..._models import BaseModel
-__all__ = ["ILGSv1IDNumber"]
+__all__ = ["IDNumber"]
-class ILGSv1IDNumber(BaseModel):
+class IDNumber(BaseModel):
"""An identification number mentioned in a document belonging to a legal person.
If an identification number was mentioned in the document but is not attributable to a legal person, it will not be extracted.
@@ -20,7 +20,7 @@ class ILGSv1IDNumber(BaseModel):
person: str
"""The unique identifier of the person that this identification number belongs to."""
- mentions: List[ILGSv1Span]
+ mentions: List[Span]
"""
An array of one or more spans within the document's text where the
identification number is mentioned.
diff --git a/src/isaacus/types/ilgs_v1_location.py b/src/isaacus/types/enrichments/location.py
similarity index 89%
rename from src/isaacus/types/ilgs_v1_location.py
rename to src/isaacus/types/enrichments/location.py
index a441c4d..45b6620 100644
--- a/src/isaacus/types/ilgs_v1_location.py
+++ b/src/isaacus/types/enrichments/location.py
@@ -3,13 +3,13 @@
from typing import List, Optional
from typing_extensions import Literal
-from .._models import BaseModel
-from .ilgs_v1_span import ILGSv1Span
+from .span import Span
+from ..._models import BaseModel
-__all__ = ["ILGSv1Location"]
+__all__ = ["Location"]
-class ILGSv1Location(BaseModel):
+class Location(BaseModel):
"""A location identified within a document."""
id: str
@@ -18,7 +18,7 @@ class ILGSv1Location(BaseModel):
`{index}` is a non-negative incrementing integer starting from zero.
"""
- name: ILGSv1Span
+ name: Span
"""A zero-based, half-open span into the Unicode code point space of input text.
All spans are globally laminar and well-nested similar to XML—it is impossible
@@ -46,7 +46,7 @@ class ILGSv1Location(BaseModel):
is a non-negative incrementing integer starting from zero.
"""
- mentions: List[ILGSv1Span]
+ mentions: List[Span]
"""
An array of one or more spans within the document's text where the location is
mentioned.
diff --git a/src/isaacus/types/ilgs_v1_person.py b/src/isaacus/types/enrichments/person.py
similarity index 98%
rename from src/isaacus/types/ilgs_v1_person.py
rename to src/isaacus/types/enrichments/person.py
index db1a9e7..c6ef228 100644
--- a/src/isaacus/types/ilgs_v1_person.py
+++ b/src/isaacus/types/enrichments/person.py
@@ -3,13 +3,13 @@
from typing import List, Optional
from typing_extensions import Literal
-from .._models import BaseModel
-from .ilgs_v1_span import ILGSv1Span
+from .span import Span
+from ..._models import BaseModel
-__all__ = ["ILGSv1Person"]
+__all__ = ["Person"]
-class ILGSv1Person(BaseModel):
+class Person(BaseModel):
"""A legal person identified in a document."""
id: str
@@ -18,7 +18,7 @@ class ILGSv1Person(BaseModel):
is a non-negative incrementing integer starting from zero.
"""
- name: ILGSv1Span
+ name: Span
"""A zero-based, half-open span into the Unicode code point space of input text.
All spans are globally laminar and well-nested similar to XML—it is impossible
@@ -188,7 +188,7 @@ class ILGSv1Person(BaseModel):
is a non-negative incrementing integer starting from zero.
"""
- mentions: List[ILGSv1Span]
+ mentions: List[Span]
"""
An array of one or more spans within the document's text where the person is
mentioned.
diff --git a/src/isaacus/types/ilgs_v1_phone_number.py b/src/isaacus/types/enrichments/phone_number.py
similarity index 81%
rename from src/isaacus/types/ilgs_v1_phone_number.py
rename to src/isaacus/types/enrichments/phone_number.py
index 6906278..a224c2b 100644
--- a/src/isaacus/types/ilgs_v1_phone_number.py
+++ b/src/isaacus/types/enrichments/phone_number.py
@@ -2,13 +2,13 @@
from typing import List
-from .._models import BaseModel
-from .ilgs_v1_span import ILGSv1Span
+from .span import Span
+from ..._models import BaseModel
-__all__ = ["ILGSv1PhoneNumber"]
+__all__ = ["PhoneNumber"]
-class ILGSv1PhoneNumber(BaseModel):
+class PhoneNumber(BaseModel):
"""A valid phone number identified in a document belonging to a legal person.
If a phone number was mentioned in the document but is not valid, possible, or attributable to a legal person, it will not be extracted.
@@ -23,7 +23,7 @@ class ILGSv1PhoneNumber(BaseModel):
person: str
"""The unique identifier of the person that this phone number belongs to."""
- mentions: List[ILGSv1Span]
+ mentions: List[Span]
"""
An array of one or more spans within the document's text where the phone number
is mentioned.
diff --git a/src/isaacus/types/ilgs_v1_quote.py b/src/isaacus/types/enrichments/quote.py
similarity index 91%
rename from src/isaacus/types/ilgs_v1_quote.py
rename to src/isaacus/types/enrichments/quote.py
index 36a2288..5368c94 100644
--- a/src/isaacus/types/ilgs_v1_quote.py
+++ b/src/isaacus/types/enrichments/quote.py
@@ -2,13 +2,13 @@
from typing import Optional
-from .._models import BaseModel
-from .ilgs_v1_span import ILGSv1Span
+from .span import Span
+from ..._models import BaseModel
-__all__ = ["ILGSv1Quote"]
+__all__ = ["Quote"]
-class ILGSv1Quote(BaseModel):
+class Quote(BaseModel):
"""A quotation within a document."""
source_segment: Optional[str] = None
@@ -35,7 +35,7 @@ class ILGSv1Quote(BaseModel):
documents.
"""
- span: ILGSv1Span
+ span: Span
"""A zero-based, half-open span into the Unicode code point space of input text.
All spans are globally laminar and well-nested similar to XML—it is impossible
diff --git a/src/isaacus/types/ilgs_v1_segment.py b/src/isaacus/types/enrichments/segment.py
similarity index 96%
rename from src/isaacus/types/ilgs_v1_segment.py
rename to src/isaacus/types/enrichments/segment.py
index b3a61dd..6a19b08 100644
--- a/src/isaacus/types/ilgs_v1_segment.py
+++ b/src/isaacus/types/enrichments/segment.py
@@ -3,13 +3,13 @@
from typing import Optional
from typing_extensions import Literal
-from .._models import BaseModel
-from .ilgs_v1_span import ILGSv1Span
+from .span import Span
+from ..._models import BaseModel
-__all__ = ["ILGSv1Segment"]
+__all__ = ["Segment"]
-class ILGSv1Segment(BaseModel):
+class Segment(BaseModel):
"""
A segment within the document representing a structurally distinct portion of the document's content.
"""
@@ -134,7 +134,7 @@ class ILGSv1Segment(BaseModel):
`other` denotes content that does not fit into any of the other categories.
"""
- type_name: Optional[ILGSv1Span] = None
+ type_name: Optional[Span] = None
"""A zero-based, half-open span into the Unicode code point space of input text.
All spans are globally laminar and well-nested similar to XML—it is impossible
@@ -150,7 +150,7 @@ class ILGSv1Segment(BaseModel):
code units instead of Unicode code points).
"""
- code: Optional[ILGSv1Span] = None
+ code: Optional[Span] = None
"""A zero-based, half-open span into the Unicode code point space of input text.
All spans are globally laminar and well-nested similar to XML—it is impossible
@@ -166,7 +166,7 @@ class ILGSv1Segment(BaseModel):
code units instead of Unicode code points).
"""
- title: Optional[ILGSv1Span] = None
+ title: Optional[Span] = None
"""A zero-based, half-open span into the Unicode code point space of input text.
All spans are globally laminar and well-nested similar to XML—it is impossible
@@ -188,7 +188,7 @@ class ILGSv1Segment(BaseModel):
a non-negative incrementing integer starting from zero.
"""
- span: ILGSv1Span
+ span: Span
"""A zero-based, half-open span into the Unicode code point space of input text.
All spans are globally laminar and well-nested similar to XML—it is impossible
diff --git a/src/isaacus/types/ilgs_v1_span.py b/src/isaacus/types/enrichments/span.py
similarity index 92%
rename from src/isaacus/types/ilgs_v1_span.py
rename to src/isaacus/types/enrichments/span.py
index 45aad71..327c94d 100644
--- a/src/isaacus/types/ilgs_v1_span.py
+++ b/src/isaacus/types/enrichments/span.py
@@ -1,11 +1,11 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
-from .._models import BaseModel
+from ..._models import BaseModel
-__all__ = ["ILGSv1Span"]
+__all__ = ["Span"]
-class ILGSv1Span(BaseModel):
+class Span(BaseModel):
"""A zero-based, half-open span into the Unicode code point space of input text.
All spans are globally laminar and well-nested similar to XML—it is impossible for any two spans to partially overlap; they can only be disjoint, adjacent, or wholly nested. Spans of the exact same type (e.g., segments) will never be duplicated.
diff --git a/src/isaacus/types/ilgs_v1_term.py b/src/isaacus/types/enrichments/term.py
similarity index 91%
rename from src/isaacus/types/ilgs_v1_term.py
rename to src/isaacus/types/enrichments/term.py
index db03338..4ceb2f0 100644
--- a/src/isaacus/types/ilgs_v1_term.py
+++ b/src/isaacus/types/enrichments/term.py
@@ -2,13 +2,13 @@
from typing import List
-from .._models import BaseModel
-from .ilgs_v1_span import ILGSv1Span
+from .span import Span
+from ..._models import BaseModel
-__all__ = ["ILGSv1Term"]
+__all__ = ["Term"]
-class ILGSv1Term(BaseModel):
+class Term(BaseModel):
"""A term assigned a definite meaning within a document."""
id: str
@@ -17,7 +17,7 @@ class ILGSv1Term(BaseModel):
is a non-negative incrementing integer starting from zero.
"""
- name: ILGSv1Span
+ name: Span
"""A zero-based, half-open span into the Unicode code point space of input text.
All spans are globally laminar and well-nested similar to XML—it is impossible
@@ -33,7 +33,7 @@ class ILGSv1Term(BaseModel):
code units instead of Unicode code points).
"""
- meaning: ILGSv1Span
+ meaning: Span
"""A zero-based, half-open span into the Unicode code point space of input text.
All spans are globally laminar and well-nested similar to XML—it is impossible
@@ -49,7 +49,7 @@ class ILGSv1Term(BaseModel):
code units instead of Unicode code points).
"""
- mentions: List[ILGSv1Span]
+ mentions: List[Span]
"""
An array of spans within the document's text where the term is mentioned outside
of its definition.
diff --git a/src/isaacus/types/ilgs_v1_website.py b/src/isaacus/types/enrichments/website.py
similarity index 81%
rename from src/isaacus/types/ilgs_v1_website.py
rename to src/isaacus/types/enrichments/website.py
index 5c0ac9a..e6e5099 100644
--- a/src/isaacus/types/ilgs_v1_website.py
+++ b/src/isaacus/types/enrichments/website.py
@@ -2,13 +2,13 @@
from typing import List
-from .._models import BaseModel
-from .ilgs_v1_span import ILGSv1Span
+from .span import Span
+from ..._models import BaseModel
-__all__ = ["ILGSv1Website"]
+__all__ = ["Website"]
-class ILGSv1Website(BaseModel):
+class Website(BaseModel):
"""A website identified in a document belonging to a legal person.
If a website was mentioned in the document but is not attributable to a legal person, it will not be extracted.
@@ -20,7 +20,7 @@ class ILGSv1Website(BaseModel):
person: str
"""The unique identifier of the person that this website belongs to."""
- mentions: List[ILGSv1Span]
+ mentions: List[Span]
"""
An array of one or more spans within the document's text where the website is
mentioned (including paths and slugs which are not part of the website's
diff --git a/tests/api_resources/enrichments/__init__.py b/tests/api_resources/enrichments/__init__.py
new file mode 100644
index 0000000..fd8019a
--- /dev/null
+++ b/tests/api_resources/enrichments/__init__.py
@@ -0,0 +1 @@
+# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
From e196566b8c5ef8e876f6d6c0d31393e17d24926f Mon Sep 17 00:00:00 2001
From: "stainless-app[bot]"
<142633134+stainless-app[bot]@users.noreply.github.com>
Date: Wed, 4 Feb 2026 01:25:41 +0000
Subject: [PATCH 2/8] feat(sdk): move ilgs to its own resource
---
.stats.yml | 2 +-
api.md | 14 ++++++++++---
src/isaacus/_client.py | 2 +-
.../resources/classifications/universal.py | 5 +++--
.../{enrichments => }/enrichments.py | 16 +++++++-------
src/isaacus/resources/enrichments/__init__.py | 19 -----------------
src/isaacus/resources/extractions/qa.py | 5 +++--
src/isaacus/resources/rerankings.py | 5 +++--
src/isaacus/types/__init__.py | 1 +
.../universal_create_params.py | 16 ++------------
src/isaacus/types/enrichment_response.py | 2 +-
.../types/extractions/qa_create_params.py | 16 ++------------
.../types/{enrichments => ilgs}/__init__.py | 0
.../{enrichments => ilgs}/crossreference.py | 0
.../types/{enrichments => ilgs}/date.py | 0
.../types/{enrichments => ilgs}/document.py | 0
.../types/{enrichments => ilgs}/email.py | 0
.../external_document.py | 0
.../types/{enrichments => ilgs}/id_number.py | 0
.../types/{enrichments => ilgs}/location.py | 0
.../types/{enrichments => ilgs}/person.py | 0
.../{enrichments => ilgs}/phone_number.py | 0
.../types/{enrichments => ilgs}/quote.py | 0
.../types/{enrichments => ilgs}/segment.py | 0
.../types/{enrichments => ilgs}/span.py | 0
.../types/{enrichments => ilgs}/term.py | 0
.../types/{enrichments => ilgs}/website.py | 0
src/isaacus/types/reranking_create_params.py | 16 ++------------
.../isaacus/types/shared}/__init__.py | 2 ++
src/isaacus/types/shared/chunking_options.py | 20 ++++++++++++++++++
src/isaacus/types/shared_params/__init__.py | 3 +++
.../types/shared_params/chunking_options.py | 21 +++++++++++++++++++
32 files changed, 84 insertions(+), 81 deletions(-)
rename src/isaacus/resources/{enrichments => }/enrichments.py (95%)
delete mode 100644 src/isaacus/resources/enrichments/__init__.py
rename src/isaacus/types/{enrichments => ilgs}/__init__.py (100%)
rename src/isaacus/types/{enrichments => ilgs}/crossreference.py (100%)
rename src/isaacus/types/{enrichments => ilgs}/date.py (100%)
rename src/isaacus/types/{enrichments => ilgs}/document.py (100%)
rename src/isaacus/types/{enrichments => ilgs}/email.py (100%)
rename src/isaacus/types/{enrichments => ilgs}/external_document.py (100%)
rename src/isaacus/types/{enrichments => ilgs}/id_number.py (100%)
rename src/isaacus/types/{enrichments => ilgs}/location.py (100%)
rename src/isaacus/types/{enrichments => ilgs}/person.py (100%)
rename src/isaacus/types/{enrichments => ilgs}/phone_number.py (100%)
rename src/isaacus/types/{enrichments => ilgs}/quote.py (100%)
rename src/isaacus/types/{enrichments => ilgs}/segment.py (100%)
rename src/isaacus/types/{enrichments => ilgs}/span.py (100%)
rename src/isaacus/types/{enrichments => ilgs}/term.py (100%)
rename src/isaacus/types/{enrichments => ilgs}/website.py (100%)
rename {tests/api_resources/enrichments => src/isaacus/types/shared}/__init__.py (56%)
create mode 100644 src/isaacus/types/shared/chunking_options.py
create mode 100644 src/isaacus/types/shared_params/__init__.py
create mode 100644 src/isaacus/types/shared_params/chunking_options.py
diff --git a/.stats.yml b/.stats.yml
index 044502f..6a23104 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-fa910a5a3d1321234423bd8c042d202a64d4d956ef45847b4de358cb18e447eb.yml
openapi_spec_hash: 926b9b619c15e8570e496e11d4fb753e
-config_hash: 6989204ddc6219d42aeefea50912c031
+config_hash: 4905dce1697ac01039f6ceb525fadec2
diff --git a/api.md b/api.md
index 77707af..a194f7e 100644
--- a/api.md
+++ b/api.md
@@ -1,3 +1,9 @@
+# Shared Types
+
+```python
+from isaacus.types import ChunkingOptions
+```
+
# Embeddings
Types:
@@ -60,14 +66,16 @@ from isaacus.types import EnrichmentResponse
Methods:
-- client.enrichments.create(\*\*params) -> EnrichmentResponse
+- client.enrichments.create(\*\*params) -> EnrichmentResponse
+
+# ILGS
-## Ilgsv1
+## v1
Types:
```python
-from isaacus.types.enrichments import (
+from isaacus.types.ilgs import (
Crossreference,
Date,
Document,
diff --git a/src/isaacus/_client.py b/src/isaacus/_client.py
index 0c4bd94..ae83c36 100644
--- a/src/isaacus/_client.py
+++ b/src/isaacus/_client.py
@@ -34,7 +34,7 @@
from .resources import embeddings, rerankings, enrichments, extractions, classifications
from .resources.embeddings import EmbeddingsResource, AsyncEmbeddingsResource
from .resources.rerankings import RerankingsResource, AsyncRerankingsResource
- from .resources.enrichments.enrichments import EnrichmentsResource, AsyncEnrichmentsResource
+ from .resources.enrichments import EnrichmentsResource, AsyncEnrichmentsResource
from .resources.extractions.extractions import ExtractionsResource, AsyncExtractionsResource
from .resources.classifications.classifications import ClassificationsResource, AsyncClassificationsResource
diff --git a/src/isaacus/resources/classifications/universal.py b/src/isaacus/resources/classifications/universal.py
index 780394b..98bfb38 100644
--- a/src/isaacus/resources/classifications/universal.py
+++ b/src/isaacus/resources/classifications/universal.py
@@ -19,6 +19,7 @@
)
from ..._base_client import make_request_options
from ...types.classifications import universal_create_params
+from ...types.shared_params.chunking_options import ChunkingOptions
from ...types.classifications.universal_classification_response import UniversalClassificationResponse
__all__ = ["UniversalResource", "AsyncUniversalResource"]
@@ -52,7 +53,7 @@ def create(
texts: SequenceNotStr[str],
is_iql: bool | Omit = omit,
scoring_method: Literal["auto", "chunk_max", "chunk_avg", "chunk_min"] | Omit = omit,
- chunking_options: Optional[universal_create_params.ChunkingOptions] | Omit = omit,
+ chunking_options: Optional[ChunkingOptions] | 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,7 +154,7 @@ async def create(
texts: SequenceNotStr[str],
is_iql: bool | Omit = omit,
scoring_method: Literal["auto", "chunk_max", "chunk_avg", "chunk_min"] | Omit = omit,
- chunking_options: Optional[universal_create_params.ChunkingOptions] | Omit = omit,
+ chunking_options: Optional[ChunkingOptions] | 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,
diff --git a/src/isaacus/resources/enrichments/enrichments.py b/src/isaacus/resources/enrichments.py
similarity index 95%
rename from src/isaacus/resources/enrichments/enrichments.py
rename to src/isaacus/resources/enrichments.py
index d5b22c9..7d1752c 100644
--- a/src/isaacus/resources/enrichments/enrichments.py
+++ b/src/isaacus/resources/enrichments.py
@@ -7,19 +7,19 @@
import httpx
-from ...types import enrichment_create_params
-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 enrichment_create_params
+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.enrichment_response import EnrichmentResponse
+from .._base_client import make_request_options
+from ..types.enrichment_response import EnrichmentResponse
__all__ = ["EnrichmentsResource", "AsyncEnrichmentsResource"]
diff --git a/src/isaacus/resources/enrichments/__init__.py b/src/isaacus/resources/enrichments/__init__.py
deleted file mode 100644
index d1a9ea6..0000000
--- a/src/isaacus/resources/enrichments/__init__.py
+++ /dev/null
@@ -1,19 +0,0 @@
-# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
-
-from .enrichments import (
- EnrichmentsResource,
- AsyncEnrichmentsResource,
- EnrichmentsResourceWithRawResponse,
- AsyncEnrichmentsResourceWithRawResponse,
- EnrichmentsResourceWithStreamingResponse,
- AsyncEnrichmentsResourceWithStreamingResponse,
-)
-
-__all__ = [
- "EnrichmentsResource",
- "AsyncEnrichmentsResource",
- "EnrichmentsResourceWithRawResponse",
- "AsyncEnrichmentsResourceWithRawResponse",
- "EnrichmentsResourceWithStreamingResponse",
- "AsyncEnrichmentsResourceWithStreamingResponse",
-]
diff --git a/src/isaacus/resources/extractions/qa.py b/src/isaacus/resources/extractions/qa.py
index 454f3e0..e248ad2 100644
--- a/src/isaacus/resources/extractions/qa.py
+++ b/src/isaacus/resources/extractions/qa.py
@@ -19,6 +19,7 @@
)
from ..._base_client import make_request_options
from ...types.extractions import qa_create_params
+from ...types.shared_params.chunking_options import ChunkingOptions
from ...types.extractions.answer_extraction_response import AnswerExtractionResponse
__all__ = ["QAResource", "AsyncQAResource"]
@@ -52,7 +53,7 @@ def create(
texts: SequenceNotStr[str],
ignore_inextractability: bool | Omit = omit,
top_k: int | Omit = omit,
- chunking_options: Optional[qa_create_params.ChunkingOptions] | Omit = omit,
+ chunking_options: Optional[ChunkingOptions] | 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,
@@ -152,7 +153,7 @@ async def create(
texts: SequenceNotStr[str],
ignore_inextractability: bool | Omit = omit,
top_k: int | Omit = omit,
- chunking_options: Optional[qa_create_params.ChunkingOptions] | Omit = omit,
+ chunking_options: Optional[ChunkingOptions] | 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,
diff --git a/src/isaacus/resources/rerankings.py b/src/isaacus/resources/rerankings.py
index cde9f98..20ebda1 100644
--- a/src/isaacus/resources/rerankings.py
+++ b/src/isaacus/resources/rerankings.py
@@ -20,6 +20,7 @@
)
from .._base_client import make_request_options
from ..types.reranking_response import RerankingResponse
+from ..types.shared_params.chunking_options import ChunkingOptions
__all__ = ["RerankingsResource", "AsyncRerankingsResource"]
@@ -53,7 +54,7 @@ def create(
top_n: Optional[int] | Omit = omit,
is_iql: bool | Omit = omit,
scoring_method: Literal["auto", "chunk_max", "chunk_avg", "chunk_min"] | Omit = omit,
- chunking_options: Optional[reranking_create_params.ChunkingOptions] | Omit = omit,
+ chunking_options: Optional[ChunkingOptions] | 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,
@@ -164,7 +165,7 @@ async def create(
top_n: Optional[int] | Omit = omit,
is_iql: bool | Omit = omit,
scoring_method: Literal["auto", "chunk_max", "chunk_avg", "chunk_min"] | Omit = omit,
- chunking_options: Optional[reranking_create_params.ChunkingOptions] | Omit = omit,
+ chunking_options: Optional[ChunkingOptions] | 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,
diff --git a/src/isaacus/types/__init__.py b/src/isaacus/types/__init__.py
index f1751e9..4e4385e 100644
--- a/src/isaacus/types/__init__.py
+++ b/src/isaacus/types/__init__.py
@@ -2,6 +2,7 @@
from __future__ import annotations
+from .shared import ChunkingOptions as ChunkingOptions
from .embedding_response import EmbeddingResponse as EmbeddingResponse
from .reranking_response import RerankingResponse as RerankingResponse
from .enrichment_response import EnrichmentResponse as EnrichmentResponse
diff --git a/src/isaacus/types/classifications/universal_create_params.py b/src/isaacus/types/classifications/universal_create_params.py
index 8130d0e..b1c30a5 100644
--- a/src/isaacus/types/classifications/universal_create_params.py
+++ b/src/isaacus/types/classifications/universal_create_params.py
@@ -6,8 +6,9 @@
from typing_extensions import Literal, Required, TypedDict
from ..._types import SequenceNotStr
+from ..shared_params.chunking_options import ChunkingOptions
-__all__ = ["UniversalCreateParams", "ChunkingOptions"]
+__all__ = ["UniversalCreateParams"]
class UniversalCreateParams(TypedDict, total=False):
@@ -56,16 +57,3 @@ class UniversalCreateParams(TypedDict, total=False):
chunking_options: Optional[ChunkingOptions]
"""Options for how to split text into smaller chunks."""
-
-
-class ChunkingOptions(TypedDict, total=False):
- """Options for how to split text into smaller chunks."""
-
- size: Optional[int]
- """A whole number greater than or equal to 1."""
-
- overlap_ratio: Optional[float]
- """A number greater than or equal to 0 and less than 1."""
-
- overlap_tokens: Optional[int]
- """A whole number greater than or equal to 0."""
diff --git a/src/isaacus/types/enrichment_response.py b/src/isaacus/types/enrichment_response.py
index d49ab77..6324b82 100644
--- a/src/isaacus/types/enrichment_response.py
+++ b/src/isaacus/types/enrichment_response.py
@@ -3,7 +3,7 @@
from typing import List
from .._models import BaseModel
-from .enrichments.document import Document
+from .ilgs.document import Document
__all__ = ["EnrichmentResponse", "Result", "Usage"]
diff --git a/src/isaacus/types/extractions/qa_create_params.py b/src/isaacus/types/extractions/qa_create_params.py
index 994fc00..35b8c3f 100644
--- a/src/isaacus/types/extractions/qa_create_params.py
+++ b/src/isaacus/types/extractions/qa_create_params.py
@@ -6,8 +6,9 @@
from typing_extensions import Literal, Required, TypedDict
from ..._types import SequenceNotStr
+from ..shared_params.chunking_options import ChunkingOptions
-__all__ = ["QACreateParams", "ChunkingOptions"]
+__all__ = ["QACreateParams"]
class QACreateParams(TypedDict, total=False):
@@ -54,16 +55,3 @@ class QACreateParams(TypedDict, total=False):
chunking_options: Optional[ChunkingOptions]
"""Options for how to split text into smaller chunks."""
-
-
-class ChunkingOptions(TypedDict, total=False):
- """Options for how to split text into smaller chunks."""
-
- size: Optional[int]
- """A whole number greater than or equal to 1."""
-
- overlap_ratio: Optional[float]
- """A number greater than or equal to 0 and less than 1."""
-
- overlap_tokens: Optional[int]
- """A whole number greater than or equal to 0."""
diff --git a/src/isaacus/types/enrichments/__init__.py b/src/isaacus/types/ilgs/__init__.py
similarity index 100%
rename from src/isaacus/types/enrichments/__init__.py
rename to src/isaacus/types/ilgs/__init__.py
diff --git a/src/isaacus/types/enrichments/crossreference.py b/src/isaacus/types/ilgs/crossreference.py
similarity index 100%
rename from src/isaacus/types/enrichments/crossreference.py
rename to src/isaacus/types/ilgs/crossreference.py
diff --git a/src/isaacus/types/enrichments/date.py b/src/isaacus/types/ilgs/date.py
similarity index 100%
rename from src/isaacus/types/enrichments/date.py
rename to src/isaacus/types/ilgs/date.py
diff --git a/src/isaacus/types/enrichments/document.py b/src/isaacus/types/ilgs/document.py
similarity index 100%
rename from src/isaacus/types/enrichments/document.py
rename to src/isaacus/types/ilgs/document.py
diff --git a/src/isaacus/types/enrichments/email.py b/src/isaacus/types/ilgs/email.py
similarity index 100%
rename from src/isaacus/types/enrichments/email.py
rename to src/isaacus/types/ilgs/email.py
diff --git a/src/isaacus/types/enrichments/external_document.py b/src/isaacus/types/ilgs/external_document.py
similarity index 100%
rename from src/isaacus/types/enrichments/external_document.py
rename to src/isaacus/types/ilgs/external_document.py
diff --git a/src/isaacus/types/enrichments/id_number.py b/src/isaacus/types/ilgs/id_number.py
similarity index 100%
rename from src/isaacus/types/enrichments/id_number.py
rename to src/isaacus/types/ilgs/id_number.py
diff --git a/src/isaacus/types/enrichments/location.py b/src/isaacus/types/ilgs/location.py
similarity index 100%
rename from src/isaacus/types/enrichments/location.py
rename to src/isaacus/types/ilgs/location.py
diff --git a/src/isaacus/types/enrichments/person.py b/src/isaacus/types/ilgs/person.py
similarity index 100%
rename from src/isaacus/types/enrichments/person.py
rename to src/isaacus/types/ilgs/person.py
diff --git a/src/isaacus/types/enrichments/phone_number.py b/src/isaacus/types/ilgs/phone_number.py
similarity index 100%
rename from src/isaacus/types/enrichments/phone_number.py
rename to src/isaacus/types/ilgs/phone_number.py
diff --git a/src/isaacus/types/enrichments/quote.py b/src/isaacus/types/ilgs/quote.py
similarity index 100%
rename from src/isaacus/types/enrichments/quote.py
rename to src/isaacus/types/ilgs/quote.py
diff --git a/src/isaacus/types/enrichments/segment.py b/src/isaacus/types/ilgs/segment.py
similarity index 100%
rename from src/isaacus/types/enrichments/segment.py
rename to src/isaacus/types/ilgs/segment.py
diff --git a/src/isaacus/types/enrichments/span.py b/src/isaacus/types/ilgs/span.py
similarity index 100%
rename from src/isaacus/types/enrichments/span.py
rename to src/isaacus/types/ilgs/span.py
diff --git a/src/isaacus/types/enrichments/term.py b/src/isaacus/types/ilgs/term.py
similarity index 100%
rename from src/isaacus/types/enrichments/term.py
rename to src/isaacus/types/ilgs/term.py
diff --git a/src/isaacus/types/enrichments/website.py b/src/isaacus/types/ilgs/website.py
similarity index 100%
rename from src/isaacus/types/enrichments/website.py
rename to src/isaacus/types/ilgs/website.py
diff --git a/src/isaacus/types/reranking_create_params.py b/src/isaacus/types/reranking_create_params.py
index ab4a75a..d6c9e94 100644
--- a/src/isaacus/types/reranking_create_params.py
+++ b/src/isaacus/types/reranking_create_params.py
@@ -6,8 +6,9 @@
from typing_extensions import Literal, Required, TypedDict
from .._types import SequenceNotStr
+from .shared_params.chunking_options import ChunkingOptions
-__all__ = ["RerankingCreateParams", "ChunkingOptions"]
+__all__ = ["RerankingCreateParams"]
class RerankingCreateParams(TypedDict, total=False):
@@ -64,16 +65,3 @@ class RerankingCreateParams(TypedDict, total=False):
chunking_options: Optional[ChunkingOptions]
"""Options for how to split text into smaller chunks."""
-
-
-class ChunkingOptions(TypedDict, total=False):
- """Options for how to split text into smaller chunks."""
-
- size: Optional[int]
- """A whole number greater than or equal to 1."""
-
- overlap_ratio: Optional[float]
- """A number greater than or equal to 0 and less than 1."""
-
- overlap_tokens: Optional[int]
- """A whole number greater than or equal to 0."""
diff --git a/tests/api_resources/enrichments/__init__.py b/src/isaacus/types/shared/__init__.py
similarity index 56%
rename from tests/api_resources/enrichments/__init__.py
rename to src/isaacus/types/shared/__init__.py
index fd8019a..dd66f9a 100644
--- a/tests/api_resources/enrichments/__init__.py
+++ b/src/isaacus/types/shared/__init__.py
@@ -1 +1,3 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
+
+from .chunking_options import ChunkingOptions as ChunkingOptions
diff --git a/src/isaacus/types/shared/chunking_options.py b/src/isaacus/types/shared/chunking_options.py
new file mode 100644
index 0000000..adc3916
--- /dev/null
+++ b/src/isaacus/types/shared/chunking_options.py
@@ -0,0 +1,20 @@
+# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
+
+from typing import Optional
+
+from ..._models import BaseModel
+
+__all__ = ["ChunkingOptions"]
+
+
+class ChunkingOptions(BaseModel):
+ """Options for how to split text into smaller chunks."""
+
+ size: Optional[int] = None
+ """A whole number greater than or equal to 1."""
+
+ overlap_ratio: Optional[float] = None
+ """A number greater than or equal to 0 and less than 1."""
+
+ overlap_tokens: Optional[int] = None
+ """A whole number greater than or equal to 0."""
diff --git a/src/isaacus/types/shared_params/__init__.py b/src/isaacus/types/shared_params/__init__.py
new file mode 100644
index 0000000..dd66f9a
--- /dev/null
+++ b/src/isaacus/types/shared_params/__init__.py
@@ -0,0 +1,3 @@
+# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
+
+from .chunking_options import ChunkingOptions as ChunkingOptions
diff --git a/src/isaacus/types/shared_params/chunking_options.py b/src/isaacus/types/shared_params/chunking_options.py
new file mode 100644
index 0000000..2b3cd9b
--- /dev/null
+++ b/src/isaacus/types/shared_params/chunking_options.py
@@ -0,0 +1,21 @@
+# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
+
+from __future__ import annotations
+
+from typing import Optional
+from typing_extensions import TypedDict
+
+__all__ = ["ChunkingOptions"]
+
+
+class ChunkingOptions(TypedDict, total=False):
+ """Options for how to split text into smaller chunks."""
+
+ size: Optional[int]
+ """A whole number greater than or equal to 1."""
+
+ overlap_ratio: Optional[float]
+ """A number greater than or equal to 0 and less than 1."""
+
+ overlap_tokens: Optional[int]
+ """A whole number greater than or equal to 0."""
From b11b540a1da187f5c667e99e53caa550c364aa94 Mon Sep 17 00:00:00 2001
From: "stainless-app[bot]"
<142633134+stainless-app[bot]@users.noreply.github.com>
Date: Wed, 4 Feb 2026 01:36:45 +0000
Subject: [PATCH 3/8] feat(sdk): removed chunking options as a shared resource
---
.stats.yml | 2 +-
api.md | 6 ------
.../resources/classifications/universal.py | 5 ++---
src/isaacus/resources/extractions/qa.py | 5 ++---
src/isaacus/resources/rerankings.py | 5 ++---
src/isaacus/types/__init__.py | 1 -
.../universal_create_params.py | 16 ++++++++++++--
.../types/extractions/qa_create_params.py | 16 ++++++++++++--
src/isaacus/types/reranking_create_params.py | 16 ++++++++++++--
src/isaacus/types/shared/__init__.py | 3 ---
src/isaacus/types/shared/chunking_options.py | 20 ------------------
src/isaacus/types/shared_params/__init__.py | 3 ---
.../types/shared_params/chunking_options.py | 21 -------------------
13 files changed, 49 insertions(+), 70 deletions(-)
delete mode 100644 src/isaacus/types/shared/__init__.py
delete mode 100644 src/isaacus/types/shared/chunking_options.py
delete mode 100644 src/isaacus/types/shared_params/__init__.py
delete mode 100644 src/isaacus/types/shared_params/chunking_options.py
diff --git a/.stats.yml b/.stats.yml
index 6a23104..5b0dc3e 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-fa910a5a3d1321234423bd8c042d202a64d4d956ef45847b4de358cb18e447eb.yml
openapi_spec_hash: 926b9b619c15e8570e496e11d4fb753e
-config_hash: 4905dce1697ac01039f6ceb525fadec2
+config_hash: 129ba75e63f0a898125e7d39a475830c
diff --git a/api.md b/api.md
index a194f7e..dbb2c28 100644
--- a/api.md
+++ b/api.md
@@ -1,9 +1,3 @@
-# Shared Types
-
-```python
-from isaacus.types import ChunkingOptions
-```
-
# Embeddings
Types:
diff --git a/src/isaacus/resources/classifications/universal.py b/src/isaacus/resources/classifications/universal.py
index 98bfb38..780394b 100644
--- a/src/isaacus/resources/classifications/universal.py
+++ b/src/isaacus/resources/classifications/universal.py
@@ -19,7 +19,6 @@
)
from ..._base_client import make_request_options
from ...types.classifications import universal_create_params
-from ...types.shared_params.chunking_options import ChunkingOptions
from ...types.classifications.universal_classification_response import UniversalClassificationResponse
__all__ = ["UniversalResource", "AsyncUniversalResource"]
@@ -53,7 +52,7 @@ def create(
texts: SequenceNotStr[str],
is_iql: bool | Omit = omit,
scoring_method: Literal["auto", "chunk_max", "chunk_avg", "chunk_min"] | Omit = omit,
- chunking_options: Optional[ChunkingOptions] | Omit = omit,
+ chunking_options: Optional[universal_create_params.ChunkingOptions] | 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,
@@ -154,7 +153,7 @@ async def create(
texts: SequenceNotStr[str],
is_iql: bool | Omit = omit,
scoring_method: Literal["auto", "chunk_max", "chunk_avg", "chunk_min"] | Omit = omit,
- chunking_options: Optional[ChunkingOptions] | Omit = omit,
+ chunking_options: Optional[universal_create_params.ChunkingOptions] | 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,
diff --git a/src/isaacus/resources/extractions/qa.py b/src/isaacus/resources/extractions/qa.py
index e248ad2..454f3e0 100644
--- a/src/isaacus/resources/extractions/qa.py
+++ b/src/isaacus/resources/extractions/qa.py
@@ -19,7 +19,6 @@
)
from ..._base_client import make_request_options
from ...types.extractions import qa_create_params
-from ...types.shared_params.chunking_options import ChunkingOptions
from ...types.extractions.answer_extraction_response import AnswerExtractionResponse
__all__ = ["QAResource", "AsyncQAResource"]
@@ -53,7 +52,7 @@ def create(
texts: SequenceNotStr[str],
ignore_inextractability: bool | Omit = omit,
top_k: int | Omit = omit,
- chunking_options: Optional[ChunkingOptions] | Omit = omit,
+ chunking_options: Optional[qa_create_params.ChunkingOptions] | 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,7 +152,7 @@ async def create(
texts: SequenceNotStr[str],
ignore_inextractability: bool | Omit = omit,
top_k: int | Omit = omit,
- chunking_options: Optional[ChunkingOptions] | Omit = omit,
+ chunking_options: Optional[qa_create_params.ChunkingOptions] | 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,
diff --git a/src/isaacus/resources/rerankings.py b/src/isaacus/resources/rerankings.py
index 20ebda1..cde9f98 100644
--- a/src/isaacus/resources/rerankings.py
+++ b/src/isaacus/resources/rerankings.py
@@ -20,7 +20,6 @@
)
from .._base_client import make_request_options
from ..types.reranking_response import RerankingResponse
-from ..types.shared_params.chunking_options import ChunkingOptions
__all__ = ["RerankingsResource", "AsyncRerankingsResource"]
@@ -54,7 +53,7 @@ def create(
top_n: Optional[int] | Omit = omit,
is_iql: bool | Omit = omit,
scoring_method: Literal["auto", "chunk_max", "chunk_avg", "chunk_min"] | Omit = omit,
- chunking_options: Optional[ChunkingOptions] | Omit = omit,
+ chunking_options: Optional[reranking_create_params.ChunkingOptions] | 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,
@@ -165,7 +164,7 @@ async def create(
top_n: Optional[int] | Omit = omit,
is_iql: bool | Omit = omit,
scoring_method: Literal["auto", "chunk_max", "chunk_avg", "chunk_min"] | Omit = omit,
- chunking_options: Optional[ChunkingOptions] | Omit = omit,
+ chunking_options: Optional[reranking_create_params.ChunkingOptions] | 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,
diff --git a/src/isaacus/types/__init__.py b/src/isaacus/types/__init__.py
index 4e4385e..f1751e9 100644
--- a/src/isaacus/types/__init__.py
+++ b/src/isaacus/types/__init__.py
@@ -2,7 +2,6 @@
from __future__ import annotations
-from .shared import ChunkingOptions as ChunkingOptions
from .embedding_response import EmbeddingResponse as EmbeddingResponse
from .reranking_response import RerankingResponse as RerankingResponse
from .enrichment_response import EnrichmentResponse as EnrichmentResponse
diff --git a/src/isaacus/types/classifications/universal_create_params.py b/src/isaacus/types/classifications/universal_create_params.py
index b1c30a5..8130d0e 100644
--- a/src/isaacus/types/classifications/universal_create_params.py
+++ b/src/isaacus/types/classifications/universal_create_params.py
@@ -6,9 +6,8 @@
from typing_extensions import Literal, Required, TypedDict
from ..._types import SequenceNotStr
-from ..shared_params.chunking_options import ChunkingOptions
-__all__ = ["UniversalCreateParams"]
+__all__ = ["UniversalCreateParams", "ChunkingOptions"]
class UniversalCreateParams(TypedDict, total=False):
@@ -57,3 +56,16 @@ class UniversalCreateParams(TypedDict, total=False):
chunking_options: Optional[ChunkingOptions]
"""Options for how to split text into smaller chunks."""
+
+
+class ChunkingOptions(TypedDict, total=False):
+ """Options for how to split text into smaller chunks."""
+
+ size: Optional[int]
+ """A whole number greater than or equal to 1."""
+
+ overlap_ratio: Optional[float]
+ """A number greater than or equal to 0 and less than 1."""
+
+ overlap_tokens: Optional[int]
+ """A whole number greater than or equal to 0."""
diff --git a/src/isaacus/types/extractions/qa_create_params.py b/src/isaacus/types/extractions/qa_create_params.py
index 35b8c3f..994fc00 100644
--- a/src/isaacus/types/extractions/qa_create_params.py
+++ b/src/isaacus/types/extractions/qa_create_params.py
@@ -6,9 +6,8 @@
from typing_extensions import Literal, Required, TypedDict
from ..._types import SequenceNotStr
-from ..shared_params.chunking_options import ChunkingOptions
-__all__ = ["QACreateParams"]
+__all__ = ["QACreateParams", "ChunkingOptions"]
class QACreateParams(TypedDict, total=False):
@@ -55,3 +54,16 @@ class QACreateParams(TypedDict, total=False):
chunking_options: Optional[ChunkingOptions]
"""Options for how to split text into smaller chunks."""
+
+
+class ChunkingOptions(TypedDict, total=False):
+ """Options for how to split text into smaller chunks."""
+
+ size: Optional[int]
+ """A whole number greater than or equal to 1."""
+
+ overlap_ratio: Optional[float]
+ """A number greater than or equal to 0 and less than 1."""
+
+ overlap_tokens: Optional[int]
+ """A whole number greater than or equal to 0."""
diff --git a/src/isaacus/types/reranking_create_params.py b/src/isaacus/types/reranking_create_params.py
index d6c9e94..ab4a75a 100644
--- a/src/isaacus/types/reranking_create_params.py
+++ b/src/isaacus/types/reranking_create_params.py
@@ -6,9 +6,8 @@
from typing_extensions import Literal, Required, TypedDict
from .._types import SequenceNotStr
-from .shared_params.chunking_options import ChunkingOptions
-__all__ = ["RerankingCreateParams"]
+__all__ = ["RerankingCreateParams", "ChunkingOptions"]
class RerankingCreateParams(TypedDict, total=False):
@@ -65,3 +64,16 @@ class RerankingCreateParams(TypedDict, total=False):
chunking_options: Optional[ChunkingOptions]
"""Options for how to split text into smaller chunks."""
+
+
+class ChunkingOptions(TypedDict, total=False):
+ """Options for how to split text into smaller chunks."""
+
+ size: Optional[int]
+ """A whole number greater than or equal to 1."""
+
+ overlap_ratio: Optional[float]
+ """A number greater than or equal to 0 and less than 1."""
+
+ overlap_tokens: Optional[int]
+ """A whole number greater than or equal to 0."""
diff --git a/src/isaacus/types/shared/__init__.py b/src/isaacus/types/shared/__init__.py
deleted file mode 100644
index dd66f9a..0000000
--- a/src/isaacus/types/shared/__init__.py
+++ /dev/null
@@ -1,3 +0,0 @@
-# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
-
-from .chunking_options import ChunkingOptions as ChunkingOptions
diff --git a/src/isaacus/types/shared/chunking_options.py b/src/isaacus/types/shared/chunking_options.py
deleted file mode 100644
index adc3916..0000000
--- a/src/isaacus/types/shared/chunking_options.py
+++ /dev/null
@@ -1,20 +0,0 @@
-# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
-
-from typing import Optional
-
-from ..._models import BaseModel
-
-__all__ = ["ChunkingOptions"]
-
-
-class ChunkingOptions(BaseModel):
- """Options for how to split text into smaller chunks."""
-
- size: Optional[int] = None
- """A whole number greater than or equal to 1."""
-
- overlap_ratio: Optional[float] = None
- """A number greater than or equal to 0 and less than 1."""
-
- overlap_tokens: Optional[int] = None
- """A whole number greater than or equal to 0."""
diff --git a/src/isaacus/types/shared_params/__init__.py b/src/isaacus/types/shared_params/__init__.py
deleted file mode 100644
index dd66f9a..0000000
--- a/src/isaacus/types/shared_params/__init__.py
+++ /dev/null
@@ -1,3 +0,0 @@
-# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
-
-from .chunking_options import ChunkingOptions as ChunkingOptions
diff --git a/src/isaacus/types/shared_params/chunking_options.py b/src/isaacus/types/shared_params/chunking_options.py
deleted file mode 100644
index 2b3cd9b..0000000
--- a/src/isaacus/types/shared_params/chunking_options.py
+++ /dev/null
@@ -1,21 +0,0 @@
-# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
-
-from __future__ import annotations
-
-from typing import Optional
-from typing_extensions import TypedDict
-
-__all__ = ["ChunkingOptions"]
-
-
-class ChunkingOptions(TypedDict, total=False):
- """Options for how to split text into smaller chunks."""
-
- size: Optional[int]
- """A whole number greater than or equal to 1."""
-
- overlap_ratio: Optional[float]
- """A number greater than or equal to 0 and less than 1."""
-
- overlap_tokens: Optional[int]
- """A whole number greater than or equal to 0."""
From 7229055504fd20c05c5d7f5ee40afd76fbcdd02f Mon Sep 17 00:00:00 2001
From: "stainless-app[bot]"
<142633134+stainless-app[bot]@users.noreply.github.com>
Date: Wed, 4 Feb 2026 01:37:18 +0000
Subject: [PATCH 4/8] feat(sdk): alter v1 pascal casing
---
.stats.yml | 2 +-
api.md | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/.stats.yml b/.stats.yml
index 5b0dc3e..fbcf560 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-fa910a5a3d1321234423bd8c042d202a64d4d956ef45847b4de358cb18e447eb.yml
openapi_spec_hash: 926b9b619c15e8570e496e11d4fb753e
-config_hash: 129ba75e63f0a898125e7d39a475830c
+config_hash: f2c3f90fca24bbdbff462a6659bae021
diff --git a/api.md b/api.md
index dbb2c28..ec3d431 100644
--- a/api.md
+++ b/api.md
@@ -64,7 +64,7 @@ Methods:
# ILGS
-## v1
+## V1
Types:
From 5a8d5b13c69185a36148ee336d3dcf1b3191de0b Mon Sep 17 00:00:00 2001
From: "stainless-app[bot]"
<142633134+stainless-app[bot]@users.noreply.github.com>
Date: Wed, 4 Feb 2026 01:52:43 +0000
Subject: [PATCH 5/8] feat(sdk): revert v1 casing change
---
.stats.yml | 2 +-
api.md | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/.stats.yml b/.stats.yml
index fbcf560..5b0dc3e 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-fa910a5a3d1321234423bd8c042d202a64d4d956ef45847b4de358cb18e447eb.yml
openapi_spec_hash: 926b9b619c15e8570e496e11d4fb753e
-config_hash: f2c3f90fca24bbdbff462a6659bae021
+config_hash: 129ba75e63f0a898125e7d39a475830c
diff --git a/api.md b/api.md
index ec3d431..dbb2c28 100644
--- a/api.md
+++ b/api.md
@@ -64,7 +64,7 @@ Methods:
# ILGS
-## V1
+## v1
Types:
From 0bb45f69e4a47b5d5b113213e3161ec077b30cf1 Mon Sep 17 00:00:00 2001
From: "stainless-app[bot]"
<142633134+stainless-app[bot]@users.noreply.github.com>
Date: Wed, 4 Feb 2026 01:53:18 +0000
Subject: [PATCH 6/8] codegen metadata
---
.stats.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.stats.yml b/.stats.yml
index 5b0dc3e..26ea4ce 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-fa910a5a3d1321234423bd8c042d202a64d4d956ef45847b4de358cb18e447eb.yml
openapi_spec_hash: 926b9b619c15e8570e496e11d4fb753e
-config_hash: 129ba75e63f0a898125e7d39a475830c
+config_hash: 7c7d7a433f6cc5804ecaf516e8c9b743
From 0165061dfd3f5245df16c75f7b8dbb39c68d9de8 Mon Sep 17 00:00:00 2001
From: "stainless-app[bot]"
<142633134+stainless-app[bot]@users.noreply.github.com>
Date: Wed, 4 Feb 2026 01:53:53 +0000
Subject: [PATCH 7/8] feat(sdk): move ilgs models under `ilgs_v1`
---
.stats.yml | 2 +-
api.md | 6 ++----
src/isaacus/types/__init__.py | 14 ++++++++++++++
src/isaacus/types/{ilgs => }/crossreference.py | 2 +-
src/isaacus/types/{ilgs => }/date.py | 2 +-
src/isaacus/types/{ilgs => }/document.py | 2 +-
src/isaacus/types/{ilgs => }/email.py | 2 +-
src/isaacus/types/enrichment_response.py | 2 +-
.../types/{ilgs => }/external_document.py | 2 +-
src/isaacus/types/{ilgs => }/id_number.py | 2 +-
src/isaacus/types/ilgs/__init__.py | 18 ------------------
src/isaacus/types/{ilgs => }/location.py | 2 +-
src/isaacus/types/{ilgs => }/person.py | 2 +-
src/isaacus/types/{ilgs => }/phone_number.py | 2 +-
src/isaacus/types/{ilgs => }/quote.py | 2 +-
src/isaacus/types/{ilgs => }/segment.py | 2 +-
src/isaacus/types/{ilgs => }/span.py | 2 +-
src/isaacus/types/{ilgs => }/term.py | 2 +-
src/isaacus/types/{ilgs => }/website.py | 2 +-
19 files changed, 32 insertions(+), 38 deletions(-)
rename src/isaacus/types/{ilgs => }/crossreference.py (97%)
rename src/isaacus/types/{ilgs => }/date.py (98%)
rename src/isaacus/types/{ilgs => }/document.py (99%)
rename src/isaacus/types/{ilgs => }/email.py (95%)
rename src/isaacus/types/{ilgs => }/external_document.py (99%)
rename src/isaacus/types/{ilgs => }/id_number.py (95%)
delete mode 100644 src/isaacus/types/ilgs/__init__.py
rename src/isaacus/types/{ilgs => }/location.py (98%)
rename src/isaacus/types/{ilgs => }/person.py (99%)
rename src/isaacus/types/{ilgs => }/phone_number.py (96%)
rename src/isaacus/types/{ilgs => }/quote.py (98%)
rename src/isaacus/types/{ilgs => }/segment.py (99%)
rename src/isaacus/types/{ilgs => }/span.py (97%)
rename src/isaacus/types/{ilgs => }/term.py (98%)
rename src/isaacus/types/{ilgs => }/website.py (95%)
diff --git a/.stats.yml b/.stats.yml
index 26ea4ce..d0ad896 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-fa910a5a3d1321234423bd8c042d202a64d4d956ef45847b4de358cb18e447eb.yml
openapi_spec_hash: 926b9b619c15e8570e496e11d4fb753e
-config_hash: 7c7d7a433f6cc5804ecaf516e8c9b743
+config_hash: e26cc2858d2a56a077aee5473a5746df
diff --git a/api.md b/api.md
index dbb2c28..efdbf07 100644
--- a/api.md
+++ b/api.md
@@ -62,14 +62,12 @@ Methods:
- client.enrichments.create(\*\*params) -> EnrichmentResponse
-# ILGS
-
-## v1
+# ILGSv1
Types:
```python
-from isaacus.types.ilgs import (
+from isaacus.types import (
Crossreference,
Date,
Document,
diff --git a/src/isaacus/types/__init__.py b/src/isaacus/types/__init__.py
index f1751e9..22f2d74 100644
--- a/src/isaacus/types/__init__.py
+++ b/src/isaacus/types/__init__.py
@@ -2,6 +2,20 @@
from __future__ import annotations
+from .date import Date as Date
+from .span import Span as Span
+from .term import Term as Term
+from .email import Email as Email
+from .quote import Quote as Quote
+from .person import Person as Person
+from .segment import Segment as Segment
+from .website import Website as Website
+from .document import Document as Document
+from .location import Location as Location
+from .id_number import IDNumber as IDNumber
+from .phone_number import PhoneNumber as PhoneNumber
+from .crossreference import Crossreference as Crossreference
+from .external_document import ExternalDocument as ExternalDocument
from .embedding_response import EmbeddingResponse as EmbeddingResponse
from .reranking_response import RerankingResponse as RerankingResponse
from .enrichment_response import EnrichmentResponse as EnrichmentResponse
diff --git a/src/isaacus/types/ilgs/crossreference.py b/src/isaacus/types/crossreference.py
similarity index 97%
rename from src/isaacus/types/ilgs/crossreference.py
rename to src/isaacus/types/crossreference.py
index 8d8e4d2..604ba13 100644
--- a/src/isaacus/types/ilgs/crossreference.py
+++ b/src/isaacus/types/crossreference.py
@@ -1,7 +1,7 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
from .span import Span
-from ..._models import BaseModel
+from .._models import BaseModel
__all__ = ["Crossreference"]
diff --git a/src/isaacus/types/ilgs/date.py b/src/isaacus/types/date.py
similarity index 98%
rename from src/isaacus/types/ilgs/date.py
rename to src/isaacus/types/date.py
index 2977398..5266faf 100644
--- a/src/isaacus/types/ilgs/date.py
+++ b/src/isaacus/types/date.py
@@ -4,7 +4,7 @@
from typing_extensions import Literal
from .span import Span
-from ..._models import BaseModel
+from .._models import BaseModel
__all__ = ["Date"]
diff --git a/src/isaacus/types/ilgs/document.py b/src/isaacus/types/document.py
similarity index 99%
rename from src/isaacus/types/ilgs/document.py
rename to src/isaacus/types/document.py
index d9383fd..1ad35fa 100644
--- a/src/isaacus/types/ilgs/document.py
+++ b/src/isaacus/types/document.py
@@ -11,8 +11,8 @@
from .person import Person
from .segment import Segment
from .website import Website
+from .._models import BaseModel
from .location import Location
-from ..._models import BaseModel
from .id_number import IDNumber
from .phone_number import PhoneNumber
from .crossreference import Crossreference
diff --git a/src/isaacus/types/ilgs/email.py b/src/isaacus/types/email.py
similarity index 95%
rename from src/isaacus/types/ilgs/email.py
rename to src/isaacus/types/email.py
index dfffbe7..88a4582 100644
--- a/src/isaacus/types/ilgs/email.py
+++ b/src/isaacus/types/email.py
@@ -3,7 +3,7 @@
from typing import List
from .span import Span
-from ..._models import BaseModel
+from .._models import BaseModel
__all__ = ["Email"]
diff --git a/src/isaacus/types/enrichment_response.py b/src/isaacus/types/enrichment_response.py
index 6324b82..9e1c420 100644
--- a/src/isaacus/types/enrichment_response.py
+++ b/src/isaacus/types/enrichment_response.py
@@ -3,7 +3,7 @@
from typing import List
from .._models import BaseModel
-from .ilgs.document import Document
+from .document import Document
__all__ = ["EnrichmentResponse", "Result", "Usage"]
diff --git a/src/isaacus/types/ilgs/external_document.py b/src/isaacus/types/external_document.py
similarity index 99%
rename from src/isaacus/types/ilgs/external_document.py
rename to src/isaacus/types/external_document.py
index e6e0cbb..3e8582d 100644
--- a/src/isaacus/types/ilgs/external_document.py
+++ b/src/isaacus/types/external_document.py
@@ -4,7 +4,7 @@
from typing_extensions import Literal
from .span import Span
-from ..._models import BaseModel
+from .._models import BaseModel
__all__ = ["ExternalDocument"]
diff --git a/src/isaacus/types/ilgs/id_number.py b/src/isaacus/types/id_number.py
similarity index 95%
rename from src/isaacus/types/ilgs/id_number.py
rename to src/isaacus/types/id_number.py
index 23d18dd..7e3f9c7 100644
--- a/src/isaacus/types/ilgs/id_number.py
+++ b/src/isaacus/types/id_number.py
@@ -3,7 +3,7 @@
from typing import List
from .span import Span
-from ..._models import BaseModel
+from .._models import BaseModel
__all__ = ["IDNumber"]
diff --git a/src/isaacus/types/ilgs/__init__.py b/src/isaacus/types/ilgs/__init__.py
deleted file mode 100644
index 6f8d0d9..0000000
--- a/src/isaacus/types/ilgs/__init__.py
+++ /dev/null
@@ -1,18 +0,0 @@
-# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
-
-from __future__ import annotations
-
-from .date import Date as Date
-from .span import Span as Span
-from .term import Term as Term
-from .email import Email as Email
-from .quote import Quote as Quote
-from .person import Person as Person
-from .segment import Segment as Segment
-from .website import Website as Website
-from .document import Document as Document
-from .location import Location as Location
-from .id_number import IDNumber as IDNumber
-from .phone_number import PhoneNumber as PhoneNumber
-from .crossreference import Crossreference as Crossreference
-from .external_document import ExternalDocument as ExternalDocument
diff --git a/src/isaacus/types/ilgs/location.py b/src/isaacus/types/location.py
similarity index 98%
rename from src/isaacus/types/ilgs/location.py
rename to src/isaacus/types/location.py
index 45b6620..27b68eb 100644
--- a/src/isaacus/types/ilgs/location.py
+++ b/src/isaacus/types/location.py
@@ -4,7 +4,7 @@
from typing_extensions import Literal
from .span import Span
-from ..._models import BaseModel
+from .._models import BaseModel
__all__ = ["Location"]
diff --git a/src/isaacus/types/ilgs/person.py b/src/isaacus/types/person.py
similarity index 99%
rename from src/isaacus/types/ilgs/person.py
rename to src/isaacus/types/person.py
index c6ef228..1189595 100644
--- a/src/isaacus/types/ilgs/person.py
+++ b/src/isaacus/types/person.py
@@ -4,7 +4,7 @@
from typing_extensions import Literal
from .span import Span
-from ..._models import BaseModel
+from .._models import BaseModel
__all__ = ["Person"]
diff --git a/src/isaacus/types/ilgs/phone_number.py b/src/isaacus/types/phone_number.py
similarity index 96%
rename from src/isaacus/types/ilgs/phone_number.py
rename to src/isaacus/types/phone_number.py
index a224c2b..30dd506 100644
--- a/src/isaacus/types/ilgs/phone_number.py
+++ b/src/isaacus/types/phone_number.py
@@ -3,7 +3,7 @@
from typing import List
from .span import Span
-from ..._models import BaseModel
+from .._models import BaseModel
__all__ = ["PhoneNumber"]
diff --git a/src/isaacus/types/ilgs/quote.py b/src/isaacus/types/quote.py
similarity index 98%
rename from src/isaacus/types/ilgs/quote.py
rename to src/isaacus/types/quote.py
index 5368c94..735721d 100644
--- a/src/isaacus/types/ilgs/quote.py
+++ b/src/isaacus/types/quote.py
@@ -3,7 +3,7 @@
from typing import Optional
from .span import Span
-from ..._models import BaseModel
+from .._models import BaseModel
__all__ = ["Quote"]
diff --git a/src/isaacus/types/ilgs/segment.py b/src/isaacus/types/segment.py
similarity index 99%
rename from src/isaacus/types/ilgs/segment.py
rename to src/isaacus/types/segment.py
index 6a19b08..2f13d9d 100644
--- a/src/isaacus/types/ilgs/segment.py
+++ b/src/isaacus/types/segment.py
@@ -4,7 +4,7 @@
from typing_extensions import Literal
from .span import Span
-from ..._models import BaseModel
+from .._models import BaseModel
__all__ = ["Segment"]
diff --git a/src/isaacus/types/ilgs/span.py b/src/isaacus/types/span.py
similarity index 97%
rename from src/isaacus/types/ilgs/span.py
rename to src/isaacus/types/span.py
index 327c94d..23108eb 100644
--- a/src/isaacus/types/ilgs/span.py
+++ b/src/isaacus/types/span.py
@@ -1,6 +1,6 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
-from ..._models import BaseModel
+from .._models import BaseModel
__all__ = ["Span"]
diff --git a/src/isaacus/types/ilgs/term.py b/src/isaacus/types/term.py
similarity index 98%
rename from src/isaacus/types/ilgs/term.py
rename to src/isaacus/types/term.py
index 4ceb2f0..63a88b1 100644
--- a/src/isaacus/types/ilgs/term.py
+++ b/src/isaacus/types/term.py
@@ -3,7 +3,7 @@
from typing import List
from .span import Span
-from ..._models import BaseModel
+from .._models import BaseModel
__all__ = ["Term"]
diff --git a/src/isaacus/types/ilgs/website.py b/src/isaacus/types/website.py
similarity index 95%
rename from src/isaacus/types/ilgs/website.py
rename to src/isaacus/types/website.py
index e6e5099..3f1d233 100644
--- a/src/isaacus/types/ilgs/website.py
+++ b/src/isaacus/types/website.py
@@ -3,7 +3,7 @@
from typing import List
from .span import Span
-from ..._models import BaseModel
+from .._models import BaseModel
__all__ = ["Website"]
From 554b84753f7c646354e34298713102dcae52dd98 Mon Sep 17 00:00:00 2001
From: "stainless-app[bot]"
<142633134+stainless-app[bot]@users.noreply.github.com>
Date: Wed, 4 Feb 2026 01:54:10 +0000
Subject: [PATCH 8/8] release: 0.13.0
---
.release-please-manifest.json | 2 +-
CHANGELOG.md | 13 +++++++++++++
pyproject.toml | 2 +-
src/isaacus/_version.py | 2 +-
4 files changed, 16 insertions(+), 3 deletions(-)
diff --git a/.release-please-manifest.json b/.release-please-manifest.json
index a713055..d52d2b9 100644
--- a/.release-please-manifest.json
+++ b/.release-please-manifest.json
@@ -1,3 +1,3 @@
{
- ".": "0.12.0"
+ ".": "0.13.0"
}
\ No newline at end of file
diff --git a/CHANGELOG.md b/CHANGELOG.md
index aecae9e..6e79898 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,18 @@
# Changelog
+## 0.13.0 (2026-02-04)
+
+Full Changelog: [v0.12.0...v0.13.0](https://github.com/isaacus-dev/isaacus-python/compare/v0.12.0...v0.13.0)
+
+### Features
+
+* **sdk:** alter v1 pascal casing ([7229055](https://github.com/isaacus-dev/isaacus-python/commit/7229055504fd20c05c5d7f5ee40afd76fbcdd02f))
+* **sdk:** move ilgs models under `ilgs_v1` ([0165061](https://github.com/isaacus-dev/isaacus-python/commit/0165061dfd3f5245df16c75f7b8dbb39c68d9de8))
+* **sdk:** move ilgs to its own resource ([e196566](https://github.com/isaacus-dev/isaacus-python/commit/e196566b8c5ef8e876f6d6c0d31393e17d24926f))
+* **sdk:** move ilgsv1 resources under a subresource ([8620bb5](https://github.com/isaacus-dev/isaacus-python/commit/8620bb5259685c1764960278caba70ae9b42a0ec))
+* **sdk:** removed chunking options as a shared resource ([b11b540](https://github.com/isaacus-dev/isaacus-python/commit/b11b540a1da187f5c667e99e53caa550c364aa94))
+* **sdk:** revert v1 casing change ([5a8d5b1](https://github.com/isaacus-dev/isaacus-python/commit/5a8d5b13c69185a36148ee336d3dcf1b3191de0b))
+
## 0.12.0 (2026-02-03)
Full Changelog: [v0.11.0...v0.12.0](https://github.com/isaacus-dev/isaacus-python/compare/v0.11.0...v0.12.0)
diff --git a/pyproject.toml b/pyproject.toml
index 3ae9563..4788a10 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -1,6 +1,6 @@
[project]
name = "isaacus"
-version = "0.12.0"
+version = "0.13.0"
description = "The official Python library for the isaacus API"
dynamic = ["readme"]
license = "Apache-2.0"
diff --git a/src/isaacus/_version.py b/src/isaacus/_version.py
index 23add34..727c37c 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.12.0" # x-release-please-version
+__version__ = "0.13.0" # x-release-please-version