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
6 changes: 3 additions & 3 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ jobs:
lint:
timeout-minutes: 10
name: lint
runs-on: ${{ github.repository == 'stainless-sdks/context.dev-python' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }}
runs-on: ${{ startsWith(github.repository, 'stainless-sdks/') && 'depot-ubuntu-24.04' || 'ubuntu-latest' }}
if: (github.event_name == 'push' || github.event.pull_request.head.repo.fork) && (github.event_name != 'push' || github.event.head_commit.message != 'codegen metadata')
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
Expand All @@ -41,7 +41,7 @@ jobs:
permissions:
contents: read
id-token: write
runs-on: ${{ github.repository == 'stainless-sdks/context.dev-python' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }}
runs-on: ${{ startsWith(github.repository, 'stainless-sdks/') && 'depot-ubuntu-24.04' || 'ubuntu-latest' }}
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2

Expand Down Expand Up @@ -78,7 +78,7 @@ jobs:
test:
timeout-minutes: 10
name: test
runs-on: ${{ github.repository == 'stainless-sdks/context.dev-python' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }}
runs-on: ${{ startsWith(github.repository, 'stainless-sdks/') && 'depot-ubuntu-24.04' || 'ubuntu-latest' }}
if: github.event_name == 'push' || github.event.pull_request.head.repo.fork
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
Expand Down
2 changes: 1 addition & 1 deletion .release-please-manifest.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
".": "2.4.0"
".": "2.5.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: 30
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/context-dev/context.dev-fb56935a194e69348fecd985f7cf8b249795b46af2fb32f6c5c8ef648cf10c15.yml
openapi_spec_hash: 7260a560474283b7ad6ac5d426058ac9
config_hash: daabb160675d86b354711da1e77e5129
configured_endpoints: 32
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/context-dev/context.dev-242450ea46eb8c3e843fd6c4bf87e73192b5f62f6da697cd091d13c6aa7a991b.yml
openapi_spec_hash: c1c561976de1abcacede71fd5ab9b3d9
config_hash: 70e7e80b5e87f94981bee396c6cd41e8
21 changes: 21 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,26 @@
# Changelog

## 2.5.0 (2026-07-22)

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

### Features

