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.55.0"
".": "0.56.0"
}
8 changes: 4 additions & 4 deletions .stats.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
configured_endpoints: 102
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/profound/profound-7f89d003ee5886a49dcba4317709b3631185a517c455e0dbf12130dadc1a73c3.yml
openapi_spec_hash: b6057ce27ebb04cdd19c0f006774ce65
config_hash: ff20af11692df5be71f1ef46d41ef365
configured_endpoints: 104
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/profound/profound-5c4cb4f429880b66ddd5118a2efdbd8c4ca08b3f1568fd3f901bc3d89095f1b5.yml
openapi_spec_hash: 3e6b04641ef9981dc677a2f6899abb8a
config_hash: 191a4ee80e1a76fd6ac596027c4ef244
9 changes: 9 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,14 @@
# Changelog

## 0.56.0 (2026-08-03)

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

### Features

* **api:** api update ([6c38bfb](https://github.com/cooper-square-technologies/profound-python-sdk/commit/6c38bfbb3d9e564499611a33396c310d69e375e4))
* **api:** manual updates ([29a4731](https://github.com/cooper-square-technologies/profound-python-sdk/commit/29a4731fd6d06e3d85a0c5aac22589d406126c6e))

## 0.55.0 (2026-07-30)

Full Changelog: [v0.54.0...v0.55.0](https://github.com/cooper-square-technologies/profound-python-sdk/compare/v0.54.0...v0.55.0)
Expand Down
28 changes: 28 additions & 0 deletions api.md
Original file line number Diff line number Diff line change
Expand Up @@ -449,3 +449,31 @@ from profound.types import IntegrationListResponse
Methods:

- <code title="get /v1/integrations">client.integrations.<a href="./src/profound/resources/integrations.py">list</a>(\*\*<a href="src/profound/types/integration_list_params.py">params</a>) -> <a href="./src/profound/types/integration_list_response.py">IntegrationListResponse</a></code>

# Documents

Types:

```python
from profound.types import DocumentCreateResponse
```

Methods:

- <code title="post /v1/documents">client.documents.<a href="./src/profound/resources/documents.py">create</a>(\*\*<a href="src/profound/types/document_create_params.py">params</a>) -> <a href="./src/profound/types/document_create_response.py">DocumentCreateResponse</a></code>

# Ads

## OpenAIAds

### AdAccount

Types:

```python
from profound.types.ads.openai_ads import AdAccountRetrieveInsightsResponse
```

Methods:

- <code title="get /v1/ads/openai-ads/ad-account/insights">client.ads.openai_ads.ad_account.<a href="./src/profound/resources/ads/openai_ads/ad_account.py">retrieve_insights</a>(\*\*<a href="src/profound/types/ads/openai_ads/ad_account_retrieve_insights_params.py">params</a>) -> <a href="./src/profound/types/ads/openai_ads/ad_account_retrieve_insights_response.py">AdAccountRetrieveInsightsResponse</a></code>
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.55.0"
version = "0.56.0"
description = "The official Python library for the profound API"
dynamic = ["readme"]
license = "Apache-2.0"
Expand Down
87 changes: 86 additions & 1 deletion src/profound/_client.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,8 +36,21 @@
)

if TYPE_CHECKING:
from .resources import agents, content, prompts, reports, projects, integrations, organizations, knowledge_bases
from .resources import (
ads,
agents,
content,
prompts,
reports,
projects,
documents,
integrations,
organizations,
knowledge_bases,
)
from .resources.ads.ads import AdsResource, AsyncAdsResource
from .resources.prompts import PromptsResource, AsyncPromptsResource
from .resources.documents import DocumentsResource, AsyncDocumentsResource
from .resources.integrations import IntegrationsResource, AsyncIntegrationsResource
from .resources.agents.agents import AgentsResource, AsyncAgentsResource
from .resources.content.content import ContentResource, AsyncContentResource
Expand Down Expand Up @@ -204,6 +217,18 @@ def integrations(self) -> IntegrationsResource:

return IntegrationsResource(self)

@cached_property
def documents(self) -> DocumentsResource:
from .resources.documents import DocumentsResource

return DocumentsResource(self)

@cached_property
def ads(self) -> AdsResource:
from .resources.ads import AdsResource

return AdsResource(self)

@cached_property
def with_raw_response(self) -> ProfoundWithRawResponse:
return ProfoundWithRawResponse(self)
Expand Down Expand Up @@ -486,6 +511,18 @@ def integrations(self) -> AsyncIntegrationsResource:

return AsyncIntegrationsResource(self)

@cached_property
def documents(self) -> AsyncDocumentsResource:
from .resources.documents import AsyncDocumentsResource

return AsyncDocumentsResource(self)

@cached_property
def ads(self) -> AsyncAdsResource:
from .resources.ads import AsyncAdsResource

return AsyncAdsResource(self)

@cached_property
def with_raw_response(self) -> AsyncProfoundWithRawResponse:
return AsyncProfoundWithRawResponse(self)
Expand Down Expand Up @@ -682,6 +719,18 @@ def integrations(self) -> integrations.IntegrationsResourceWithRawResponse:

return IntegrationsResourceWithRawResponse(self._client.integrations)

@cached_property
def documents(self) -> documents.DocumentsResourceWithRawResponse:
from .resources.documents import DocumentsResourceWithRawResponse

return DocumentsResourceWithRawResponse(self._client.documents)

@cached_property
def ads(self) -> ads.AdsResourceWithRawResponse:
from .resources.ads import AdsResourceWithRawResponse

return AdsResourceWithRawResponse(self._client.ads)


class AsyncProfoundWithRawResponse:
_client: AsyncProfound
Expand Down Expand Up @@ -737,6 +786,18 @@ def integrations(self) -> integrations.AsyncIntegrationsResourceWithRawResponse:

return AsyncIntegrationsResourceWithRawResponse(self._client.integrations)

@cached_property
def documents(self) -> documents.AsyncDocumentsResourceWithRawResponse:
from .resources.documents import AsyncDocumentsResourceWithRawResponse

return AsyncDocumentsResourceWithRawResponse(self._client.documents)

@cached_property
def ads(self) -> ads.AsyncAdsResourceWithRawResponse:
from .resources.ads import AsyncAdsResourceWithRawResponse

return AsyncAdsResourceWithRawResponse(self._client.ads)


class ProfoundWithStreamedResponse:
_client: Profound
Expand Down Expand Up @@ -792,6 +853,18 @@ def integrations(self) -> integrations.IntegrationsResourceWithStreamingResponse

return IntegrationsResourceWithStreamingResponse(self._client.integrations)

@cached_property
def documents(self) -> documents.DocumentsResourceWithStreamingResponse:
from .resources.documents import DocumentsResourceWithStreamingResponse

return DocumentsResourceWithStreamingResponse(self._client.documents)

@cached_property
def ads(self) -> ads.AdsResourceWithStreamingResponse:
from .resources.ads import AdsResourceWithStreamingResponse

return AdsResourceWithStreamingResponse(self._client.ads)


class AsyncProfoundWithStreamedResponse:
_client: AsyncProfound
Expand Down Expand Up @@ -847,6 +920,18 @@ def integrations(self) -> integrations.AsyncIntegrationsResourceWithStreamingRes

return AsyncIntegrationsResourceWithStreamingResponse(self._client.integrations)

@cached_property
def documents(self) -> documents.AsyncDocumentsResourceWithStreamingResponse:
from .resources.documents import AsyncDocumentsResourceWithStreamingResponse

return AsyncDocumentsResourceWithStreamingResponse(self._client.documents)

@cached_property
def ads(self) -> ads.AsyncAdsResourceWithStreamingResponse:
from .resources.ads import AsyncAdsResourceWithStreamingResponse

return AsyncAdsResourceWithStreamingResponse(self._client.ads)


Client = Profound

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.55.0" # x-release-please-version
__version__ = "0.56.0" # x-release-please-version
28 changes: 28 additions & 0 deletions src/profound/resources/__init__.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.

from .ads import (
AdsResource,
AsyncAdsResource,
AdsResourceWithRawResponse,
AsyncAdsResourceWithRawResponse,
AdsResourceWithStreamingResponse,
AsyncAdsResourceWithStreamingResponse,
)
from .agents import (
AgentsResource,
AsyncAgentsResource,
Expand Down Expand Up @@ -40,6 +48,14 @@
ProjectsResourceWithStreamingResponse,
AsyncProjectsResourceWithStreamingResponse,
)
from .documents import (
DocumentsResource,
AsyncDocumentsResource,
DocumentsResourceWithRawResponse,
AsyncDocumentsResourceWithRawResponse,
DocumentsResourceWithStreamingResponse,
AsyncDocumentsResourceWithStreamingResponse,
)
from .integrations import (
IntegrationsResource,
AsyncIntegrationsResource,
Expand Down Expand Up @@ -114,4 +130,16 @@
"AsyncIntegrationsResourceWithRawResponse",
"IntegrationsResourceWithStreamingResponse",
"AsyncIntegrationsResourceWithStreamingResponse",
"DocumentsResource",
"AsyncDocumentsResource",
"DocumentsResourceWithRawResponse",
"AsyncDocumentsResourceWithRawResponse",
"DocumentsResourceWithStreamingResponse",
"AsyncDocumentsResourceWithStreamingResponse",
"AdsResource",
"AsyncAdsResource",
"AdsResourceWithRawResponse",
"AsyncAdsResourceWithRawResponse",
"AdsResourceWithStreamingResponse",
"AsyncAdsResourceWithStreamingResponse",
]
33 changes: 33 additions & 0 deletions src/profound/resources/ads/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.

from .ads import (
AdsResource,
AsyncAdsResource,
AdsResourceWithRawResponse,
AsyncAdsResourceWithRawResponse,
AdsResourceWithStreamingResponse,
AsyncAdsResourceWithStreamingResponse,
)
from .openai_ads import (
OpenAIAdsResource,
AsyncOpenAIAdsResource,
OpenAIAdsResourceWithRawResponse,
AsyncOpenAIAdsResourceWithRawResponse,
OpenAIAdsResourceWithStreamingResponse,
AsyncOpenAIAdsResourceWithStreamingResponse,
)

__all__ = [
"OpenAIAdsResource",
"AsyncOpenAIAdsResource",
"OpenAIAdsResourceWithRawResponse",
"AsyncOpenAIAdsResourceWithRawResponse",
"OpenAIAdsResourceWithStreamingResponse",
"AsyncOpenAIAdsResourceWithStreamingResponse",
"AdsResource",
"AsyncAdsResource",
"AdsResourceWithRawResponse",
"AsyncAdsResourceWithRawResponse",
"AdsResourceWithStreamingResponse",
"AsyncAdsResourceWithStreamingResponse",
]
102 changes: 102 additions & 0 deletions src/profound/resources/ads/ads.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.

from __future__ import annotations

from ..._compat import cached_property
from ..._resource import SyncAPIResource, AsyncAPIResource
from .openai_ads.openai_ads import (
OpenAIAdsResource,
AsyncOpenAIAdsResource,
OpenAIAdsResourceWithRawResponse,
AsyncOpenAIAdsResourceWithRawResponse,
OpenAIAdsResourceWithStreamingResponse,
AsyncOpenAIAdsResourceWithStreamingResponse,
)

__all__ = ["AdsResource", "AsyncAdsResource"]


class AdsResource(SyncAPIResource):
@cached_property
def openai_ads(self) -> OpenAIAdsResource:
return OpenAIAdsResource(self._client)

@cached_property
def with_raw_response(self) -> AdsResourceWithRawResponse:
"""
This property can be used as a prefix for any HTTP method call to return
the raw response object instead of the parsed content.

For more information, see https://www.github.com/cooper-square-technologies/profound-python-sdk#accessing-raw-response-data-eg-headers
"""
return AdsResourceWithRawResponse(self)

@cached_property
def with_streaming_response(self) -> AdsResourceWithStreamingResponse:
"""
An alternative to `.with_raw_response` that doesn't eagerly read the response body.

For more information, see https://www.github.com/cooper-square-technologies/profound-python-sdk#with_streaming_response
"""
return AdsResourceWithStreamingResponse(self)


class AsyncAdsResource(AsyncAPIResource):
@cached_property
def openai_ads(self) -> AsyncOpenAIAdsResource:
return AsyncOpenAIAdsResource(self._client)

@cached_property
def with_raw_response(self) -> AsyncAdsResourceWithRawResponse:
"""
This property can be used as a prefix for any HTTP method call to return
the raw response object instead of the parsed content.

For more information, see https://www.github.com/cooper-square-technologies/profound-python-sdk#accessing-raw-response-data-eg-headers
"""
return AsyncAdsResourceWithRawResponse(self)

@cached_property
def with_streaming_response(self) -> AsyncAdsResourceWithStreamingResponse:
"""
An alternative to `.with_raw_response` that doesn't eagerly read the response body.

For more information, see https://www.github.com/cooper-square-technologies/profound-python-sdk#with_streaming_response
"""
return AsyncAdsResourceWithStreamingResponse(self)


class AdsResourceWithRawResponse:
def __init__(self, ads: AdsResource) -> None:
self._ads = ads

@cached_property
def openai_ads(self) -> OpenAIAdsResourceWithRawResponse:
return OpenAIAdsResourceWithRawResponse(self._ads.openai_ads)


class AsyncAdsResourceWithRawResponse:
def __init__(self, ads: AsyncAdsResource) -> None:
self._ads = ads

@cached_property
def openai_ads(self) -> AsyncOpenAIAdsResourceWithRawResponse:
return AsyncOpenAIAdsResourceWithRawResponse(self._ads.openai_ads)


class AdsResourceWithStreamingResponse:
def __init__(self, ads: AdsResource) -> None:
self._ads = ads

@cached_property
def openai_ads(self) -> OpenAIAdsResourceWithStreamingResponse:
return OpenAIAdsResourceWithStreamingResponse(self._ads.openai_ads)


class AsyncAdsResourceWithStreamingResponse:
def __init__(self, ads: AsyncAdsResource) -> None:
self._ads = ads

@cached_property
def openai_ads(self) -> AsyncOpenAIAdsResourceWithStreamingResponse:
return AsyncOpenAIAdsResourceWithStreamingResponse(self._ads.openai_ads)
Loading
Loading