Skip to content

Commit 497911e

Browse files
authored
Merge pull request #11 from context-dot-dev/release-please--branches--main--changes--next
release: 0.9.0
2 parents 0d3b871 + b3fa724 commit 497911e

11 files changed

Lines changed: 98 additions & 10 deletions

File tree

‎.release-please-manifest.json‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
{
2-
".": "0.8.0"
2+
".": "0.9.0"
33
}

‎.stats.yml‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
configured_endpoints: 21
2-
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/context-dev%2Fcontext.dev-5afee68d7308a77a9ef51fb53917080746f96327c6d745fc029363a7d1494c3c.yml
3-
openapi_spec_hash: b2e32bb58d92a00f6ede04c4f7bf1a34
2+
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/context-dev%2Fcontext.dev-ca8e38b0f28a9967dab631b8868f1d59bc035fd994a717e0125c77ca592bd105.yml
3+
openapi_spec_hash: ef0a5df01201a032dcc41f9a25b733e6
44
config_hash: 7d13dca2b2c6f71fc463cb6062efa5ea

‎CHANGELOG.md‎

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,20 @@
11
# Changelog
22

3+
## 0.9.0 (2026-04-23)
4+
5+
Full Changelog: [v0.8.0...v0.9.0](https://github.com/context-dot-dev/context-python-sdk/compare/v0.8.0...v0.9.0)
6+
7+
### Features
8+
9+
* **api:** api update ([83063fc](https://github.com/context-dot-dev/context-python-sdk/commit/83063fc4358dde5756a27d9a30e4eaf48929ff58))
10+
* **api:** api update ([7ce5f5b](https://github.com/context-dot-dev/context-python-sdk/commit/7ce5f5b35800d3dee0d8505c56a158b457868bdb))
11+
* **api:** api update ([90dcf23](https://github.com/context-dot-dev/context-python-sdk/commit/90dcf237bc7ee1363ad988e68bb62003d1784d5e))
12+
13+
14+
### Chores
15+
16+
* **internal:** more robust bootstrap script ([c0a50fe](https://github.com/context-dot-dev/context-python-sdk/commit/c0a50fe104044dd08ed93d342f6f8152bfa4c602))
17+
318
## 0.8.0 (2026-04-19)
419

520
Full Changelog: [v0.7.0...v0.8.0](https://github.com/context-dot-dev/context-python-sdk/compare/v0.7.0...v0.8.0)

‎pyproject.toml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[project]
22
name = "context.dev"
3-
version = "0.8.0"
3+
version = "0.9.0"
44
description = "The official Python library for the context.dev API"
55
dynamic = ["readme"]
66
license = "Apache-2.0"

‎scripts/bootstrap‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ set -e
44

55
cd "$(dirname "$0")/.."
66

7-
if [ -f "Brewfile" ] && [ "$(uname -s)" = "Darwin" ] && [ "$SKIP_BREW" != "1" ] && [ -t 0 ]; then
7+
if [ -f "Brewfile" ] && [ "$(uname -s)" = "Darwin" ] && [ "${SKIP_BREW:-}" != "1" ] && [ -t 0 ]; then
88
brew bundle check >/dev/null 2>&1 || {
99
echo -n "==> Install Homebrew dependencies? (y/N): "
1010
read -r response

‎src/context/dev/_version.py‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
22

33
__title__ = "context.dev"
4-
__version__ = "0.8.0" # x-release-please-version
4+
__version__ = "0.9.0" # x-release-please-version

‎src/context/dev/resources/web.py‎

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -251,6 +251,7 @@ def web_crawl_md(
251251
follow_subdomains: bool | Omit = omit,
252252
include_images: bool | Omit = omit,
253253
include_links: bool | Omit = omit,
254+
max_age_ms: int | Omit = omit,
254255
max_depth: int | Omit = omit,
255256
max_pages: int | Omit = omit,
256257
shorten_base64_images: bool | Omit = omit,
@@ -278,6 +279,10 @@ def web_crawl_md(
278279
279280
include_links: Preserve hyperlinks in the Markdown output
280281
282+
max_age_ms: Return a cached result if a prior scrape for the same parameters exists and is
283+
younger than this many milliseconds. Defaults to 1 day (86400000 ms) when
284+
omitted. Max is 30 days (2592000000 ms). Set to 0 to always scrape fresh.
285+
281286
max_depth: Maximum link depth from the starting URL (0 = only the starting page)
282287
283288
max_pages: Maximum number of pages to crawl. Hard cap: 500.
@@ -305,6 +310,7 @@ def web_crawl_md(
305310
"follow_subdomains": follow_subdomains,
306311
"include_images": include_images,
307312
"include_links": include_links,
313+
"max_age_ms": max_age_ms,
308314
"max_depth": max_depth,
309315
"max_pages": max_pages,
310316
"shorten_base64_images": shorten_base64_images,
@@ -478,6 +484,7 @@ def web_scrape_sitemap(
478484
*,
479485
domain: str,
480486
max_links: int | Omit = omit,
487+
url_regex: str | Omit = omit,
481488
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
482489
# The extra values given here take precedence over values defined on the client or passed to this method.
483490
extra_headers: Headers | None = None,
@@ -494,6 +501,9 @@ def web_scrape_sitemap(
494501
max_links: Maximum number of links to return from the sitemap crawl. Defaults to 10,000.
495502
Minimum is 1, maximum is 100,000.
496503
504+
url_regex: Optional RE2-compatible regex pattern. Only URLs matching this pattern are
505+
returned and counted against maxLinks.
506+
497507
extra_headers: Send extra headers
498508
499509
extra_query: Add additional query parameters to the request
@@ -513,6 +523,7 @@ def web_scrape_sitemap(
513523
{
514524
"domain": domain,
515525
"max_links": max_links,
526+
"url_regex": url_regex,
516527
},
517528
web_web_scrape_sitemap_params.WebWebScrapeSitemapParams,
518529
),
@@ -733,6 +744,7 @@ async def web_crawl_md(
733744
follow_subdomains: bool | Omit = omit,
734745
include_images: bool | Omit = omit,
735746
include_links: bool | Omit = omit,
747+
max_age_ms: int | Omit = omit,
736748
max_depth: int | Omit = omit,
737749
max_pages: int | Omit = omit,
738750
shorten_base64_images: bool | Omit = omit,
@@ -760,6 +772,10 @@ async def web_crawl_md(
760772
761773
include_links: Preserve hyperlinks in the Markdown output
762774
775+
max_age_ms: Return a cached result if a prior scrape for the same parameters exists and is
776+
younger than this many milliseconds. Defaults to 1 day (86400000 ms) when
777+
omitted. Max is 30 days (2592000000 ms). Set to 0 to always scrape fresh.
778+
763779
max_depth: Maximum link depth from the starting URL (0 = only the starting page)
764780
765781
max_pages: Maximum number of pages to crawl. Hard cap: 500.
@@ -787,6 +803,7 @@ async def web_crawl_md(
787803
"follow_subdomains": follow_subdomains,
788804
"include_images": include_images,
789805
"include_links": include_links,
806+
"max_age_ms": max_age_ms,
790807
"max_depth": max_depth,
791808
"max_pages": max_pages,
792809
"shorten_base64_images": shorten_base64_images,
@@ -960,6 +977,7 @@ async def web_scrape_sitemap(
960977
*,
961978
domain: str,
962979
max_links: int | Omit = omit,
980+
url_regex: str | Omit = omit,
963981
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
964982
# The extra values given here take precedence over values defined on the client or passed to this method.
965983
extra_headers: Headers | None = None,
@@ -976,6 +994,9 @@ async def web_scrape_sitemap(
976994
max_links: Maximum number of links to return from the sitemap crawl. Defaults to 10,000.
977995
Minimum is 1, maximum is 100,000.
978996
997+
url_regex: Optional RE2-compatible regex pattern. Only URLs matching this pattern are
998+
returned and counted against maxLinks.
999+
9791000
extra_headers: Send extra headers
9801001
9811002
extra_query: Add additional query parameters to the request
@@ -995,6 +1016,7 @@ async def web_scrape_sitemap(
9951016
{
9961017
"domain": domain,
9971018
"max_links": max_links,
1019+
"url_regex": url_regex,
9981020
},
9991021
web_web_scrape_sitemap_params.WebWebScrapeSitemapParams,
10001022
),

‎src/context/dev/types/web_extract_fonts_response.py‎

Lines changed: 36 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,13 @@
11
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
22

3-
from typing import List
3+
from typing import Dict, List, Optional
4+
from typing_extensions import Literal
5+
6+
from pydantic import Field as FieldInfo
47

58
from .._models import BaseModel
69

7-
__all__ = ["WebExtractFontsResponse", "Font"]
10+
__all__ = ["WebExtractFontsResponse", "Font", "FontLinks"]
811

912

1013
class Font(BaseModel):
@@ -30,6 +33,30 @@ class Font(BaseModel):
3033
"""Array of CSS selectors or element types where this font is used"""
3134

3235

36+
class FontLinks(BaseModel):
37+
files: Dict[str, str]
38+
"""Upright font files keyed by weight string (e.g.
39+
40+
"400" for regular, "500", "700"). Values are absolute URLs.
41+
"""
42+
43+
type: Literal["google", "custom"]
44+
45+
category: Optional[str] = None
46+
"""Google Fonts category when type is google (e.g.
47+
48+
sans-serif, serif, monospace, display, handwriting). Omitted for custom fonts
49+
when unknown.
50+
"""
51+
52+
display_name: Optional[str] = FieldInfo(alias="displayName", default=None)
53+
"""
54+
Present when type is custom: human-readable name derived from the fontLinks key
55+
(strip build/hash suffixes, split camelCase / PascalCase, normalize separators).
56+
Google entries omit this.
57+
"""
58+
59+
3360
class WebExtractFontsResponse(BaseModel):
3461
code: int
3562
"""HTTP status code, e.g., 200"""
@@ -42,3 +69,10 @@ class WebExtractFontsResponse(BaseModel):
4269

4370
status: str
4471
"""Status of the response, e.g., 'ok'"""
72+
73+
font_links: Optional[Dict[str, FontLinks]] = FieldInfo(alias="fontLinks", default=None)
74+
"""
75+
Font assets keyed by family name as it appears in the fonts array (non-generic
76+
names only). Clients match entries in fonts to pick a file URL from files.
77+
Omitted when no families resolve to Google or custom @font-face URLs.
78+
"""

‎src/context/dev/types/web_web_crawl_md_params.py‎

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,13 @@ class WebWebCrawlMdParams(TypedDict, total=False):
2626
include_links: Annotated[bool, PropertyInfo(alias="includeLinks")]
2727
"""Preserve hyperlinks in the Markdown output"""
2828

29+
max_age_ms: Annotated[int, PropertyInfo(alias="maxAgeMs")]
30+
"""
31+
Return a cached result if a prior scrape for the same parameters exists and is
32+
younger than this many milliseconds. Defaults to 1 day (86400000 ms) when
33+
omitted. Max is 30 days (2592000000 ms). Set to 0 to always scrape fresh.
34+
"""
35+
2936
max_depth: Annotated[int, PropertyInfo(alias="maxDepth")]
3037
"""Maximum link depth from the starting URL (0 = only the starting page)"""
3138

‎src/context/dev/types/web_web_scrape_sitemap_params.py‎

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,3 +18,9 @@ class WebWebScrapeSitemapParams(TypedDict, total=False):
1818
1919
Defaults to 10,000. Minimum is 1, maximum is 100,000.
2020
"""
21+
22+
url_regex: Annotated[str, PropertyInfo(alias="urlRegex")]
23+
"""Optional RE2-compatible regex pattern.
24+
25+
Only URLs matching this pattern are returned and counted against maxLinks.
26+
"""

0 commit comments

Comments
 (0)