Skip to content
Open
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.52.0"
".": "0.53.0"
}
4 changes: 2 additions & 2 deletions .stats.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
configured_endpoints: 87
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/profound/profound-25502ba3007bb25dd1af82d8e272d0467cf15ab8b57570cdcbe24b5cf62f567d.yml
openapi_spec_hash: 103914800b7e3e7c988d6dfb5f5bd9f6
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/profound/profound-bdd5abf413157386df160f4ce86f7973c08a0d2ae65942614cc48931ac0f2cbf.yml
openapi_spec_hash: 7b81d32586bcb581ad89c6c4829ee0d2
config_hash: 7304513d147b0895755069cc9f155331
9 changes: 9 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,14 @@
# Changelog

## 0.53.0 (2026-07-09)

Full Changelog: [v0.52.0...v0.53.0](https://github.com/cooper-square-technologies/profound-python-sdk/compare/v0.52.0...v0.53.0)

### Features

* **api:** api update ([8f9ca07](https://github.com/cooper-square-technologies/profound-python-sdk/commit/8f9ca0757439a795ead43e408ad8a4bcc3373fd7))
* **api:** api update ([ed38871](https://github.com/cooper-square-technologies/profound-python-sdk/commit/ed388718647a7b1a8648be93c0ee9e01728ed567))

## 0.52.0 (2026-07-02)

Full Changelog: [v0.51.0...v0.52.0](https://github.com/cooper-square-technologies/profound-python-sdk/compare/v0.51.0...v0.52.0)
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 = "profound"
version = "0.52.0"
version = "0.53.0"
description = "The official Python library for the profound API"
dynamic = ["readme"]
license = "Apache-2.0"
Expand Down
2 changes: 1 addition & 1 deletion src/profound/_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__ = "profound"
__version__ = "0.52.0" # x-release-please-version
__version__ = "0.53.0" # x-release-please-version
52 changes: 52 additions & 0 deletions src/profound/resources/reports/accuracy.py
Original file line number Diff line number Diff line change
Expand Up @@ -353,8 +353,21 @@ def create_cluster_example_runs(
cluster_id: str,
end_date: str,
start_date: str,
citation_categories: Optional[SequenceNotStr[str]] | Omit = omit,
comparison_end_date: Optional[str] | Omit = omit,
comparison_start_date: Optional[str] | Omit = omit,
exclude_topic_ids: bool | Omit = omit,
include_no_persona: bool | Omit = omit,
include_no_tag: bool | Omit = omit,
limit: int | Omit = omit,
offset: int | Omit = omit,
persona_ids: Optional[SequenceNotStr[str]] | Omit = omit,
platform_ids: Optional[SequenceNotStr[str]] | Omit = omit,
prompt_ids: Optional[SequenceNotStr[str]] | Omit = omit,
region_ids: Optional[SequenceNotStr[str]] | Omit = omit,
tag_filter_type: Literal["all", "any"] | Omit = omit,
tag_ids: Optional[SequenceNotStr[str]] | Omit = omit,
topic_ids: Optional[SequenceNotStr[str]] | 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 @@ -382,8 +395,21 @@ def create_cluster_example_runs(
"cluster_id": cluster_id,
"end_date": end_date,
"start_date": start_date,
"citation_categories": citation_categories,
"comparison_end_date": comparison_end_date,
"comparison_start_date": comparison_start_date,
"exclude_topic_ids": exclude_topic_ids,
"include_no_persona": include_no_persona,
"include_no_tag": include_no_tag,
"limit": limit,
"offset": offset,
"persona_ids": persona_ids,
"platform_ids": platform_ids,
"prompt_ids": prompt_ids,
"region_ids": region_ids,
"tag_filter_type": tag_filter_type,
"tag_ids": tag_ids,
"topic_ids": topic_ids,
},
accuracy_create_cluster_example_runs_params.AccuracyCreateClusterExampleRunsParams,
),
Expand Down Expand Up @@ -1173,8 +1199,21 @@ async def create_cluster_example_runs(
cluster_id: str,
end_date: str,
start_date: str,
citation_categories: Optional[SequenceNotStr[str]] | Omit = omit,
comparison_end_date: Optional[str] | Omit = omit,
comparison_start_date: Optional[str] | Omit = omit,
exclude_topic_ids: bool | Omit = omit,
include_no_persona: bool | Omit = omit,
include_no_tag: bool | Omit = omit,
limit: int | Omit = omit,
offset: int | Omit = omit,
persona_ids: Optional[SequenceNotStr[str]] | Omit = omit,
platform_ids: Optional[SequenceNotStr[str]] | Omit = omit,
prompt_ids: Optional[SequenceNotStr[str]] | Omit = omit,
region_ids: Optional[SequenceNotStr[str]] | Omit = omit,
tag_filter_type: Literal["all", "any"] | Omit = omit,
tag_ids: Optional[SequenceNotStr[str]] | Omit = omit,
topic_ids: Optional[SequenceNotStr[str]] | 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 @@ -1202,8 +1241,21 @@ async def create_cluster_example_runs(
"cluster_id": cluster_id,
"end_date": end_date,
"start_date": start_date,
"citation_categories": citation_categories,
"comparison_end_date": comparison_end_date,
"comparison_start_date": comparison_start_date,
"exclude_topic_ids": exclude_topic_ids,
"include_no_persona": include_no_persona,
"include_no_tag": include_no_tag,
"limit": limit,
"offset": offset,
"persona_ids": persona_ids,
"platform_ids": platform_ids,
"prompt_ids": prompt_ids,
"region_ids": region_ids,
"tag_filter_type": tag_filter_type,
"tag_ids": tag_ids,
"topic_ids": topic_ids,
},
accuracy_create_cluster_example_runs_params.AccuracyCreateClusterExampleRunsParams,
),
Expand Down
8 changes: 4 additions & 4 deletions src/profound/resources/reports/factcheck/claims.py
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ def query_claims(
group_by: Optional single dim to section the claims (e.g. per model). Empty → one flat
claim list.

include: Claim detail: theme, reasoning, models, evidence, citation_sources.
include: Optional per-claim detail fields to add to each claim (see options).

limit: Claims (or sections) per page; default 25.

Expand Down Expand Up @@ -144,7 +144,7 @@ def stream_claims(
group_by: Optional single dim to section the claims (e.g. per model). Empty → one flat
claim list.

include: Claim detail: theme, reasoning, models, evidence, citation_sources.
include: Optional per-claim detail fields to add to each claim (see options).

limit: Claims (or sections) per page; default 25.

Expand Down Expand Up @@ -234,7 +234,7 @@ async def query_claims(
group_by: Optional single dim to section the claims (e.g. per model). Empty → one flat
claim list.

include: Claim detail: theme, reasoning, models, evidence, citation_sources.
include: Optional per-claim detail fields to add to each claim (see options).

limit: Claims (or sections) per page; default 25.

Expand Down Expand Up @@ -302,7 +302,7 @@ async def stream_claims(
group_by: Optional single dim to section the claims (e.g. per model). Empty → one flat
claim list.

include: Claim detail: theme, reasoning, models, evidence, citation_sources.
include: Optional per-claim detail fields to add to each claim (see options).

limit: Claims (or sections) per page; default 25.

Expand Down
16 changes: 8 additions & 8 deletions src/profound/resources/reports/factcheck/factcheck.py
Original file line number Diff line number Diff line change
Expand Up @@ -85,8 +85,8 @@ def query_scores(

filter: A leaf (`field`/`op`/`value`) or an `and`/`or`/`not` group.

group_by: 1-2 of date/model/region/persona/prompt/topic/tag/theme (or one `citation`).
Empty → headline.
group_by: Up to two dimensions to slice by; empty returns the headline score. `citation`
must be alone.

limit: Rows per page; default 100.

Expand Down Expand Up @@ -150,8 +150,8 @@ def stream_scores(

filter: A leaf (`field`/`op`/`value`) or an `and`/`or`/`not` group.

group_by: 1-2 of date/model/region/persona/prompt/topic/tag/theme (or one `citation`).
Empty → headline.
group_by: Up to two dimensions to slice by; empty returns the headline score. `citation`
must be alone.

limit: Rows per page; default 100.

Expand Down Expand Up @@ -241,8 +241,8 @@ async def query_scores(

filter: A leaf (`field`/`op`/`value`) or an `and`/`or`/`not` group.

group_by: 1-2 of date/model/region/persona/prompt/topic/tag/theme (or one `citation`).
Empty → headline.
group_by: Up to two dimensions to slice by; empty returns the headline score. `citation`
must be alone.

limit: Rows per page; default 100.

Expand Down Expand Up @@ -306,8 +306,8 @@ async def stream_scores(

filter: A leaf (`field`/`op`/`value`) or an `and`/`or`/`not` group.

group_by: 1-2 of date/model/region/persona/prompt/topic/tag/theme (or one `citation`).
Empty → headline.
group_by: Up to two dimensions to slice by; empty returns the headline score. `citation`
must be alone.

limit: Rows per page; default 100.

Expand Down
12 changes: 6 additions & 6 deletions src/profound/resources/reports/reports.py
Original file line number Diff line number Diff line change
Expand Up @@ -1073,7 +1073,7 @@ def sentiment_v2(
start_date: Union[str, datetime],
comparison_end_date: Union[str, datetime, None] | Omit = omit,
comparison_start_date: Union[str, datetime, None] | Omit = omit,
date_interval: Literal["hour", "day", "week", "month", "quarter", "year", "relative_week"] | Omit = omit,
date_bucket: Literal["day", "week", "month"] | Omit = omit,
dimensions: List[
Literal[
"date", "topic", "region", "model", "prompt", "persona", "tag", "theme", "claim", "run", "asset_name"
Expand Down Expand Up @@ -1105,7 +1105,7 @@ def sentiment_v2(

comparison_start_date: Start of the previous period for delta computation.

date_interval: Date interval for the report. Only used when dimensions includes date.
date_bucket: Date bucket for the report. Only used when dimensions includes date.

dimensions: Dimensions to group the report by.

Expand Down Expand Up @@ -1135,7 +1135,7 @@ def sentiment_v2(
"start_date": start_date,
"comparison_end_date": comparison_end_date,
"comparison_start_date": comparison_start_date,
"date_interval": date_interval,
"date_bucket": date_bucket,
"dimensions": dimensions,
"filters": filters,
"order_by": order_by,
Expand Down Expand Up @@ -2837,7 +2837,7 @@ async def sentiment_v2(
start_date: Union[str, datetime],
comparison_end_date: Union[str, datetime, None] | Omit = omit,
comparison_start_date: Union[str, datetime, None] | Omit = omit,
date_interval: Literal["hour", "day", "week", "month", "quarter", "year", "relative_week"] | Omit = omit,
date_bucket: Literal["day", "week", "month"] | Omit = omit,
dimensions: List[
Literal[
"date", "topic", "region", "model", "prompt", "persona", "tag", "theme", "claim", "run", "asset_name"
Expand Down Expand Up @@ -2869,7 +2869,7 @@ async def sentiment_v2(

comparison_start_date: Start of the previous period for delta computation.

date_interval: Date interval for the report. Only used when dimensions includes date.
date_bucket: Date bucket for the report. Only used when dimensions includes date.

dimensions: Dimensions to group the report by.

Expand Down Expand Up @@ -2899,7 +2899,7 @@ async def sentiment_v2(
"start_date": start_date,
"comparison_end_date": comparison_end_date,
"comparison_start_date": comparison_start_date,
"date_interval": date_interval,
"date_bucket": date_bucket,
"dimensions": dimensions,
"filters": filters,
"order_by": order_by,
Expand Down
44 changes: 22 additions & 22 deletions src/profound/types/report_sentiment_v2_params.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,10 +20,10 @@
"FilterSentimentV2PersonaIDFilter",
"FilterSentimentV2TagIDFilter",
"FilterSentimentV2RunIDFilter",
"FilterSentimentV2ThemeIDFilter",
"FilterSentimentV2ThemeFilter",
"FilterSentimentV2ClaimIDFilter",
"FilterSentimentV2ClaimFilter",
"FilterSentimentV2ThemeIDFilter",
"FilterSentimentV2ClaimIDFilter",
"FilterSentimentV2SentimentFilter",
]

Expand Down Expand Up @@ -53,8 +53,8 @@ class ReportSentimentV2Params(TypedDict, total=False):
comparison_start_date: Annotated[Union[str, datetime, None], PropertyInfo(format="iso8601")]
"""Start of the previous period for delta computation."""

date_interval: Literal["hour", "day", "week", "month", "quarter", "year", "relative_week"]
"""Date interval for the report. Only used when dimensions includes date."""
date_bucket: Literal["day", "week", "month"]
"""Date bucket for the report. Only used when dimensions includes date."""

dimensions: List[
Literal["date", "topic", "region", "model", "prompt", "persona", "tag", "theme", "claim", "run", "asset_name"]
Expand Down Expand Up @@ -131,14 +131,6 @@ class FilterSentimentV2RunIDFilter(TypedDict, total=False):
value: Required[Union[str, SequenceNotStr[str]]]


class FilterSentimentV2ThemeIDFilter(TypedDict, total=False):
field: Required[Literal["theme_id"]]

operator: Required[Literal["is", "not_is", "in", "not_in"]]

value: Required[Union[str, SequenceNotStr[str]]]


class FilterSentimentV2ThemeFilter(TypedDict, total=False):
field: Required[Literal["theme"]]

Expand All @@ -159,14 +151,6 @@ class FilterSentimentV2ThemeFilter(TypedDict, total=False):
value: Required[Union[str, SequenceNotStr[str]]]


class FilterSentimentV2ClaimIDFilter(TypedDict, total=False):
field: Required[Literal["claim_id"]]

operator: Required[Literal["is", "not_is", "in", "not_in"]]

value: Required[Union[str, SequenceNotStr[str]]]


class FilterSentimentV2ClaimFilter(TypedDict, total=False):
field: Required[Literal["claim"]]

Expand All @@ -187,6 +171,22 @@ class FilterSentimentV2ClaimFilter(TypedDict, total=False):
value: Required[Union[str, SequenceNotStr[str]]]


class FilterSentimentV2ThemeIDFilter(TypedDict, total=False):
field: Required[Literal["theme_id"]]

operator: Required[Literal["is", "not_is", "in", "not_in"]]

value: Required[Union[str, SequenceNotStr[str]]]


class FilterSentimentV2ClaimIDFilter(TypedDict, total=False):
field: Required[Literal["claim_id"]]

operator: Required[Literal["is", "not_is", "in", "not_in"]]

value: Required[Union[str, SequenceNotStr[str]]]


class FilterSentimentV2SentimentFilter(TypedDict, total=False):
field: Required[Literal["sentiment"]]

Expand All @@ -203,9 +203,9 @@ class FilterSentimentV2SentimentFilter(TypedDict, total=False):
FilterSentimentV2PersonaIDFilter,
FilterSentimentV2TagIDFilter,
FilterSentimentV2RunIDFilter,
FilterSentimentV2ThemeIDFilter,
FilterSentimentV2ThemeFilter,
FilterSentimentV2ClaimIDFilter,
FilterSentimentV2ClaimFilter,
FilterSentimentV2ThemeIDFilter,
FilterSentimentV2ClaimIDFilter,
FilterSentimentV2SentimentFilter,
]
4 changes: 0 additions & 4 deletions src/profound/types/report_sentiment_v2_response.py
Original file line number Diff line number Diff line change
Expand Up @@ -69,8 +69,6 @@ class DataGroupMetadata(BaseModel):

claim: Optional[str] = None

claim_id: Optional[str] = None

created_at: Optional[str] = None

api_model_id: Optional[str] = FieldInfo(alias="model_id", default=None)
Expand All @@ -91,8 +89,6 @@ class DataGroupMetadata(BaseModel):

theme: Optional[str] = None

theme_id: Optional[str] = None

topic_id: Optional[str] = None


Expand Down
Loading
Loading