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.11.0"
".": "0.12.0"
}
6 changes: 3 additions & 3 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-d499915d5c9d28ffae10a108d7655c026676b21d3b34f07ead24c7d50c546633.yml
openapi_spec_hash: d91d2843e3799463b60832553d4faf70
config_hash: 1d77b499f5b4f2dc6986fdd5936d18ef
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/isaacus%2Fisaacus-fa910a5a3d1321234423bd8c042d202a64d4d956ef45847b4de358cb18e447eb.yml
openapi_spec_hash: 926b9b619c15e8570e496e11d4fb753e
config_hash: a23e347480e00cefa57ce68b1de9e16d
16 changes: 16 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,21 @@
# Changelog

## 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)

### Features

* **sdk:** add `qa` as an initialism ([27162f3](https://github.com/isaacus-dev/isaacus-python/commit/27162f3e98efa095e41f67801c6a3497709be9d6))
* **sdk:** force ilgs v1 prefix on models ([62bc9ff](https://github.com/isaacus-dev/isaacus-python/commit/62bc9ffc03feb68e3638cfee3d9df9a8547bb9e8))
* **sdk:** modify how ILGSv1 models are cased ([f295222](https://github.com/isaacus-dev/isaacus-python/commit/f2952227e58618b33c4d0da9515a1c73942a771a))
* **sdk:** order properties as in spec ([3dc865c](https://github.com/isaacus-dev/isaacus-python/commit/3dc865c2ee865b334b7f0ca8810226f3ac251be8))


### Bug Fixes

* **api:** merge duplicate components, reorder required fields ([55b68ce](https://github.com/isaacus-dev/isaacus-python/commit/55b68ce2bc294f094ccaf3750ea1b932ed4f95f5))

## 0.11.0 (2026-02-03)

Full Changelog: [v0.10.1...v0.11.0](https://github.com/isaacus-dev/isaacus-python/compare/v0.10.1...v0.11.0)
Expand Down
20 changes: 18 additions & 2 deletions api.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ Methods:

# Extractions

## Qa
## QA

Types:

Expand All @@ -55,7 +55,23 @@ Methods:
Types:

```python
from isaacus.types import EnrichmentResponse
from isaacus.types import (
EnrichmentResponse,
ILGSv1Crossreference,
ILGSv1Date,
ILGSv1Document,
ILGSv1Email,
ILGSv1ExternalDocument,
ILGSv1IDNumber,
ILGSv1Location,
ILGSv1Person,
ILGSv1PhoneNumber,
ILGSv1Quote,
ILGSv1Segment,
ILGSv1Span,
ILGSv1Term,
ILGSv1Website,
)
```

Methods:
Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[project]
name = "isaacus"
version = "0.11.0"
version = "0.12.0"
description = "The official Python library for the isaacus API"
dynamic = ["readme"]
license = "Apache-2.0"
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.11.0" # x-release-please-version
__version__ = "0.12.0" # x-release-please-version
16 changes: 8 additions & 8 deletions src/isaacus/resources/classifications/universal.py
Original file line number Diff line number Diff line change
Expand Up @@ -50,9 +50,9 @@ def create(
model: Literal["kanon-universal-classifier", "kanon-universal-classifier-mini"],
query: str,
texts: SequenceNotStr[str],
chunking_options: Optional[universal_create_params.ChunkingOptions] | Omit = omit,
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,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
Expand Down Expand Up @@ -80,8 +80,6 @@ def create(

Each text must contain at least one non-whitespace character.

chunking_options: Options for how to split text into smaller chunks.

is_iql: Whether the query should be interpreted as an
[IQL](https://docs.isaacus.com/iql) query or else as a statement.

Expand All @@ -97,6 +95,8 @@ def create(

`chunk_min` uses the lowest confidence score of all of the texts' chunks.

chunking_options: Options for how to split text into smaller chunks.

extra_headers: Send extra headers

extra_query: Add additional query parameters to the request
Expand All @@ -112,9 +112,9 @@ def create(
"model": model,
"query": query,
"texts": texts,
"chunking_options": chunking_options,
"is_iql": is_iql,
"scoring_method": scoring_method,
"chunking_options": chunking_options,
},
universal_create_params.UniversalCreateParams,
),
Expand Down Expand Up @@ -151,9 +151,9 @@ async def create(
model: Literal["kanon-universal-classifier", "kanon-universal-classifier-mini"],
query: str,
texts: SequenceNotStr[str],
chunking_options: Optional[universal_create_params.ChunkingOptions] | Omit = omit,
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,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
Expand Down Expand Up @@ -181,8 +181,6 @@ async def create(

Each text must contain at least one non-whitespace character.

chunking_options: Options for how to split text into smaller chunks.

is_iql: Whether the query should be interpreted as an
[IQL](https://docs.isaacus.com/iql) query or else as a statement.

Expand All @@ -198,6 +196,8 @@ async def create(

`chunk_min` uses the lowest confidence score of all of the texts' chunks.

chunking_options: Options for how to split text into smaller chunks.

extra_headers: Send extra headers

extra_query: Add additional query parameters to the request
Expand All @@ -213,9 +213,9 @@ async def create(
"model": model,
"query": query,
"texts": texts,
"chunking_options": chunking_options,
"is_iql": is_iql,
"scoring_method": scoring_method,
"chunking_options": chunking_options,
},
universal_create_params.UniversalCreateParams,
),
Expand Down
48 changes: 24 additions & 24 deletions src/isaacus/resources/embeddings.py
Original file line number Diff line number Diff line change
Expand Up @@ -49,9 +49,9 @@ def create(
*,
model: Literal["kanon-2-embedder"],
texts: Union[SequenceNotStr[str], str],
dimensions: Optional[int] | Omit = omit,
overflow_strategy: Optional[Literal["drop_end"]] | Omit = omit,
task: Optional[Literal["retrieval/query", "retrieval/document"]] | Omit = omit,
overflow_strategy: Optional[Literal["drop_end"]] | Omit = omit,
dimensions: Optional[int] | 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,
Expand All @@ -72,7 +72,13 @@ def create(

No more than 128 texts can be embedded in a single request.

dimensions: A whole number greater than or equal to 1.
task: The task the embeddings will be used for.

`retrieval/query` is meant for queries and statements, and `retrieval/document`
is meant for anything to be retrieved using query embeddings.

If `null`, which is the default setting, embeddings will not be optimized for
any particular task.

overflow_strategy: The strategy to employ when content exceeds the model's maximum input length.

Expand All @@ -82,13 +88,7 @@ def create(
If `null`, an error will be raised if any content exceeds the model's maximum
input length.

task: The task the embeddings will be used for.

`retrieval/query` is meant for queries and statements, and `retrieval/document`
is meant for anything to be retrieved using query embeddings.

If `null`, which is the default setting, embeddings will not be optimized for
any particular task.
dimensions: A whole number greater than or equal to 1.

extra_headers: Send extra headers

Expand All @@ -104,9 +104,9 @@ def create(
{
"model": model,
"texts": texts,
"dimensions": dimensions,
"overflow_strategy": overflow_strategy,
"task": task,
"overflow_strategy": overflow_strategy,
"dimensions": dimensions,
},
embedding_create_params.EmbeddingCreateParams,
),
Expand Down Expand Up @@ -142,9 +142,9 @@ async def create(
*,
model: Literal["kanon-2-embedder"],
texts: Union[SequenceNotStr[str], str],
dimensions: Optional[int] | Omit = omit,
overflow_strategy: Optional[Literal["drop_end"]] | Omit = omit,
task: Optional[Literal["retrieval/query", "retrieval/document"]] | Omit = omit,
overflow_strategy: Optional[Literal["drop_end"]] | Omit = omit,
dimensions: Optional[int] | 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,
Expand All @@ -165,7 +165,13 @@ async def create(

No more than 128 texts can be embedded in a single request.

dimensions: A whole number greater than or equal to 1.
task: The task the embeddings will be used for.

`retrieval/query` is meant for queries and statements, and `retrieval/document`
is meant for anything to be retrieved using query embeddings.

If `null`, which is the default setting, embeddings will not be optimized for
any particular task.

overflow_strategy: The strategy to employ when content exceeds the model's maximum input length.

Expand All @@ -175,13 +181,7 @@ async def create(
If `null`, an error will be raised if any content exceeds the model's maximum
input length.

task: The task the embeddings will be used for.

`retrieval/query` is meant for queries and statements, and `retrieval/document`
is meant for anything to be retrieved using query embeddings.

If `null`, which is the default setting, embeddings will not be optimized for
any particular task.
dimensions: A whole number greater than or equal to 1.

extra_headers: Send extra headers

Expand All @@ -197,9 +197,9 @@ async def create(
{
"model": model,
"texts": texts,
"dimensions": dimensions,
"overflow_strategy": overflow_strategy,
"task": task,
"overflow_strategy": overflow_strategy,
"dimensions": dimensions,
},
embedding_create_params.EmbeddingCreateParams,
),
Expand Down
24 changes: 12 additions & 12 deletions src/isaacus/resources/extractions/__init__.py
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.

from .qa import (
QaResource,
AsyncQaResource,
QaResourceWithRawResponse,
AsyncQaResourceWithRawResponse,
QaResourceWithStreamingResponse,
AsyncQaResourceWithStreamingResponse,
QAResource,
AsyncQAResource,
QAResourceWithRawResponse,
AsyncQAResourceWithRawResponse,
QAResourceWithStreamingResponse,
AsyncQAResourceWithStreamingResponse,
)
from .extractions import (
ExtractionsResource,
Expand All @@ -18,12 +18,12 @@
)

__all__ = [
"QaResource",
"AsyncQaResource",
"QaResourceWithRawResponse",
"AsyncQaResourceWithRawResponse",
"QaResourceWithStreamingResponse",
"AsyncQaResourceWithStreamingResponse",
"QAResource",
"AsyncQAResource",
"QAResourceWithRawResponse",
"AsyncQAResourceWithRawResponse",
"QAResourceWithStreamingResponse",
"AsyncQAResourceWithStreamingResponse",
"ExtractionsResource",
"AsyncExtractionsResource",
"ExtractionsResourceWithRawResponse",
Expand Down
36 changes: 18 additions & 18 deletions src/isaacus/resources/extractions/extractions.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,12 @@
from __future__ import annotations

from .qa import (
QaResource,
AsyncQaResource,
QaResourceWithRawResponse,
AsyncQaResourceWithRawResponse,
QaResourceWithStreamingResponse,
AsyncQaResourceWithStreamingResponse,
QAResource,
AsyncQAResource,
QAResourceWithRawResponse,
AsyncQAResourceWithRawResponse,
QAResourceWithStreamingResponse,
AsyncQAResourceWithStreamingResponse,
)
from ..._compat import cached_property
from ..._resource import SyncAPIResource, AsyncAPIResource
Expand All @@ -18,8 +18,8 @@

class ExtractionsResource(SyncAPIResource):
@cached_property
def qa(self) -> QaResource:
return QaResource(self._client)
def qa(self) -> QAResource:
return QAResource(self._client)

@cached_property
def with_raw_response(self) -> ExtractionsResourceWithRawResponse:
Expand All @@ -43,8 +43,8 @@ def with_streaming_response(self) -> ExtractionsResourceWithStreamingResponse:

class AsyncExtractionsResource(AsyncAPIResource):
@cached_property
def qa(self) -> AsyncQaResource:
return AsyncQaResource(self._client)
def qa(self) -> AsyncQAResource:
return AsyncQAResource(self._client)

@cached_property
def with_raw_response(self) -> AsyncExtractionsResourceWithRawResponse:
Expand All @@ -71,32 +71,32 @@ def __init__(self, extractions: ExtractionsResource) -> None:
self._extractions = extractions

@cached_property
def qa(self) -> QaResourceWithRawResponse:
return QaResourceWithRawResponse(self._extractions.qa)
def qa(self) -> QAResourceWithRawResponse:
return QAResourceWithRawResponse(self._extractions.qa)


class AsyncExtractionsResourceWithRawResponse:
def __init__(self, extractions: AsyncExtractionsResource) -> None:
self._extractions = extractions

@cached_property
def qa(self) -> AsyncQaResourceWithRawResponse:
return AsyncQaResourceWithRawResponse(self._extractions.qa)
def qa(self) -> AsyncQAResourceWithRawResponse:
return AsyncQAResourceWithRawResponse(self._extractions.qa)


class ExtractionsResourceWithStreamingResponse:
def __init__(self, extractions: ExtractionsResource) -> None:
self._extractions = extractions

@cached_property
def qa(self) -> QaResourceWithStreamingResponse:
return QaResourceWithStreamingResponse(self._extractions.qa)
def qa(self) -> QAResourceWithStreamingResponse:
return QAResourceWithStreamingResponse(self._extractions.qa)


class AsyncExtractionsResourceWithStreamingResponse:
def __init__(self, extractions: AsyncExtractionsResource) -> None:
self._extractions = extractions

@cached_property
def qa(self) -> AsyncQaResourceWithStreamingResponse:
return AsyncQaResourceWithStreamingResponse(self._extractions.qa)
def qa(self) -> AsyncQAResourceWithStreamingResponse:
return AsyncQAResourceWithStreamingResponse(self._extractions.qa)
Loading