Skip to content

Commit 407a75e

Browse files
authored
Merge pull request #42 from context-dot-dev/release-please--branches--main--changes--next
release: 1.0.0
2 parents 4e3b00f + 5e5f887 commit 407a75e

8 files changed

Lines changed: 259 additions & 14 deletions

‎.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.35.0"
2+
".": "1.0.0"
33
}

‎.stats.yml‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
configured_endpoints: 25
2-
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/context-dev/context.dev-b84f53b1a92511eff85645f287ec08d43adcdcc589367c015770bde836422a65.yml
3-
openapi_spec_hash: 71e317da7bc58cfc3bc2e4180f5b6267
4-
config_hash: f86a4e06ae5ed725aa79d58d7a8dc27c
2+
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/context-dev/context.dev-aea83574a2e2963acf3791ff66f3b2d552e8b07ff00e2705ccd9a96cb3756a6e.yml
3+
openapi_spec_hash: 3a11cd57f8e308484a461522a7f634ee
4+
config_hash: eebf67a9c2ccfe2641980c154d7a698e

‎CHANGELOG.md‎

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

3+
## 1.0.0 (2026-06-18)
4+
5+
Full Changelog: [v0.35.0...v1.0.0](https://github.com/context-dot-dev/context-python-sdk/compare/v0.35.0...v1.0.0)
6+
7+
### Features
8+
9+
* **api:** api update ([fc0ae29](https://github.com/context-dot-dev/context-python-sdk/commit/fc0ae29ae44c8a3cac7a9ac7294ff818634a442c))
10+
311
## 0.35.0 (2026-06-11)
412

513
Full Changelog: [v0.34.0...v0.35.0](https://github.com/context-dot-dev/context-python-sdk/compare/v0.34.0...v0.35.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.35.0"
3+
version = "1.0.0"
44
description = "The official Python library for the context.dev API"
55
dynamic = ["readme"]
66
license = "Apache-2.0"

‎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.35.0" # x-release-please-version
4+
__version__ = "1.0.0" # x-release-please-version

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

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

3-
from typing import List, Optional
3+
from typing import Dict, List, Union, Optional
44

55
from pydantic import Field as FieldInfo
66

77
from .._models import BaseModel
88

9-
__all__ = ["WebWebCrawlMdResponse", "Metadata", "Result", "ResultMetadata", "KeyMetadata"]
9+
__all__ = ["WebWebCrawlMdResponse", "Metadata", "Result", "ResultMetadata", "ResultMetadataAlternate", "KeyMetadata"]
1010

1111

1212
class Metadata(BaseModel):
@@ -29,21 +29,92 @@ class Metadata(BaseModel):
2929
"""Total number of URLs crawled"""
3030

3131

32+
class ResultMetadataAlternate(BaseModel):
33+
href: str
34+
"""Resolved alternate URL."""
35+
36+
hreflang: Optional[str] = None
37+
"""Language or locale for the alternate URL, when present."""
38+
39+
title: Optional[str] = None
40+
"""Alternate resource title, when present."""
41+
42+
type: Optional[str] = None
43+
"""Alternate resource MIME type, when present."""
44+
45+
3246
class ResultMetadata(BaseModel):
3347
crawl_depth: int = FieldInfo(alias="crawlDepth")
3448
"""Depth relative to the start URL. 0 = start URL, 1 = one link away."""
3549

50+
final_url: str = FieldInfo(alias="finalUrl")
51+
"""Final URL scraped after redirects or scraper fallback, when known.
52+
53+
Falls back to sourceUrl when unavailable.
54+
"""
55+
56+
source_url: str = FieldInfo(alias="sourceUrl")
57+
"""Original URL requested by the caller."""
58+
3659
status_code: int = FieldInfo(alias="statusCode")
3760
"""HTTP status code of the response"""
3861

3962
success: bool
4063
"""true if the page was fetched and parsed successfully"""
4164

4265
title: str
43-
"""The page's <title> content (empty string if unavailable)"""
66+
"""Best page title extracted from the page (empty string if unavailable)."""
4467

4568
url: str
46-
"""The URL that was fetched"""
69+
"""The crawl URL fetched for this page."""
70+
71+
additional_meta: Optional[Dict[str, Union[str, List[str]]]] = FieldInfo(alias="additionalMeta", default=None)
72+
"""Additional non-social meta tags not promoted to top-level metadata fields."""
73+
74+
alternates: Optional[List[ResultMetadataAlternate]] = None
75+
"""Resolved alternate links from link rel=alternate tags."""
76+
77+
author: Optional[str] = None
78+
"""Author metadata, when present."""
79+
80+
canonical_url: Optional[str] = FieldInfo(alias="canonicalUrl", default=None)
81+
"""Resolved canonical URL, when present."""
82+
83+
description: Optional[str] = None
84+
"""Best description extracted from standard, Open Graph, or Twitter metadata."""
85+
86+
favicon: Optional[str] = None
87+
"""Resolved favicon URL, when present."""
88+
89+
image: Optional[str] = None
90+
"""Primary resolved preview image from Open Graph, Twitter, or image metadata."""
91+
92+
json_ld: Optional[List[Dict[str, object]]] = FieldInfo(alias="jsonLd", default=None)
93+
"""JSON-LD structured data blocks parsed from the page."""
94+
95+
keywords: Optional[List[str]] = None
96+
"""Keywords extracted from the page's keywords meta tag."""
97+
98+
language: Optional[str] = None
99+
"""Language extracted from html lang or language meta tags."""
100+
101+
modified_time: Optional[str] = FieldInfo(alias="modifiedTime", default=None)
102+
"""Modified timestamp/date from page metadata, when present."""
103+
104+
open_graph: Optional[Dict[str, Union[str, List[str]]]] = FieldInfo(alias="openGraph", default=None)
105+
"""Open Graph metadata with the og: prefix removed and keys camel-cased."""
106+
107+
published_time: Optional[str] = FieldInfo(alias="publishedTime", default=None)
108+
"""Published timestamp/date from page metadata, when present."""
109+
110+
robots: Optional[str] = None
111+
"""Robots meta directive, when present."""
112+
113+
site_name: Optional[str] = FieldInfo(alias="siteName", default=None)
114+
"""Site or application name from page metadata."""
115+
116+
twitter: Optional[Dict[str, Union[str, List[str]]]] = None
117+
"""Twitter card metadata with the twitter: prefix removed and keys camel-cased."""
47118

48119

49120
class Result(BaseModel):

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

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

3-
from typing import Optional
3+
from typing import Dict, List, Union, Optional
44
from typing_extensions import Literal
55

6+
from pydantic import Field as FieldInfo
7+
68
from .._models import BaseModel
79

8-
__all__ = ["WebWebScrapeHTMLResponse", "KeyMetadata"]
10+
__all__ = ["WebWebScrapeHTMLResponse", "Metadata", "MetadataAlternate", "KeyMetadata"]
11+
12+
13+
class MetadataAlternate(BaseModel):
14+
href: str
15+
"""Resolved alternate URL."""
16+
17+
hreflang: Optional[str] = None
18+
"""Language or locale for the alternate URL, when present."""
19+
20+
title: Optional[str] = None
21+
"""Alternate resource title, when present."""
22+
23+
type: Optional[str] = None
24+
"""Alternate resource MIME type, when present."""
25+
26+
27+
class Metadata(BaseModel):
28+
"""Metadata extracted from the scraped page HTML."""
29+
30+
final_url: str = FieldInfo(alias="finalUrl")
31+
"""Final URL scraped after redirects or scraper fallback, when known.
32+
33+
Falls back to sourceUrl when unavailable.
34+
"""
35+
36+
source_url: str = FieldInfo(alias="sourceUrl")
37+
"""Original URL requested by the caller."""
38+
39+
additional_meta: Optional[Dict[str, Union[str, List[str]]]] = FieldInfo(alias="additionalMeta", default=None)
40+
"""Additional non-social meta tags not promoted to top-level metadata fields."""
41+
42+
alternates: Optional[List[MetadataAlternate]] = None
43+
"""Resolved alternate links from link rel=alternate tags."""
44+
45+
author: Optional[str] = None
46+
"""Author metadata, when present."""
47+
48+
canonical_url: Optional[str] = FieldInfo(alias="canonicalUrl", default=None)
49+
"""Resolved canonical URL, when present."""
50+
51+
description: Optional[str] = None
52+
"""Best description extracted from standard, Open Graph, or Twitter metadata."""
53+
54+
favicon: Optional[str] = None
55+
"""Resolved favicon URL, when present."""
56+
57+
image: Optional[str] = None
58+
"""Primary resolved preview image from Open Graph, Twitter, or image metadata."""
59+
60+
json_ld: Optional[List[Dict[str, object]]] = FieldInfo(alias="jsonLd", default=None)
61+
"""JSON-LD structured data blocks parsed from the page."""
62+
63+
keywords: Optional[List[str]] = None
64+
"""Keywords extracted from the page's keywords meta tag."""
65+
66+
language: Optional[str] = None
67+
"""Language extracted from html lang or language meta tags."""
68+
69+
modified_time: Optional[str] = FieldInfo(alias="modifiedTime", default=None)
70+
"""Modified timestamp/date from page metadata, when present."""
71+
72+
open_graph: Optional[Dict[str, Union[str, List[str]]]] = FieldInfo(alias="openGraph", default=None)
73+
"""Open Graph metadata with the og: prefix removed and keys camel-cased."""
74+
75+
published_time: Optional[str] = FieldInfo(alias="publishedTime", default=None)
76+
"""Published timestamp/date from page metadata, when present."""
77+
78+
robots: Optional[str] = None
79+
"""Robots meta directive, when present."""
80+
81+
site_name: Optional[str] = FieldInfo(alias="siteName", default=None)
82+
"""Site or application name from page metadata."""
83+
84+
title: Optional[str] = None
85+
"""Best title extracted from the page."""
86+
87+
twitter: Optional[Dict[str, Union[str, List[str]]]] = None
88+
"""Twitter card metadata with the twitter: prefix removed and keys camel-cased."""
989

1090

1191
class KeyMetadata(BaseModel):
@@ -30,6 +110,9 @@ class WebWebScrapeHTMLResponse(BaseModel):
30110
underlying XML instead — see the `type` field.
31111
"""
32112

113+
metadata: Metadata
114+
"""Metadata extracted from the scraped page HTML."""
115+
33116
success: Literal[True]
34117
"""Indicates success"""
35118

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

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

3-
from typing import Optional
3+
from typing import Dict, List, Union, Optional
44
from typing_extensions import Literal
55

6+
from pydantic import Field as FieldInfo
7+
68
from .._models import BaseModel
79

8-
__all__ = ["WebWebScrapeMdResponse", "KeyMetadata"]
10+
__all__ = ["WebWebScrapeMdResponse", "Metadata", "MetadataAlternate", "KeyMetadata"]
11+
12+
13+
class MetadataAlternate(BaseModel):
14+
href: str
15+
"""Resolved alternate URL."""
16+
17+
hreflang: Optional[str] = None
18+
"""Language or locale for the alternate URL, when present."""
19+
20+
title: Optional[str] = None
21+
"""Alternate resource title, when present."""
22+
23+
type: Optional[str] = None
24+
"""Alternate resource MIME type, when present."""
25+
26+
27+
class Metadata(BaseModel):
28+
"""Metadata extracted from the scraped page HTML."""
29+
30+
final_url: str = FieldInfo(alias="finalUrl")
31+
"""Final URL scraped after redirects or scraper fallback, when known.
32+
33+
Falls back to sourceUrl when unavailable.
34+
"""
35+
36+
source_url: str = FieldInfo(alias="sourceUrl")
37+
"""Original URL requested by the caller."""
38+
39+
additional_meta: Optional[Dict[str, Union[str, List[str]]]] = FieldInfo(alias="additionalMeta", default=None)
40+
"""Additional non-social meta tags not promoted to top-level metadata fields."""
41+
42+
alternates: Optional[List[MetadataAlternate]] = None
43+
"""Resolved alternate links from link rel=alternate tags."""
44+
45+
author: Optional[str] = None
46+
"""Author metadata, when present."""
47+
48+
canonical_url: Optional[str] = FieldInfo(alias="canonicalUrl", default=None)
49+
"""Resolved canonical URL, when present."""
50+
51+
description: Optional[str] = None
52+
"""Best description extracted from standard, Open Graph, or Twitter metadata."""
53+
54+
favicon: Optional[str] = None
55+
"""Resolved favicon URL, when present."""
56+
57+
image: Optional[str] = None
58+
"""Primary resolved preview image from Open Graph, Twitter, or image metadata."""
59+
60+
json_ld: Optional[List[Dict[str, object]]] = FieldInfo(alias="jsonLd", default=None)
61+
"""JSON-LD structured data blocks parsed from the page."""
62+
63+
keywords: Optional[List[str]] = None
64+
"""Keywords extracted from the page's keywords meta tag."""
65+
66+
language: Optional[str] = None
67+
"""Language extracted from html lang or language meta tags."""
68+
69+
modified_time: Optional[str] = FieldInfo(alias="modifiedTime", default=None)
70+
"""Modified timestamp/date from page metadata, when present."""
71+
72+
open_graph: Optional[Dict[str, Union[str, List[str]]]] = FieldInfo(alias="openGraph", default=None)
73+
"""Open Graph metadata with the og: prefix removed and keys camel-cased."""
74+
75+
published_time: Optional[str] = FieldInfo(alias="publishedTime", default=None)
76+
"""Published timestamp/date from page metadata, when present."""
77+
78+
robots: Optional[str] = None
79+
"""Robots meta directive, when present."""
80+
81+
site_name: Optional[str] = FieldInfo(alias="siteName", default=None)
82+
"""Site or application name from page metadata."""
83+
84+
title: Optional[str] = None
85+
"""Best title extracted from the page."""
86+
87+
twitter: Optional[Dict[str, Union[str, List[str]]]] = None
88+
"""Twitter card metadata with the twitter: prefix removed and keys camel-cased."""
989

1090

1191
class KeyMetadata(BaseModel):
@@ -25,6 +105,9 @@ class WebWebScrapeMdResponse(BaseModel):
25105
markdown: str
26106
"""Page content converted to GitHub Flavored Markdown"""
27107

108+
metadata: Metadata
109+
"""Metadata extracted from the scraped page HTML."""
110+
28111
success: Literal[True]
29112
"""Indicates success"""
30113

0 commit comments

Comments
 (0)