Skip to content
Open
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.34.0"
".": "0.35.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: 26
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/profound%2Fprofound-c774f2113aa2cf14bd83dc9a2468b3181e709b2765e3b1a7da3a831560225a05.yml
openapi_spec_hash: 92f317e8c729a62dd1c9aa3569c8baf7
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/profound%2Fprofound-b6364f52798fd7c6f149d3dfd0b0cd16daf127d9c6b931eab909e07f66aa8f06.yml
openapi_spec_hash: f1977bda20c63f2d0911c5f131b977a7
config_hash: e093e38f7eba5f830c65f8a5d7705c82
13 changes: 13 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,18 @@
# Changelog

## 0.35.0 (2026-04-02)

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

### Features

* **api:** api update ([b2dd6a7](https://github.com/cooper-square-technologies/profound-python-sdk/commit/b2dd6a7f5075283aaca5ed782dd10b60c4d6843d))
* **api:** api update ([c1c3ff9](https://github.com/cooper-square-technologies/profound-python-sdk/commit/c1c3ff97dc7868091699c870430f33ee309996cc))
* **api:** api update ([beea8bf](https://github.com/cooper-square-technologies/profound-python-sdk/commit/beea8bfc23a086a65512020d59f0f3a0777082af))
* **api:** api update ([0d652c6](https://github.com/cooper-square-technologies/profound-python-sdk/commit/0d652c619dacba87767ef2e5192c797cd5d9a295))
* **api:** api update ([700d990](https://github.com/cooper-square-technologies/profound-python-sdk/commit/700d990ecb17ccd8dad9d59af814d9c0af72cb09))
* **api:** api update ([6ac8258](https://github.com/cooper-square-technologies/profound-python-sdk/commit/6ac8258ca1f8221597fee647eabffeb10f0bd194))

## 0.34.0 (2026-03-30)

Full Changelog: [v0.33.1...v0.34.0](https://github.com/cooper-square-technologies/profound-python-sdk/compare/v0.33.1...v0.34.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.34.0"
version = "0.35.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.34.0" # x-release-please-version
__version__ = "0.35.0" # x-release-please-version
62 changes: 56 additions & 6 deletions src/profound/resources/organizations/categories.py
Original file line number Diff line number Diff line change
Expand Up @@ -141,9 +141,11 @@ def prompts(
cursor: Optional[str] | Omit = omit,
limit: int | Omit = omit,
order_dir: Literal["asc", "desc"] | Omit = omit,
persona_id: SequenceNotStr[str] | Omit = omit,
platform_id: SequenceNotStr[str] | Omit = omit,
prompt_type: List[Literal["visibility", "sentiment"]] | Omit = omit,
region_id: SequenceNotStr[str] | Omit = omit,
status: List[Literal["active", "disabled"]] | Omit = omit,
tag_id: SequenceNotStr[str] | Omit = omit,
topic_id: SequenceNotStr[str] | Omit = omit,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
Expand All @@ -154,9 +156,30 @@ def prompts(
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> CategoryPromptsResponse:
"""
Get Category Prompts
Retrieve prompts in a category with optional filtering by type, topic, tag,
region, platform, or persona. Supports cursor-based pagination.

Args:
cursor: Pagination cursor from a previous response.

limit: Maximum number of prompts to return.

order_dir: Sort direction by creation date.

persona_id: Filter by persona IDs.

platform_id: Filter by platform IDs.

prompt_type: Filter by prompt type.

region_id: Filter by region IDs.

status: Filter by prompt status.

tag_id: Filter by tag IDs.

topic_id: Filter by topic IDs.

extra_headers: Send extra headers

extra_query: Add additional query parameters to the request
Expand All @@ -179,9 +202,11 @@ def prompts(
"cursor": cursor,
"limit": limit,
"order_dir": order_dir,
"persona_id": persona_id,
"platform_id": platform_id,
"prompt_type": prompt_type,
"region_id": region_id,
"status": status,
"tag_id": tag_id,
"topic_id": topic_id,
},
Expand All @@ -203,7 +228,7 @@ def tags(
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> CategoryTagsResponse:
"""
Get the organization tags for a specific category.
Get the tags for a specific category.

Args:
extra_headers: Send extra headers
Expand Down Expand Up @@ -236,7 +261,7 @@ def topics(
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> CategoryTopicsResponse:
"""
Get the organization categories.
Get the topics for a specific category.

Args:
extra_headers: Send extra headers
Expand Down Expand Up @@ -370,9 +395,11 @@ async def prompts(
cursor: Optional[str] | Omit = omit,
limit: int | Omit = omit,
order_dir: Literal["asc", "desc"] | Omit = omit,
persona_id: SequenceNotStr[str] | Omit = omit,
platform_id: SequenceNotStr[str] | Omit = omit,
prompt_type: List[Literal["visibility", "sentiment"]] | Omit = omit,
region_id: SequenceNotStr[str] | Omit = omit,
status: List[Literal["active", "disabled"]] | Omit = omit,
tag_id: SequenceNotStr[str] | Omit = omit,
topic_id: SequenceNotStr[str] | Omit = omit,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
Expand All @@ -383,9 +410,30 @@ async def prompts(
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> CategoryPromptsResponse:
"""
Get Category Prompts
Retrieve prompts in a category with optional filtering by type, topic, tag,
region, platform, or persona. Supports cursor-based pagination.

Args:
cursor: Pagination cursor from a previous response.

limit: Maximum number of prompts to return.

order_dir: Sort direction by creation date.

persona_id: Filter by persona IDs.

platform_id: Filter by platform IDs.

prompt_type: Filter by prompt type.

region_id: Filter by region IDs.

status: Filter by prompt status.

tag_id: Filter by tag IDs.

topic_id: Filter by topic IDs.

extra_headers: Send extra headers

extra_query: Add additional query parameters to the request
Expand All @@ -408,9 +456,11 @@ async def prompts(
"cursor": cursor,
"limit": limit,
"order_dir": order_dir,
"persona_id": persona_id,
"platform_id": platform_id,
"prompt_type": prompt_type,
"region_id": region_id,
"status": status,
"tag_id": tag_id,
"topic_id": topic_id,
},
Expand All @@ -432,7 +482,7 @@ async def tags(
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> CategoryTagsResponse:
"""
Get the organization tags for a specific category.
Get the tags for a specific category.

Args:
extra_headers: Send extra headers
Expand Down Expand Up @@ -465,7 +515,7 @@ async def topics(
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> CategoryTopicsResponse:
"""
Get the organization categories.
Get the topics for a specific category.

Args:
extra_headers: Send extra headers
Expand Down
14 changes: 14 additions & 0 deletions src/profound/types/organizations/category_prompts_params.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,17 +12,31 @@

class CategoryPromptsParams(TypedDict, total=False):
cursor: Optional[str]
"""Pagination cursor from a previous response."""

limit: int
"""Maximum number of prompts to return."""

order_dir: Literal["asc", "desc"]
"""Sort direction by creation date."""

persona_id: SequenceNotStr[str]
"""Filter by persona IDs."""

platform_id: SequenceNotStr[str]
"""Filter by platform IDs."""

prompt_type: List[Literal["visibility", "sentiment"]]
"""Filter by prompt type."""

region_id: SequenceNotStr[str]
"""Filter by region IDs."""

status: List[Literal["active", "disabled"]]
"""Filter by prompt status."""

tag_id: SequenceNotStr[str]
"""Filter by tag IDs."""

topic_id: SequenceNotStr[str]
"""Filter by topic IDs."""
7 changes: 7 additions & 0 deletions src/profound/types/organizations/category_prompts_response.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

from typing import List, Optional
from datetime import datetime
from typing_extensions import Literal

from ..._models import BaseModel
from ..named_resource import NamedResource
Expand All @@ -14,6 +15,8 @@ class Data(BaseModel):

created_at: datetime

language: str

platforms: List[NamedResource]

prompt: str
Expand All @@ -22,9 +25,13 @@ class Data(BaseModel):

regions: List[NamedResource]

status: Literal["active", "disabled"]

topic: NamedResource
"""Generic id+name reference used across domain boundaries."""

personas: Optional[List[NamedResource]] = None

tags: Optional[List[NamedResource]] = None


Expand Down
4 changes: 3 additions & 1 deletion src/profound/types/organizations/category_topics_response.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.

from typing import List
from typing_extensions import TypeAlias
from typing_extensions import Literal, TypeAlias

from ..._models import BaseModel

Expand All @@ -13,5 +13,7 @@ class CategoryTopicsResponseItem(BaseModel):

name: str

status: Literal["active", "disabled"]


CategoryTopicsResponse: TypeAlias = List[CategoryTopicsResponseItem]
24 changes: 24 additions & 0 deletions src/profound/types/report_citations_params.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
"ReportCitationsParams",
"Filter",
"FilterHostnameFilter",
"FilterTagNameFilter",
"FilterURLFilter",
"FilterRootDomainFilter",
"FilterCitationCategoryFilter",
Expand Down Expand Up @@ -113,6 +114,28 @@ class FilterHostnameFilter(TypedDict, total=False):
value: Required[Union[str, SequenceNotStr[str]]]


class FilterTagNameFilter(TypedDict, total=False):
"""Filter by tag name."""

field: Required[Literal["tag_name"]]

operator: Required[
Literal[
"is",
"not_is",
"in",
"not_in",
"contains",
"not_contains",
"matches",
"contains_case_insensitive",
"not_contains_case_insensitive",
]
]

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


class FilterURLFilter(TypedDict, total=False):
"""Filter by URL"""

Expand Down Expand Up @@ -187,6 +210,7 @@ class FilterCitationCategoryFilter(TypedDict, total=False):
TopicNameFilterParam,
ModelIDFilter,
TagIDFilter,
FilterTagNameFilter,
FilterURLFilter,
FilterRootDomainFilter,
PromptTypeFilter,
Expand Down
25 changes: 24 additions & 1 deletion src/profound/types/report_sentiment_params.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
from .shared_params.asset_name_filter import AssetNameFilter
from .shared_params.persona_id_filter import PersonaIDFilter

__all__ = ["ReportSentimentParams", "Filter", "FilterAssetIDFilter", "FilterThemeFilter"]
__all__ = ["ReportSentimentParams", "Filter", "FilterAssetIDFilter", "FilterThemeFilter", "FilterTagNameFilter"]


class ReportSentimentParams(TypedDict, total=False):
Expand Down Expand Up @@ -110,6 +110,28 @@ class FilterThemeFilter(TypedDict, total=False):
value: Required[Union[str, SequenceNotStr[str]]]


class FilterTagNameFilter(TypedDict, total=False):
"""Filter by tag name."""

field: Required[Literal["tag_name"]]

operator: Required[
Literal[
"is",
"not_is",
"in",
"not_in",
"contains",
"not_contains",
"matches",
"contains_case_insensitive",
"not_contains_case_insensitive",
]
]

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


Filter: TypeAlias = Union[
FilterAssetIDFilter,
AssetNameFilter,
Expand All @@ -119,6 +141,7 @@ class FilterThemeFilter(TypedDict, total=False):
TopicNameFilterParam,
ModelIDFilter,
TagIDFilter,
FilterTagNameFilter,
PromptFilter,
PersonaIDFilter,
]
Loading
Loading