Skip to content

Commit 7c62b70

Browse files
authored
Merge pull request #41 from brand-dot-dev/release-please--branches--main--changes--next
release: 1.35.0
2 parents 8d352bb + 023e76e commit 7c62b70

8 files changed

Lines changed: 45 additions & 27 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-
".": "1.34.0"
2+
".": "1.35.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: 20
2-
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/brand-dev%2Fbrand.dev-2cdd67823c6ac9d1ab68032a695c31a098ad285ffb0c073b9dfc00afe5de9b88.yml
3-
openapi_spec_hash: ac8a965beb9b667b6204a5c573507219
2+
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/brand-dev%2Fbrand.dev-3614380ba4315687bbaf6561e9872fd72dd876f9230ce690c35d7efc1250e808.yml
3+
openapi_spec_hash: f1aa17e08d0379766a61de68714c7c21
44
config_hash: 4cd3173ea1cce7183640aae49cfbb374

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.35.0 (2026-02-24)
4+
5+
Full Changelog: [v1.34.0...v1.35.0](https://github.com/brand-dot-dev/python-sdk/compare/v1.34.0...v1.35.0)
6+
7+
### Features
8+
9+
* **api:** api update ([42f1031](https://github.com/brand-dot-dev/python-sdk/commit/42f10313977a9f557c5b067f81f8bbad55fdd76a))
10+
311
## 1.34.0 (2026-02-23)
412

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

src/brand/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__ = "brand.dev"
4-
__version__ = "1.34.0" # x-release-please-version
4+
__version__ = "1.35.0" # x-release-please-version

src/brand/dev/resources/brand.py

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1651,7 +1651,8 @@ def screenshot(
16511651
def styleguide(
16521652
self,
16531653
*,
1654-
domain: str,
1654+
direct_url: str | Omit = omit,
1655+
domain: str | Omit = omit,
16551656
prioritize: Literal["speed", "quality"] | Omit = omit,
16561657
timeout_ms: int | Omit = omit,
16571658
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
@@ -1664,8 +1665,13 @@ def styleguide(
16641665
"""
16651666
Automatically extract comprehensive design system information from a brand's
16661667
website including colors, typography, spacing, shadows, and UI components.
1668+
Either 'domain' or 'directUrl' must be provided as a query parameter, but not
1669+
both.
16671670
16681671
Args:
1672+
direct_url: A specific URL to fetch the styleguide from directly, bypassing domain
1673+
resolution (e.g., 'https://example.com/design-system').
1674+
16691675
domain: Domain name to extract styleguide from (e.g., 'example.com', 'google.com'). The
16701676
domain will be automatically normalized and validated.
16711677
@@ -1695,6 +1701,7 @@ def styleguide(
16951701
timeout=timeout,
16961702
query=maybe_transform(
16971703
{
1704+
"direct_url": direct_url,
16981705
"domain": domain,
16991706
"prioritize": prioritize,
17001707
"timeout_ms": timeout_ms,
@@ -3465,7 +3472,8 @@ async def screenshot(
34653472
async def styleguide(
34663473
self,
34673474
*,
3468-
domain: str,
3475+
direct_url: str | Omit = omit,
3476+
domain: str | Omit = omit,
34693477
prioritize: Literal["speed", "quality"] | Omit = omit,
34703478
timeout_ms: int | Omit = omit,
34713479
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
@@ -3478,8 +3486,13 @@ async def styleguide(
34783486
"""
34793487
Automatically extract comprehensive design system information from a brand's
34803488
website including colors, typography, spacing, shadows, and UI components.
3489+
Either 'domain' or 'directUrl' must be provided as a query parameter, but not
3490+
both.
34813491
34823492
Args:
3493+
direct_url: A specific URL to fetch the styleguide from directly, bypassing domain
3494+
resolution (e.g., 'https://example.com/design-system').
3495+
34833496
domain: Domain name to extract styleguide from (e.g., 'example.com', 'google.com'). The
34843497
domain will be automatically normalized and validated.
34853498
@@ -3509,6 +3522,7 @@ async def styleguide(
35093522
timeout=timeout,
35103523
query=await async_maybe_transform(
35113524
{
3525+
"direct_url": direct_url,
35123526
"domain": domain,
35133527
"prioritize": prioritize,
35143528
"timeout_ms": timeout_ms,

src/brand/dev/types/brand_styleguide_params.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,21 @@
22

33
from __future__ import annotations
44

5-
from typing_extensions import Literal, Required, Annotated, TypedDict
5+
from typing_extensions import Literal, Annotated, TypedDict
66

77
from .._utils import PropertyInfo
88

99
__all__ = ["BrandStyleguideParams"]
1010

1111

1212
class BrandStyleguideParams(TypedDict, total=False):
13-
domain: Required[str]
13+
direct_url: Annotated[str, PropertyInfo(alias="directUrl")]
14+
"""
15+
A specific URL to fetch the styleguide from directly, bypassing domain
16+
resolution (e.g., 'https://example.com/design-system').
17+
"""
18+
19+
domain: str
1420
"""Domain name to extract styleguide from (e.g., 'example.com', 'google.com').
1521
1622
The domain will be automatically normalized and validated.

tests/api_resources/test_brand.py

Lines changed: 8 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -800,15 +800,14 @@ def test_streaming_response_screenshot(self, client: BrandDev) -> None:
800800
@pytest.mark.skip(reason="Mock server tests are disabled")
801801
@parametrize
802802
def test_method_styleguide(self, client: BrandDev) -> None:
803-
brand = client.brand.styleguide(
804-
domain="domain",
805-
)
803+
brand = client.brand.styleguide()
806804
assert_matches_type(BrandStyleguideResponse, brand, path=["response"])
807805

808806
@pytest.mark.skip(reason="Mock server tests are disabled")
809807
@parametrize
810808
def test_method_styleguide_with_all_params(self, client: BrandDev) -> None:
811809
brand = client.brand.styleguide(
810+
direct_url="https://example.com",
812811
domain="domain",
813812
prioritize="speed",
814813
timeout_ms=1000,
@@ -818,9 +817,7 @@ def test_method_styleguide_with_all_params(self, client: BrandDev) -> None:
818817
@pytest.mark.skip(reason="Mock server tests are disabled")
819818
@parametrize
820819
def test_raw_response_styleguide(self, client: BrandDev) -> None:
821-
response = client.brand.with_raw_response.styleguide(
822-
domain="domain",
823-
)
820+
response = client.brand.with_raw_response.styleguide()
824821

825822
assert response.is_closed is True
826823
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
@@ -830,9 +827,7 @@ def test_raw_response_styleguide(self, client: BrandDev) -> None:
830827
@pytest.mark.skip(reason="Mock server tests are disabled")
831828
@parametrize
832829
def test_streaming_response_styleguide(self, client: BrandDev) -> None:
833-
with client.brand.with_streaming_response.styleguide(
834-
domain="domain",
835-
) as response:
830+
with client.brand.with_streaming_response.styleguide() as response:
836831
assert not response.is_closed
837832
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
838833

@@ -1755,15 +1750,14 @@ async def test_streaming_response_screenshot(self, async_client: AsyncBrandDev)
17551750
@pytest.mark.skip(reason="Mock server tests are disabled")
17561751
@parametrize
17571752
async def test_method_styleguide(self, async_client: AsyncBrandDev) -> None:
1758-
brand = await async_client.brand.styleguide(
1759-
domain="domain",
1760-
)
1753+
brand = await async_client.brand.styleguide()
17611754
assert_matches_type(BrandStyleguideResponse, brand, path=["response"])
17621755

17631756
@pytest.mark.skip(reason="Mock server tests are disabled")
17641757
@parametrize
17651758
async def test_method_styleguide_with_all_params(self, async_client: AsyncBrandDev) -> None:
17661759
brand = await async_client.brand.styleguide(
1760+
direct_url="https://example.com",
17671761
domain="domain",
17681762
prioritize="speed",
17691763
timeout_ms=1000,
@@ -1773,9 +1767,7 @@ async def test_method_styleguide_with_all_params(self, async_client: AsyncBrandD
17731767
@pytest.mark.skip(reason="Mock server tests are disabled")
17741768
@parametrize
17751769
async def test_raw_response_styleguide(self, async_client: AsyncBrandDev) -> None:
1776-
response = await async_client.brand.with_raw_response.styleguide(
1777-
domain="domain",
1778-
)
1770+
response = await async_client.brand.with_raw_response.styleguide()
17791771

17801772
assert response.is_closed is True
17811773
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
@@ -1785,9 +1777,7 @@ async def test_raw_response_styleguide(self, async_client: AsyncBrandDev) -> Non
17851777
@pytest.mark.skip(reason="Mock server tests are disabled")
17861778
@parametrize
17871779
async def test_streaming_response_styleguide(self, async_client: AsyncBrandDev) -> None:
1788-
async with async_client.brand.with_streaming_response.styleguide(
1789-
domain="domain",
1790-
) as response:
1780+
async with async_client.brand.with_streaming_response.styleguide() as response:
17911781
assert not response.is_closed
17921782
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
17931783

0 commit comments

Comments
 (0)