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.35.0"
".": "1.0.0"
}
6 changes: 3 additions & 3 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-b84f53b1a92511eff85645f287ec08d43adcdcc589367c015770bde836422a65.yml
openapi_spec_hash: 71e317da7bc58cfc3bc2e4180f5b6267
config_hash: f86a4e06ae5ed725aa79d58d7a8dc27c
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/context-dev/context.dev-aea83574a2e2963acf3791ff66f3b2d552e8b07ff00e2705ccd9a96cb3756a6e.yml
openapi_spec_hash: 3a11cd57f8e308484a461522a7f634ee
config_hash: eebf67a9c2ccfe2641980c154d7a698e
8 changes: 8 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
# Changelog

## 1.0.0 (2026-06-18)

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

### Features

* **api:** api update ([fc0ae29](https://github.com/context-dot-dev/context-python-sdk/commit/fc0ae29ae44c8a3cac7a9ac7294ff818634a442c))

## 0.35.0 (2026-06-11)

Full Changelog: [v0.34.0...v0.35.0](https://github.com/context-dot-dev/context-python-sdk/compare/v0.34.0...v0.35.0)
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 = "0.35.0"
version = "1.0.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 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__ = "0.35.0" # x-release-please-version
__version__ = "1.0.0" # x-release-please-version
79 changes: 75 additions & 4 deletions src/context/dev/types/web_web_crawl_md_response.py
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.

from typing import List, Optional
from typing import Dict, List, Union, Optional

from pydantic import Field as FieldInfo

from .._models import BaseModel

__all__ = ["WebWebCrawlMdResponse", "Metadata", "Result", "ResultMetadata", "KeyMetadata"]
__all__ = ["WebWebCrawlMdResponse", "Metadata", "Result", "ResultMetadata", "ResultMetadataAlternate", "KeyMetadata"]


class Metadata(BaseModel):
Expand All @@ -29,21 +29,92 @@ class Metadata(BaseModel):
"""Total number of URLs crawled"""


class ResultMetadataAlternate(BaseModel):
href: str
"""Resolved alternate URL."""

hreflang: Optional[str] = None
"""Language or locale for the alternate URL, when present."""

title: Optional[str] = None
"""Alternate resource title, when present."""

type: Optional[str] = None
"""Alternate resource MIME type, when present."""


class ResultMetadata(BaseModel):
crawl_depth: int = FieldInfo(alias="crawlDepth")
"""Depth relative to the start URL. 0 = start URL, 1 = one link away."""

final_url: str = FieldInfo(alias="finalUrl")
"""Final URL scraped after redirects or scraper fallback, when known.

Falls back to sourceUrl when unavailable.
"""

source_url: str = FieldInfo(alias="sourceUrl")
"""Original URL requested by the caller."""

status_code: int = FieldInfo(alias="statusCode")
"""HTTP status code of the response"""

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

title: str
"""The page's <title> content (empty string if unavailable)"""
"""Best page title extracted from the page (empty string if unavailable)."""

url: str
"""The URL that was fetched"""
"""The crawl URL fetched for this page."""

additional_meta: Optional[Dict[str, Union[str, List[str]]]] = FieldInfo(alias="additionalMeta", default=None)
"""Additional non-social meta tags not promoted to top-level metadata fields."""

alternates: Optional[List[ResultMetadataAlternate]] = None
"""Resolved alternate links from link rel=alternate tags."""

author: Optional[str] = None
"""Author metadata, when present."""

canonical_url: Optional[str] = FieldInfo(alias="canonicalUrl", default=None)
"""Resolved canonical URL, when present."""

description: Optional[str] = None
"""Best description extracted from standard, Open Graph, or Twitter metadata."""

favicon: Optional[str] = None
"""Resolved favicon URL, when present."""

image: Optional[str] = None
"""Primary resolved preview image from Open Graph, Twitter, or image metadata."""

json_ld: Optional[List[Dict[str, object]]] = FieldInfo(alias="jsonLd", default=None)
"""JSON-LD structured data blocks parsed from the page."""

keywords: Optional[List[str]] = None
"""Keywords extracted from the page's keywords meta tag."""

language: Optional[str] = None
"""Language extracted from html lang or language meta tags."""

modified_time: Optional[str] = FieldInfo(alias="modifiedTime", default=None)
"""Modified timestamp/date from page metadata, when present."""

open_graph: Optional[Dict[str, Union[str, List[str]]]] = FieldInfo(alias="openGraph", default=None)
"""Open Graph metadata with the og: prefix removed and keys camel-cased."""

published_time: Optional[str] = FieldInfo(alias="publishedTime", default=None)
"""Published timestamp/date from page metadata, when present."""

robots: Optional[str] = None
"""Robots meta directive, when present."""

site_name: Optional[str] = FieldInfo(alias="siteName", default=None)
"""Site or application name from page metadata."""

twitter: Optional[Dict[str, Union[str, List[str]]]] = None
"""Twitter card metadata with the twitter: prefix removed and keys camel-cased."""


class Result(BaseModel):
Expand Down
87 changes: 85 additions & 2 deletions src/context/dev/types/web_web_scrape_html_response.py
Original file line number Diff line number Diff line change
@@ -1,11 +1,91 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.

from typing import Optional
from typing import Dict, List, Union, Optional
from typing_extensions import Literal

from pydantic import Field as FieldInfo

from .._models import BaseModel

__all__ = ["WebWebScrapeHTMLResponse", "KeyMetadata"]
__all__ = ["WebWebScrapeHTMLResponse", "Metadata", "MetadataAlternate", "KeyMetadata"]


class MetadataAlternate(BaseModel):
href: str
"""Resolved alternate URL."""

hreflang: Optional[str] = None
"""Language or locale for the alternate URL, when present."""

title: Optional[str] = None
"""Alternate resource title, when present."""

type: Optional[str] = None
"""Alternate resource MIME type, when present."""


class Metadata(BaseModel):
"""Metadata extracted from the scraped page HTML."""

final_url: str = FieldInfo(alias="finalUrl")
"""Final URL scraped after redirects or scraper fallback, when known.

Falls back to sourceUrl when unavailable.
"""

source_url: str = FieldInfo(alias="sourceUrl")
"""Original URL requested by the caller."""

additional_meta: Optional[Dict[str, Union[str, List[str]]]] = FieldInfo(alias="additionalMeta", default=None)
"""Additional non-social meta tags not promoted to top-level metadata fields."""

alternates: Optional[List[MetadataAlternate]] = None
"""Resolved alternate links from link rel=alternate tags."""

author: Optional[str] = None
"""Author metadata, when present."""

canonical_url: Optional[str] = FieldInfo(alias="canonicalUrl", default=None)
"""Resolved canonical URL, when present."""

description: Optional[str] = None
"""Best description extracted from standard, Open Graph, or Twitter metadata."""

favicon: Optional[str] = None
"""Resolved favicon URL, when present."""

image: Optional[str] = None
"""Primary resolved preview image from Open Graph, Twitter, or image metadata."""

json_ld: Optional[List[Dict[str, object]]] = FieldInfo(alias="jsonLd", default=None)
"""JSON-LD structured data blocks parsed from the page."""

keywords: Optional[List[str]] = None
"""Keywords extracted from the page's keywords meta tag."""

language: Optional[str] = None
"""Language extracted from html lang or language meta tags."""

modified_time: Optional[str] = FieldInfo(alias="modifiedTime", default=None)
"""Modified timestamp/date from page metadata, when present."""

open_graph: Optional[Dict[str, Union[str, List[str]]]] = FieldInfo(alias="openGraph", default=None)
"""Open Graph metadata with the og: prefix removed and keys camel-cased."""

published_time: Optional[str] = FieldInfo(alias="publishedTime", default=None)
"""Published timestamp/date from page metadata, when present."""

robots: Optional[str] = None
"""Robots meta directive, when present."""

site_name: Optional[str] = FieldInfo(alias="siteName", default=None)
"""Site or application name from page metadata."""

title: Optional[str] = None
"""Best title extracted from the page."""

twitter: Optional[Dict[str, Union[str, List[str]]]] = None
"""Twitter card metadata with the twitter: prefix removed and keys camel-cased."""


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

metadata: Metadata
"""Metadata extracted from the scraped page HTML."""

success: Literal[True]
"""Indicates success"""

Expand Down
87 changes: 85 additions & 2 deletions src/context/dev/types/web_web_scrape_md_response.py
Original file line number Diff line number Diff line change
@@ -1,11 +1,91 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.

from typing import Optional
from typing import Dict, List, Union, Optional
from typing_extensions import Literal

from pydantic import Field as FieldInfo

from .._models import BaseModel

__all__ = ["WebWebScrapeMdResponse", "KeyMetadata"]
__all__ = ["WebWebScrapeMdResponse", "Metadata", "MetadataAlternate", "KeyMetadata"]


class MetadataAlternate(BaseModel):
href: str
"""Resolved alternate URL."""

hreflang: Optional[str] = None
"""Language or locale for the alternate URL, when present."""

title: Optional[str] = None
"""Alternate resource title, when present."""

type: Optional[str] = None
"""Alternate resource MIME type, when present."""


class Metadata(BaseModel):
"""Metadata extracted from the scraped page HTML."""

final_url: str = FieldInfo(alias="finalUrl")
"""Final URL scraped after redirects or scraper fallback, when known.

Falls back to sourceUrl when unavailable.
"""

source_url: str = FieldInfo(alias="sourceUrl")
"""Original URL requested by the caller."""

additional_meta: Optional[Dict[str, Union[str, List[str]]]] = FieldInfo(alias="additionalMeta", default=None)
"""Additional non-social meta tags not promoted to top-level metadata fields."""

alternates: Optional[List[MetadataAlternate]] = None
"""Resolved alternate links from link rel=alternate tags."""

author: Optional[str] = None
"""Author metadata, when present."""

canonical_url: Optional[str] = FieldInfo(alias="canonicalUrl", default=None)
"""Resolved canonical URL, when present."""

description: Optional[str] = None
"""Best description extracted from standard, Open Graph, or Twitter metadata."""

favicon: Optional[str] = None
"""Resolved favicon URL, when present."""

image: Optional[str] = None
"""Primary resolved preview image from Open Graph, Twitter, or image metadata."""

json_ld: Optional[List[Dict[str, object]]] = FieldInfo(alias="jsonLd", default=None)
"""JSON-LD structured data blocks parsed from the page."""

keywords: Optional[List[str]] = None
"""Keywords extracted from the page's keywords meta tag."""

language: Optional[str] = None
"""Language extracted from html lang or language meta tags."""

modified_time: Optional[str] = FieldInfo(alias="modifiedTime", default=None)
"""Modified timestamp/date from page metadata, when present."""

open_graph: Optional[Dict[str, Union[str, List[str]]]] = FieldInfo(alias="openGraph", default=None)
"""Open Graph metadata with the og: prefix removed and keys camel-cased."""

published_time: Optional[str] = FieldInfo(alias="publishedTime", default=None)
"""Published timestamp/date from page metadata, when present."""

robots: Optional[str] = None
"""Robots meta directive, when present."""

site_name: Optional[str] = FieldInfo(alias="siteName", default=None)
"""Site or application name from page metadata."""

title: Optional[str] = None
"""Best title extracted from the page."""

twitter: Optional[Dict[str, Union[str, List[str]]]] = None
"""Twitter card metadata with the twitter: prefix removed and keys camel-cased."""


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

metadata: Metadata
"""Metadata extracted from the scraped page HTML."""

success: Literal[True]
"""Indicates success"""

Expand Down
Loading