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 @@
{
".": "1.3.0"
".": "2.0.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: 25
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/context-dev/context.dev-021b48afe1d6e3f54c4ebe3d0da4beb3fb8b69a6d384a4aeadbc5bab7f967603.yml
openapi_spec_hash: 2aa5b59d78c708b094acf29cc0d9a68a
config_hash: c7b0cdaba3b9797b77efd89e1754d803
configured_endpoints: 29
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/context-dev/context.dev-7dbd739a81e6aaf7fc7ef1858606e7d572d309af55082a66431d9292e655e66f.yml
openapi_spec_hash: a6374d5d718a7bd9d3d54fb657e2bd9d
config_hash: ff35e224e809656528c44163aa41bebd
19 changes: 19 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,24 @@
# Changelog

## 2.0.0 (2026-07-06)

Full Changelog: [v1.3.0...v2.0.0](https://github.com/context-dot-dev/context-python-sdk/compare/v1.3.0...v2.0.0)

### Features

* **api:** api update ([f63569e](https://github.com/context-dot-dev/context-python-sdk/commit/f63569e84571a403cd05fbff990ea991b83e0821))
* **api:** api update ([79826c4](https://github.com/context-dot-dev/context-python-sdk/commit/79826c4324757cb3f32a4a0392d94d7093d39562))
* **api:** api update ([4bbf3b1](https://github.com/context-dot-dev/context-python-sdk/commit/4bbf3b1ad847353571b27118e0875bb2ff96c0c7))
* **api:** api update ([41ee2e8](https://github.com/context-dot-dev/context-python-sdk/commit/41ee2e823e3a91c608861da5fe46b263518c223e))
* **api:** api update ([000bd7c](https://github.com/context-dot-dev/context-python-sdk/commit/000bd7c50e673065f0023267aea7457f3bb1f6d9))
* **api:** api update ([a2650d4](https://github.com/context-dot-dev/context-python-sdk/commit/a2650d40a7422733a94b1f2e7e558144230189a0))
* **api:** api update ([c15ed56](https://github.com/context-dot-dev/context-python-sdk/commit/c15ed56b283f8fe464891afda1566b74b120e2d5))
* **api:** api update ([fd00858](https://github.com/context-dot-dev/context-python-sdk/commit/fd00858ed8bc9806aebdb5f5c352d119ab2466d1))
* **api:** api update ([789eb86](https://github.com/context-dot-dev/context-python-sdk/commit/789eb8671cd52aba441a03c0139f6993455b5f4d))
* **api:** manual updates ([4aa172e](https://github.com/context-dot-dev/context-python-sdk/commit/4aa172e6efe35e35b050168b4f4ab3102651a935))
* **api:** manual updates ([63d9bdf](https://github.com/context-dot-dev/context-python-sdk/commit/63d9bdfc771270ccecff225a339af6ec51dfc1f7))
* **api:** manual updates ([f80c306](https://github.com/context-dot-dev/context-python-sdk/commit/f80c3061d969b6650d9f5a2f9df5ca8f371e14d7))

## 1.3.0 (2026-06-27)

Full Changelog: [v1.2.0...v1.3.0](https://github.com/context-dot-dev/context-python-sdk/compare/v1.2.0...v1.3.0)
Expand Down
8 changes: 8 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ client = ContextDev(

brand = client.brand.retrieve(
domain="REPLACE_ME",
type="by_domain",
)
print(brand.brand)
```
Expand All @@ -69,6 +70,7 @@ client = AsyncContextDev(
async def main() -> None:
brand = await client.brand.retrieve(
domain="REPLACE_ME",
type="by_domain",
)
print(brand.brand)

Expand Down Expand Up @@ -105,6 +107,7 @@ async def main() -> None:
) as client:
brand = await client.brand.retrieve(
domain="REPLACE_ME",
type="by_domain",
)
print(brand.brand)

Expand Down Expand Up @@ -161,6 +164,7 @@ client = ContextDev()
try:
client.brand.retrieve(
domain="REPLACE_ME",
type="by_domain",
)
except context.dev.APIConnectionError as e:
print("The server could not be reached")
Expand Down Expand Up @@ -206,6 +210,7 @@ client = ContextDev(
# Or, configure per-request:
client.with_options(max_retries=5).brand.retrieve(
domain="REPLACE_ME",
type="by_domain",
)
```

Expand All @@ -231,6 +236,7 @@ client = ContextDev(
# Override per-request:
client.with_options(timeout=5.0).brand.retrieve(
domain="REPLACE_ME",
type="by_domain",
)
```

Expand Down Expand Up @@ -274,6 +280,7 @@ from context.dev import ContextDev
client = ContextDev()
response = client.brand.with_raw_response.retrieve(
domain="REPLACE_ME",
type="by_domain",
)
print(response.headers.get('X-My-Header'))

Expand All @@ -294,6 +301,7 @@ To stream the response body, use `.with_streaming_response` instead, which requi
```python
with client.brand.with_streaming_response.retrieve(
domain="REPLACE_ME",
type="by_domain",
) as response:
print(response.headers.get("X-My-Header"))

Expand Down
59 changes: 39 additions & 20 deletions api.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,12 +37,11 @@ Methods:
Types:

```python
from context.dev.types import AIAIQueryResponse, AIExtractProductResponse, AIExtractProductsResponse
from context.dev.types import AIExtractProductResponse, AIExtractProductsResponse
```

Methods:

- <code title="post /brand/ai/query">client.ai.<a href="./src/context/dev/resources/ai.py">ai_query</a>(\*\*<a href="src/context/dev/types/ai_ai_query_params.py">params</a>) -> <a href="./src/context/dev/types/ai_ai_query_response.py">AIAIQueryResponse</a></code>
- <code title="post /brand/ai/product">client.ai.<a href="./src/context/dev/resources/ai.py">extract_product</a>(\*\*<a href="src/context/dev/types/ai_extract_product_params.py">params</a>) -> <a href="./src/context/dev/types/ai_extract_product_response.py">AIExtractProductResponse</a></code>
- <code title="post /brand/ai/products">client.ai.<a href="./src/context/dev/resources/ai.py">extract_products</a>(\*\*<a href="src/context/dev/types/ai_extract_products_params.py">params</a>) -> <a href="./src/context/dev/types/ai_extract_products_response.py">AIExtractProductsResponse</a></code>

Expand All @@ -51,25 +50,12 @@ Methods:
Types:

```python
from context.dev.types import (
BrandRetrieveResponse,
BrandIdentifyFromTransactionResponse,
BrandRetrieveByEmailResponse,
BrandRetrieveByIsinResponse,
BrandRetrieveByNameResponse,
BrandRetrieveByTickerResponse,
BrandRetrieveSimplifiedResponse,
)
from context.dev.types import BrandRetrieveResponse, BrandRetrieveSimplifiedResponse
```

Methods:

- <code title="get /brand/retrieve">client.brand.<a href="./src/context/dev/resources/brand.py">retrieve</a>(\*\*<a href="src/context/dev/types/brand_retrieve_params.py">params</a>) -> <a href="./src/context/dev/types/brand_retrieve_response.py">BrandRetrieveResponse</a></code>
- <code title="get /brand/transaction_identifier">client.brand.<a href="./src/context/dev/resources/brand.py">identify_from_transaction</a>(\*\*<a href="src/context/dev/types/brand_identify_from_transaction_params.py">params</a>) -> <a href="./src/context/dev/types/brand_identify_from_transaction_response.py">BrandIdentifyFromTransactionResponse</a></code>
- <code title="get /brand/retrieve-by-email">client.brand.<a href="./src/context/dev/resources/brand.py">retrieve_by_email</a>(\*\*<a href="src/context/dev/types/brand_retrieve_by_email_params.py">params</a>) -> <a href="./src/context/dev/types/brand_retrieve_by_email_response.py">BrandRetrieveByEmailResponse</a></code>
- <code title="get /brand/retrieve-by-isin">client.brand.<a href="./src/context/dev/resources/brand.py">retrieve_by_isin</a>(\*\*<a href="src/context/dev/types/brand_retrieve_by_isin_params.py">params</a>) -> <a href="./src/context/dev/types/brand_retrieve_by_isin_response.py">BrandRetrieveByIsinResponse</a></code>
- <code title="get /brand/retrieve-by-name">client.brand.<a href="./src/context/dev/resources/brand.py">retrieve_by_name</a>(\*\*<a href="src/context/dev/types/brand_retrieve_by_name_params.py">params</a>) -> <a href="./src/context/dev/types/brand_retrieve_by_name_response.py">BrandRetrieveByNameResponse</a></code>
- <code title="get /brand/retrieve-by-ticker">client.brand.<a href="./src/context/dev/resources/brand.py">retrieve_by_ticker</a>(\*\*<a href="src/context/dev/types/brand_retrieve_by_ticker_params.py">params</a>) -> <a href="./src/context/dev/types/brand_retrieve_by_ticker_response.py">BrandRetrieveByTickerResponse</a></code>
- <code title="post /brand/retrieve">client.brand.<a href="./src/context/dev/resources/brand.py">retrieve</a>(\*\*<a href="src/context/dev/types/brand_retrieve_params.py">params</a>) -> <a href="./src/context/dev/types/brand_retrieve_response.py">BrandRetrieveResponse</a></code>
- <code title="get /brand/retrieve-simplified">client.brand.<a href="./src/context/dev/resources/brand.py">retrieve_simplified</a>(\*\*<a href="src/context/dev/types/brand_retrieve_simplified_params.py">params</a>) -> <a href="./src/context/dev/types/brand_retrieve_simplified_response.py">BrandRetrieveSimplifiedResponse</a></code>

# Industry
Expand All @@ -90,10 +76,43 @@ Methods:
Types:

```python
from context.dev.types import UtilityPrefetchResponse, UtilityPrefetchByEmailResponse
from context.dev.types import UtilityPrefetchResponse
```

Methods:

- <code title="post /utility/prefetch">client.utility.<a href="./src/context/dev/resources/utility.py">prefetch</a>(\*\*<a href="src/context/dev/types/utility_prefetch_params.py">params</a>) -> <a href="./src/context/dev/types/utility_prefetch_response.py">UtilityPrefetchResponse</a></code>

# Monitors

Types:

```python
from context.dev.types import (
MonitorCreateResponse,
MonitorRetrieveResponse,
MonitorUpdateResponse,
MonitorListResponse,
MonitorDeleteResponse,
MonitorListAccountChangesResponse,
MonitorListAccountRunsResponse,
MonitorListChangesResponse,
MonitorListRunsResponse,
MonitorRetrieveChangeResponse,
MonitorRunResponse,
)
```

Methods:

- <code title="post /brand/prefetch">client.utility.<a href="./src/context/dev/resources/utility.py">prefetch</a>(\*\*<a href="src/context/dev/types/utility_prefetch_params.py">params</a>) -> <a href="./src/context/dev/types/utility_prefetch_response.py">UtilityPrefetchResponse</a></code>
- <code title="post /brand/prefetch-by-email">client.utility.<a href="./src/context/dev/resources/utility.py">prefetch_by_email</a>(\*\*<a href="src/context/dev/types/utility_prefetch_by_email_params.py">params</a>) -> <a href="./src/context/dev/types/utility_prefetch_by_email_response.py">UtilityPrefetchByEmailResponse</a></code>
- <code title="post /monitors">client.monitors.<a href="./src/context/dev/resources/monitors.py">create</a>(\*\*<a href="src/context/dev/types/monitor_create_params.py">params</a>) -> <a href="./src/context/dev/types/monitor_create_response.py">MonitorCreateResponse</a></code>
- <code title="get /monitors/{monitor_id}">client.monitors.<a href="./src/context/dev/resources/monitors.py">retrieve</a>(monitor_id) -> <a href="./src/context/dev/types/monitor_retrieve_response.py">MonitorRetrieveResponse</a></code>
- <code title="patch /monitors/{monitor_id}">client.monitors.<a href="./src/context/dev/resources/monitors.py">update</a>(monitor_id, \*\*<a href="src/context/dev/types/monitor_update_params.py">params</a>) -> <a href="./src/context/dev/types/monitor_update_response.py">MonitorUpdateResponse</a></code>
- <code title="get /monitors">client.monitors.<a href="./src/context/dev/resources/monitors.py">list</a>(\*\*<a href="src/context/dev/types/monitor_list_params.py">params</a>) -> <a href="./src/context/dev/types/monitor_list_response.py">MonitorListResponse</a></code>
- <code title="delete /monitors/{monitor_id}">client.monitors.<a href="./src/context/dev/resources/monitors.py">delete</a>(monitor_id) -> <a href="./src/context/dev/types/monitor_delete_response.py">MonitorDeleteResponse</a></code>
- <code title="get /monitors/changes">client.monitors.<a href="./src/context/dev/resources/monitors.py">list_account_changes</a>(\*\*<a href="src/context/dev/types/monitor_list_account_changes_params.py">params</a>) -> <a href="./src/context/dev/types/monitor_list_account_changes_response.py">MonitorListAccountChangesResponse</a></code>
- <code title="get /monitors/runs">client.monitors.<a href="./src/context/dev/resources/monitors.py">list_account_runs</a>(\*\*<a href="src/context/dev/types/monitor_list_account_runs_params.py">params</a>) -> <a href="./src/context/dev/types/monitor_list_account_runs_response.py">MonitorListAccountRunsResponse</a></code>
- <code title="get /monitors/{monitor_id}/changes">client.monitors.<a href="./src/context/dev/resources/monitors.py">list_changes</a>(monitor_id, \*\*<a href="src/context/dev/types/monitor_list_changes_params.py">params</a>) -> <a href="./src/context/dev/types/monitor_list_changes_response.py">MonitorListChangesResponse</a></code>
- <code title="get /monitors/{monitor_id}/runs">client.monitors.<a href="./src/context/dev/resources/monitors.py">list_runs</a>(monitor_id, \*\*<a href="src/context/dev/types/monitor_list_runs_params.py">params</a>) -> <a href="./src/context/dev/types/monitor_list_runs_response.py">MonitorListRunsResponse</a></code>
- <code title="get /monitors/changes/{change_id}">client.monitors.<a href="./src/context/dev/resources/monitors.py">retrieve_change</a>(change_id) -> <a href="./src/context/dev/types/monitor_retrieve_change_response.py">MonitorRetrieveChangeResponse</a></code>
- <code title="post /monitors/{monitor_id}/run">client.monitors.<a href="./src/context/dev/resources/monitors.py">run</a>(monitor_id) -> <a href="./src/context/dev/types/monitor_run_response.py">MonitorRunResponse</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 = "context.dev"
version = "1.3.0"
version = "2.0.0"
description = "The official Python library for the context.dev API"
dynamic = ["readme"]
license = "Apache-2.0"
Expand Down
57 changes: 56 additions & 1 deletion src/context/dev/_client.py
Original file line number Diff line number Diff line change
Expand Up @@ -35,12 +35,13 @@
)

if TYPE_CHECKING:
from .resources import ai, web, brand, utility, industry
from .resources import ai, web, brand, utility, industry, monitors
from .resources.ai import AIResource, AsyncAIResource
from .resources.web import WebResource, AsyncWebResource
from .resources.brand import BrandResource, AsyncBrandResource
from .resources.utility import UtilityResource, AsyncUtilityResource
from .resources.industry import IndustryResource, AsyncIndustryResource
from .resources.monitors import MonitorsResource, AsyncMonitorsResource

__all__ = [
"Timeout",
Expand Down Expand Up @@ -148,6 +149,15 @@ def utility(self) -> UtilityResource:

return UtilityResource(self)

@cached_property
def monitors(self) -> MonitorsResource:
"""
Monitor pages, sitemaps, and extracted website data for exact or semantic changes. The change.detected webhook payload is documented by the MonitorsChangeDetectedWebhookPayload schema.
"""
from .resources.monitors import MonitorsResource

return MonitorsResource(self)

@cached_property
def with_raw_response(self) -> ContextDevWithRawResponse:
return ContextDevWithRawResponse(self)
Expand Down Expand Up @@ -355,6 +365,15 @@ def utility(self) -> AsyncUtilityResource:

return AsyncUtilityResource(self)

@cached_property
def monitors(self) -> AsyncMonitorsResource:
"""
Monitor pages, sitemaps, and extracted website data for exact or semantic changes. The change.detected webhook payload is documented by the MonitorsChangeDetectedWebhookPayload schema.
"""
from .resources.monitors import AsyncMonitorsResource

return AsyncMonitorsResource(self)

@cached_property
def with_raw_response(self) -> AsyncContextDevWithRawResponse:
return AsyncContextDevWithRawResponse(self)
Expand Down Expand Up @@ -504,6 +523,15 @@ def utility(self) -> utility.UtilityResourceWithRawResponse:

return UtilityResourceWithRawResponse(self._client.utility)

@cached_property
def monitors(self) -> monitors.MonitorsResourceWithRawResponse:
"""
Monitor pages, sitemaps, and extracted website data for exact or semantic changes. The change.detected webhook payload is documented by the MonitorsChangeDetectedWebhookPayload schema.
"""
from .resources.monitors import MonitorsResourceWithRawResponse

return MonitorsResourceWithRawResponse(self._client.monitors)


class AsyncContextDevWithRawResponse:
_client: AsyncContextDev
Expand Down Expand Up @@ -541,6 +569,15 @@ def utility(self) -> utility.AsyncUtilityResourceWithRawResponse:

return AsyncUtilityResourceWithRawResponse(self._client.utility)

@cached_property
def monitors(self) -> monitors.AsyncMonitorsResourceWithRawResponse:
"""
Monitor pages, sitemaps, and extracted website data for exact or semantic changes. The change.detected webhook payload is documented by the MonitorsChangeDetectedWebhookPayload schema.
"""
from .resources.monitors import AsyncMonitorsResourceWithRawResponse

return AsyncMonitorsResourceWithRawResponse(self._client.monitors)


class ContextDevWithStreamedResponse:
_client: ContextDev
Expand Down Expand Up @@ -578,6 +615,15 @@ def utility(self) -> utility.UtilityResourceWithStreamingResponse:

return UtilityResourceWithStreamingResponse(self._client.utility)

@cached_property
def monitors(self) -> monitors.MonitorsResourceWithStreamingResponse:
"""
Monitor pages, sitemaps, and extracted website data for exact or semantic changes. The change.detected webhook payload is documented by the MonitorsChangeDetectedWebhookPayload schema.
"""
from .resources.monitors import MonitorsResourceWithStreamingResponse

return MonitorsResourceWithStreamingResponse(self._client.monitors)


class AsyncContextDevWithStreamedResponse:
_client: AsyncContextDev
Expand Down Expand Up @@ -615,6 +661,15 @@ def utility(self) -> utility.AsyncUtilityResourceWithStreamingResponse:

return AsyncUtilityResourceWithStreamingResponse(self._client.utility)

@cached_property
def monitors(self) -> monitors.AsyncMonitorsResourceWithStreamingResponse:
"""
Monitor pages, sitemaps, and extracted website data for exact or semantic changes. The change.detected webhook payload is documented by the MonitorsChangeDetectedWebhookPayload schema.
"""
from .resources.monitors import AsyncMonitorsResourceWithStreamingResponse

return AsyncMonitorsResourceWithStreamingResponse(self._client.monitors)


Client = ContextDev

Expand Down
2 changes: 1 addition & 1 deletion src/context/dev/_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__ = "context.dev"
__version__ = "1.3.0" # x-release-please-version
__version__ = "2.0.0" # x-release-please-version
14 changes: 14 additions & 0 deletions src/context/dev/resources/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,14 @@
IndustryResourceWithStreamingResponse,
AsyncIndustryResourceWithStreamingResponse,
)
from .monitors import (
MonitorsResource,
AsyncMonitorsResource,
MonitorsResourceWithRawResponse,
AsyncMonitorsResourceWithRawResponse,
MonitorsResourceWithStreamingResponse,
AsyncMonitorsResourceWithStreamingResponse,
)

__all__ = [
"WebResource",
Expand Down Expand Up @@ -72,4 +80,10 @@
"AsyncUtilityResourceWithRawResponse",
"UtilityResourceWithStreamingResponse",
"AsyncUtilityResourceWithStreamingResponse",
"MonitorsResource",
"AsyncMonitorsResource",
"MonitorsResourceWithRawResponse",
"AsyncMonitorsResourceWithRawResponse",
"MonitorsResourceWithStreamingResponse",
"AsyncMonitorsResourceWithStreamingResponse",
]
Loading
Loading