* **api:** api update ([bbcd1c1](https://github.com/context-dot-dev/context-python-sdk/commit/bbcd1c1d42b9a2080dff7ff42ce7028339d94c25))
* **api:** api update ([4432665](https://github.com/context-dot-dev/context-python-sdk/commit/443266595a9dec4e7ccc081ea1d4967985cb7d67))
* **api:** api update ([94fa1f1](https://github.com/context-dot-dev/context-python-sdk/commit/94fa1f1ee791691e9e65e4d437dd7ce5f619087a))
* **api:** api update ([4ae29fb](https://github.com/context-dot-dev/context-python-sdk/commit/4ae29fb780a4c6d971e2f77d9e7572ba12ccc8a5))
* **api:** api update ([08d9b02](https://github.com/context-dot-dev/context-python-sdk/commit/08d9b029637ba08b636b653659427c9f21f9f9ce))
* **api:** api update ([8592c63](https://github.com/context-dot-dev/context-python-sdk/commit/8592c635674b01bcefbc5563bc53b98e90859b0c))
* **api:** api update ([7d2dfb5](https://github.com/context-dot-dev/context-python-sdk/commit/7d2dfb58157434152a853aebcd4f1289c2e30bd6))
* **api:** manual updates ([e75ea61](https://github.com/context-dot-dev/context-python-sdk/commit/e75ea615fc7e9dba2d84ebc9bd4e4f8c19f98512))
* **stlc:** configurable CI runner and private-production-repo support in workflow templates ([b66fcc2](https://github.com/context-dot-dev/context-python-sdk/commit/b66fcc27146584210b8e6d500c7ce11db83cccce))


### Bug Fixes

* **internal:** resolve build failures ([e373980](https://github.com/context-dot-dev/context-python-sdk/commit/e373980c1d881969d2dc37bd2d069fd9c128595e))

## 2.4.0 (2026-07-12)

Full Changelog: [v2.3.0...v2.4.0](https://github.com/context-dot-dev/context-python-sdk/compare/v2.3.0...v2.4.0)
Expand Down
4 changes: 4 additions & 0 deletions api.md
Original file line number Diff line number Diff line change
Expand Up @@ -107,6 +107,8 @@ from context.dev.types import (
MonitorUpdateResponse,
MonitorListResponse,
MonitorDeleteResponse,
MonitorGetCreditUsageResponse,
MonitorGetLimitsResponse,
MonitorListAccountChangesResponse,
MonitorListAccountRunsResponse,
MonitorListChangesResponse,
Expand All @@ -123,6 +125,8 @@ Methods:
- <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/credit-usage">client.monitors.<a href="./src/context/dev/resources/monitors.py">get_credit_usage</a>(\*\*<a href="src/context/dev/types/monitor_get_credit_usage_params.py">params</a>) -> <a href="./src/context/dev/types/monitor_get_credit_usage_response.py">MonitorGetCreditUsageResponse</a></code>
- <code title="get /monitors/limits">client.monitors.<a href="./src/context/dev/resources/monitors.py">get_limits</a>() -> <a href="./src/context/dev/types/monitor_get_limits_response.py">MonitorGetLimitsResponse</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>
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 = "context.dev"
version = "2.4.0"
version = "2.5.0"
description = "The official Python library for the context.dev API"
dynamic = ["readme"]
license = "Apache-2.0"
Expand Down
2 changes: 1 addition & 1 deletion scripts/lint
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ else
fi

echo "==> Running pyright"
uv run pyright
uv run pyright -p .

echo "==> Running mypy"
uv run mypy .
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__ = "2.4.0" # x-release-please-version
__version__ = "2.5.0" # x-release-please-version
26 changes: 25 additions & 1 deletion src/context/dev/resources/ai.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
import httpx

from ..types import ai_extract_product_params, ai_extract_products_params
from .._types import Body, Omit, Query, Headers, NotGiven, omit, not_given
from .._types import Body, Omit, Query, Headers, NotGiven, SequenceNotStr, omit, not_given
from .._utils import required_args, maybe_transform, async_maybe_transform
from .._compat import cached_property
from .._resource import SyncAPIResource, AsyncAPIResource
Expand Down Expand Up @@ -49,6 +49,7 @@ def extract_product(
*,
url: str,
max_age_ms: int | Omit = omit,
tags: SequenceNotStr[str] | Omit = omit,
timeout_ms: 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.
Expand All @@ -68,6 +69,8 @@ def extract_product(
younger than this many milliseconds. Defaults to 7 days (604800000 ms) when
omitted. Max is 30 days (2592000000 ms). Set to 0 to always scrape fresh.

tags: Optional tags for tracking usage. Up to 20 tags, each 1 to 50 characters.

timeout_ms: Optional timeout in milliseconds for the request. If the request takes longer
than this value, it will be aborted with a 408 status code. Maximum allowed
value is 300000ms (5 minutes).
Expand All @@ -86,6 +89,7 @@ def extract_product(
{
"url": url,
"max_age_ms": max_age_ms,
"tags": tags,
"timeout_ms": timeout_ms,
},
ai_extract_product_params.AIExtractProductParams,
Expand All @@ -103,6 +107,7 @@ def extract_products(
domain: str,
max_age_ms: int | Omit = omit,
max_products: int | Omit = omit,
tags: SequenceNotStr[str] | Omit = omit,
timeout_ms: 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.
Expand All @@ -126,6 +131,8 @@ def extract_products(

max_products: Maximum number of products to extract.

tags: Optional tags for tracking usage. Up to 20 tags, each 1 to 50 characters.

timeout_ms: Optional timeout in milliseconds for the request. If the request takes longer
than this value, it will be aborted with a 408 status code. Maximum allowed
value is 300000ms (5 minutes).
Expand All @@ -147,6 +154,7 @@ def extract_products(
direct_url: str,
max_age_ms: int | Omit = omit,
max_products: int | Omit = omit,
tags: SequenceNotStr[str] | Omit = omit,
timeout_ms: 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.
Expand All @@ -171,6 +179,8 @@ def extract_products(

max_products: Maximum number of products to extract.

tags: Optional tags for tracking usage. Up to 20 tags, each 1 to 50 characters.

timeout_ms: Optional timeout in milliseconds for the request. If the request takes longer
than this value, it will be aborted with a 408 status code. Maximum allowed
value is 300000ms (5 minutes).
Expand All @@ -192,6 +202,7 @@ def extract_products(
domain: str | Omit = omit,
max_age_ms: int | Omit = omit,
max_products: int | Omit = omit,
tags: SequenceNotStr[str] | Omit = omit,
timeout_ms: int | Omit = omit,
direct_url: 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 @@ -208,6 +219,7 @@ def extract_products(
"domain": domain,
"max_age_ms": max_age_ms,
"max_products": max_products,
"tags": tags,
"timeout_ms": timeout_ms,
"direct_url": direct_url,
},
Expand Down Expand Up @@ -245,6 +257,7 @@ async def extract_product(
*,
url: str,
max_age_ms: int | Omit = omit,
tags: SequenceNotStr[str] | Omit = omit,
timeout_ms: 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.
Expand All @@ -264,6 +277,8 @@ async def extract_product(
younger than this many milliseconds. Defaults to 7 days (604800000 ms) when
omitted. Max is 30 days (2592000000 ms). Set to 0 to always scrape fresh.

tags: Optional tags for tracking usage. Up to 20 tags, each 1 to 50 characters.

timeout_ms: Optional timeout in milliseconds for the request. If the request takes longer
than this value, it will be aborted with a 408 status code. Maximum allowed
value is 300000ms (5 minutes).
Expand All @@ -282,6 +297,7 @@ async def extract_product(
{
"url": url,
"max_age_ms": max_age_ms,
"tags": tags,
"timeout_ms": timeout_ms,
},
ai_extract_product_params.AIExtractProductParams,
Expand All @@ -299,6 +315,7 @@ async def extract_products(
domain: str,
max_age_ms: int | Omit = omit,
max_products: int | Omit = omit,
tags: SequenceNotStr[str] | Omit = omit,
timeout_ms: 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.
Expand All @@ -322,6 +339,8 @@ async def extract_products(

max_products: Maximum number of products to extract.

tags: Optional tags for tracking usage. Up to 20 tags, each 1 to 50 characters.

timeout_ms: Optional timeout in milliseconds for the request. If the request takes longer
than this value, it will be aborted with a 408 status code. Maximum allowed
value is 300000ms (5 minutes).
Expand All @@ -343,6 +362,7 @@ async def extract_products(
direct_url: str,
max_age_ms: int | Omit = omit,
max_products: int | Omit = omit,
tags: SequenceNotStr[str] | Omit = omit,
timeout_ms: 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.
Expand All @@ -367,6 +387,8 @@ async def extract_products(

max_products: Maximum number of products to extract.

tags: Optional tags for tracking usage. Up to 20 tags, each 1 to 50 characters.

timeout_ms: Optional timeout in milliseconds for the request. If the request takes longer
than this value, it will be aborted with a 408 status code. Maximum allowed
value is 300000ms (5 minutes).
Expand All @@ -388,6 +410,7 @@ async def extract_products(
domain: str | Omit = omit,
max_age_ms: int | Omit = omit,
max_products: int | Omit = omit,
tags: SequenceNotStr[str] | Omit = omit,
timeout_ms: int | Omit = omit,
direct_url: 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 @@ -404,6 +427,7 @@ async def extract_products(
"domain": domain,
"max_age_ms": max_age_ms,
"max_products": max_products,
"tags": tags,
"timeout_ms": timeout_ms,
"direct_url": direct_url,
},
Expand Down
Loading
Loading