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 @@
{
".": "1.0.1"
".": "1.0.2"
}
7 changes: 7 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
# Changelog

## [1.0.2](https://github.com/gumlet/python-sdk/compare/v1.0.1...v1.0.2) (2026-09-21)


### Chores

* **api:** regenerate SDK ([425e252](https://github.com/gumlet/python-sdk/commit/425e25222ebda0df8fb7b62d9a78805c07a5aeae))

## [1.0.1](https://github.com/gumlet/python-sdk/compare/v1.0.0...v1.0.1) (2026-09-21)


Expand Down
14 changes: 14 additions & 0 deletions VERSIONING.md
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,10 @@ different fixes:
platform and the `github-actions` bot to push (or be left unprotected); the default
branch only ever advances by merging release PRs, and `scalar-next` receives each
released state back from the release workflow.
- **`scalar-next` must not enable "Require linear history."** The Scalar platform merges each
regeneration into it, and merges a resolved conflict back the same way; the release sync
adds another merge whenever a release PR is squash- or rebase-merged. That setting rejects
all of them.
- No Actions settings changes are required: the generated workflows declare their own
permissions and never create pull requests.
- If this package publishes through OIDC trusted publishing (for example PyPI or npm),
Expand All @@ -84,3 +88,13 @@ different fixes:
manual re-publishes at an existing tag; register it as an additional trusted publisher
only if you use it. If the publish job is configured with a deployment environment,
include that environment in the registration too.

### Recommended, not required

Releases work without this; it closes a window where one can go out at the wrong version.

- **If this repository uses auto-merge, make the `Release PR version` check a required status
check.** Auto-merge merges as soon as the checks that are *required* go green, with no
human present — so a check that is not required but still red at that moment stops
nothing, which is exactly the window between retitling a release PR and the platform
re-rendering it.
4 changes: 2 additions & 2 deletions api.md
Original file line number Diff line number Diff line change
Expand Up @@ -380,7 +380,7 @@ Get video analytics for a single asset.
video_asset = client.video_assets.analytics(
asset_id="assetId",
group_by="daily",
date_range={"start_at": "", "end_at": ""},
date_range={"start_at": "2024-01-01", "end_at": "2024-01-01"},
metrics=["impressions"],
)
```
Expand Down Expand Up @@ -983,7 +983,7 @@ This endpoint helps you get image analytics data like bandwidth consumption, req
```python
image_usage_analytic = client.image_usage_analytics.retrieve(
metrics=["bandwidth_consumption"],
date_range={},
date_range={"start_at": "2024-01-01", "end_at": "2024-01-01"},
group_by="daily",
)
```
Expand Down
13 changes: 11 additions & 2 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
[project]
name = "gumlet"
version = "1.0.1" # x-release-please-version
version = "1.0.2" # x-release-please-version
description = "Gumlet helps developers deliver online video and images. This API encompasses Gumlet Video, Image and Video Analytics functionality to help you build your products better and faster than ever before."
readme = "README.md"
license = "Apache-2.0"
authors = [
{ name = "Gumlet" },
{ name = "Gumlet", email = "support@gumlet.com"},
]
requires-python = ">= 3.9"
dependencies = [
Expand All @@ -17,6 +17,15 @@ dependencies = [
"sniffio",
]

keywords = ["gumlet", "api", "video"]

[project.urls]
homepage = "https://www.gumlet.com/"
source = "https://github.com/gumlet/python-sdk"
issues = "https://github.com/gumlet/python-sdk/issues"
changelog = "https://github.com/gumlet/python-sdk/blob/main/CHANGELOG.md"
documentation = "https://docs.gumlet.com/reference"

[project.optional-dependencies]
aiohttp = ["aiohttp", "httpx_aiohttp>=0.1.9"]

Expand Down
2 changes: 1 addition & 1 deletion scalar-sdk.manifest.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "Gumlet",
"slug": "gumlet",
"generatorVersion": "0.32.14",
"generatorVersion": "0.33.2",
"servers": [
"https://api.gumlet.com/v1"
],
Expand Down
2 changes: 1 addition & 1 deletion src/gumlet/_version.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# File generated from our OpenAPI spec by Scalar. See README.md for details.

__title__ = "gumlet"
__version__ = "1.0.1" # x-release-please-version
__version__ = "1.0.2" # x-release-please-version
4 changes: 2 additions & 2 deletions src/gumlet/resources/image_usage_analytics.py
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ def retrieve(
```python
image_usage_analytic = client.image_usage_analytics.retrieve(
metrics=["bandwidth_consumption"],
date_range={},
date_range={"start_at": "2024-01-01", "end_at": "2024-01-01"},
group_by="daily",
)
```
Expand Down Expand Up @@ -169,7 +169,7 @@ async def retrieve(
```python
image_usage_analytic = await client.image_usage_analytics.retrieve(
metrics=["bandwidth_consumption"],
date_range={},
date_range={"start_at": "2024-01-01", "end_at": "2024-01-01"},
group_by="daily",
)
```
Expand Down
4 changes: 2 additions & 2 deletions src/gumlet/resources/video_assets.py
Original file line number Diff line number Diff line change
Expand Up @@ -980,7 +980,7 @@ def analytics(
video_asset = client.video_assets.analytics(
asset_id="assetId",
group_by="daily",
date_range={"start_at": "", "end_at": ""},
date_range={"start_at": "2024-01-01", "end_at": "2024-01-01"},
metrics=["impressions"],
)
```
Expand Down Expand Up @@ -1939,7 +1939,7 @@ async def analytics(
video_asset = await client.video_assets.analytics(
asset_id="assetId",
group_by="daily",
date_range={"start_at": "", "end_at": ""},
date_range={"start_at": "2024-01-01", "end_at": "2024-01-01"},
metrics=["impressions"],
)
```
Expand Down
4 changes: 2 additions & 2 deletions src/gumlet/types/image_usage_analytic_retrieve_params.py
Original file line number Diff line number Diff line change
Expand Up @@ -49,8 +49,8 @@ class Filters(TypedDict, total=False):


class DateRange(TypedDict, total=False):
start_at: Annotated[Union[str, date], PropertyInfo(format="iso8601")]
start_at: Required[Annotated[Union[str, date], PropertyInfo(format="iso8601")]]
"""The starting date to consider"""

end_at: Annotated[Union[str, date], PropertyInfo(format="iso8601")]
end_at: Required[Annotated[Union[str, date], PropertyInfo(format="iso8601")]]
"""The ending date to consider"""
11 changes: 7 additions & 4 deletions src/gumlet/types/video_asset_analytics_params.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,11 @@

from __future__ import annotations

from typing import List
from typing_extensions import Literal, Required, TypedDict
from typing import List, Union
from datetime import date
from typing_extensions import Annotated, Literal, Required, TypedDict

from .._utils import PropertyInfo

__all__ = ["VideoAssetAnalyticsParams", "DateRange"]

Expand Down Expand Up @@ -40,8 +43,8 @@ class VideoAssetAnalyticsParams(TypedDict, total=False):


class DateRange(TypedDict, total=False):
start_at: Required[str]
start_at: Required[Annotated[Union[str, date], PropertyInfo(format="iso8601")]]
"""ISO 8601 start timestamp"""

end_at: Required[str]
end_at: Required[Annotated[Union[str, date], PropertyInfo(format="iso8601")]]
"""ISO 8601 end timestamp"""
4 changes: 2 additions & 2 deletions src/gumlet/types/video_usage_analytic_retrieve_params.py
Original file line number Diff line number Diff line change
Expand Up @@ -51,8 +51,8 @@ class Filters(TypedDict, total=False):


class DateRange(TypedDict, total=False):
start_at: Annotated[Union[str, date], PropertyInfo(format="iso8601")]
start_at: Required[Annotated[Union[str, date], PropertyInfo(format="iso8601")]]
"""The starting date to consider"""

end_at: Annotated[Union[str, date], PropertyInfo(format="iso8601")]
end_at: Required[Annotated[Union[str, date], PropertyInfo(format="iso8601")]]
"""The ending date to consider"""
8 changes: 4 additions & 4 deletions tests/smoke-test.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@

# The shared smoke-test runner injects base URL and credentials through the same
# environment variables the generated client reads in normal use.
client = Gumlet(max_retries=0, timeout=30)
client = Gumlet(max_retries=2, timeout=10)


class SmokeResult(TypedDict, total=False):
Expand Down Expand Up @@ -358,7 +358,7 @@ def _smoke_case_17() -> None:
video_asset = client.video_assets.analytics(
asset_id="assetId",
group_by="daily",
date_range={"start_at": "", "end_at": ""},
date_range={"start_at": "2024-01-01", "end_at": "2024-01-01"},
metrics=["impressions"],
)

Expand All @@ -367,7 +367,7 @@ def _smoke_case_18() -> None:
video_asset = client.video_assets.analytics(
asset_id="assetId",
group_by="daily",
date_range={"start_at": "", "end_at": ""},
date_range={"start_at": "2024-01-01", "end_at": "2024-01-01"},
metrics=["impressions"],
page_number=0,
page_size=0,
Expand Down Expand Up @@ -859,7 +859,7 @@ def _smoke_case_62() -> None:
def _smoke_case_63() -> None:
image_usage_analytic = client.image_usage_analytics.retrieve(
metrics=["bandwidth_consumption"],
date_range={},
date_range={"start_at": "2024-01-01", "end_at": "2024-01-01"},
group_by="daily",
)

Expand Down
Loading