Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
fd2f1e0
Added Azure pipeline
Sumasree8 Jun 2, 2026
b305cb4
Added Azure Pipeline
Sumasree8 Jun 2, 2026
1614322
changes sonar-fixes
Sumasree8 Jun 10, 2026
56e0d8c
chore: stop tracking node_modules (dev-only test sidecar deps)
Sumasree8 Jun 10, 2026
80fade6
changes sonar-fixes
Sumasree8 Jun 10, 2026
90a8a6e
changes sonar-fixes
Sumasree8 Jun 11, 2026
1bfd8c2
Updated CHANGELOG.md
Sumasree8 Jun 11, 2026
0b06a14
changes
Sumasree8 Jun 11, 2026
cc16051
Added tests/examples to .gitignore
Sumasree8 Jun 17, 2026
6302b74
updated sdk method names in usage examples
Sumasree8 Jun 23, 2026
c9dd3d4
updated CHANGELOG.md
Sumasree8 Jun 26, 2026
259515e
changes sonar-fixes
Sumasree8 Jun 26, 2026
9b7312b
changes
Sumasree8 Jun 26, 2026
de21b38
fix version: correct User-Agent to 1.1.5
Sumasree8 Jun 26, 2026
a214016
updated CHANGEOG.md
Sumasree8 Jun 26, 2026
b38ca71
feat: updated mp4Support is now an array of renditions
Sumasree8 Jul 24, 2026
56e879f
change sonar-fixes
Sumasree8 Jul 24, 2026
131b94b
Add track title support
Sumasree8 Jul 27, 2026
5f0d81d
Sync SDK with corrected FastPix OpenAPI spec
Sumasree8 Jul 31, 2026
d8cde7e
Update CHANGELOG.md
Sumasree8 Aug 3, 2026
ed1528c
Remove Hardcoded values
Sumasree8 Aug 3, 2026
4b4f553
Remove azure-pipeline.yml
Sumasree8 Aug 3, 2026
b075c1e
Update fastpix-python.yml
Sumasree8 Aug 3, 2026
f7fd736
Merge origin/main into feature/fix-mp4Support
Sumasree8 Aug 3, 2026
ca3da79
Update fastpix-python.yml
Sumasree8 Aug 4, 2026
0d5af14
Fix formatting in fastpix-python.yml
Sumasree8 Aug 4, 2026
778d40b
Fix formatting in fastpix-python.yml
Sumasree8 Aug 4, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .github/workflows/fastpix-python.yml
Original file line number Diff line number Diff line change
Expand Up @@ -43,4 +43,4 @@ jobs:
# `--skip-existing` makes the upload idempotent — re-running for the
# same version won't fail if it's already on PyPI. Useful when both
# `push: tags` and `release: published` fire for the same tag.
run: twine upload --skip-existing dist/*
run: twine upload --skip-existing dist/*
10 changes: 10 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -151,3 +151,13 @@ tests/*OPENAPI_RESPONSE*.md
tests/BROKEN_LINKS_REPORT.md
tests/NON_GET_ENDPOINTS_VALIDATION_REPORT.md
tests/GET_ENDPOINTS_VALIDATION_REPORT.md

# Local SDK usage examples (contain live workspace credentials/IDs)
tests/examples/

node_modules/

#Local files
/fixed.yaml
/fastpix-openai.yaml
fastpix.yaml
49 changes: 49 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,55 @@
All notable changes to this project will be documented in this file.


---

## [1.1.5]

### Fixed

- **`import fastpix_python` crashed on Python 3.9–3.13** — `playback.py` used
`List` without importing it, raising `NameError` at import time. Affected
1.1.3 and 1.1.4; masked on 3.14 by lazy annotations.
- **Playback restriction methods had invalid return annotations** — corrected to
the actual `...ResponseBody` types.
- **`models.DefaultError` was unregistered**, so the playback error path failed
to resolve.
- **`fastpix.errors.list_errors` was unreachable** — `errors.py` was shadowed by
the `errors/` exception package; the resource module is now `errors_sdk.py`.
- **`mp4Support` is a list of renditions**, not a string — deserialization
failed on `get_media`, `list_media`, `updated_media`, `updated_source_access`,
`updated_mp4Support`, `list_live_clips`.
- **`updated_mp4_support()` sent an empty body** when `mp4_support` was omitted
(`400`). Now required.
- **`sourceResolution` rejected bare numeric values** (`"1080"`, `"720"`). Both
forms are accepted, and the `360` tier was added.
- **`maxDuration` and `resolution` rejected uncapped resources** — `maxDuration`
is now `0` or `60`–`28800`, and `CreatePlaybackId.resolution` is nullable.
- **Version metadata disagreed** — `setup.py` `1.1.3` vs `1.1.5` elsewhere.

### Added

- **`get_summary()` / `get_summary_async()`** — `GET /on-demand/{mediaId}/summary`.
- **Track `title`** on the track models and on `update_media_track()` /
`generate_subtitle_track()`.
- **`optimize_audio`** on the live-clip response.

### Removed

- **`models.MediaMp4Support`** — use `models.MediaMp4SupportEntry`.
- **`update_media_track()` no longer accepts `url`** — raises `TypeError`.
- **Dead `ValidationErrorResponseError` export** — it pointed at a module that
was never generated, so importing it always raised `ImportError`.

### Documentation

- MP4 model pages point at `MediaMp4SupportEntry`; `mp4_support` marked required.
- Doc links migrated to the restructured site;
`video.media.subtitle.generated.ready` → `video.media.subtitle.generated`.

> The spec marks `mp4Support` on the update-mp4Support body both `required` and
> `default: capped_4k`, which conflict. The SDK implements `required`.

---

## [1.1.4]
Expand Down
10 changes: 5 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -179,7 +179,7 @@ with Fastpix(
},
)

print(json.dumps(res.model_dump(mode="json", by_alias=True), indent=2))
print(json.dumps(res.model_dump(mode="json", by_alias=True, exclude_unset=True), indent=2))
```

## Available Resources and Operations
Expand Down Expand Up @@ -365,7 +365,7 @@ with Fastpix(
),
)

print(json.dumps(res.model_dump(mode="json", by_alias=True), indent=2))
print(json.dumps(res.model_dump(mode="json", by_alias=True, exclude_unset=True), indent=2))
```

If you'd like to override the default retry strategy for all operations that support retries, you can use the `retry_config` optional parameter when initializing the SDK:
Expand Down Expand Up @@ -402,7 +402,7 @@ with Fastpix(
},
)

print(json.dumps(res.model_dump(mode="json", by_alias=True), indent=2))
print(json.dumps(res.model_dump(mode="json", by_alias=True, exclude_unset=True), indent=2))
```
<!-- End Retries [retries] -->

Expand Down Expand Up @@ -447,7 +447,7 @@ with Fastpix(
},
)

print(json.dumps(res.model_dump(mode="json", by_alias=True), indent=2))
print(json.dumps(res.model_dump(mode="json", by_alias=True, exclude_unset=True), indent=2))
except errors.FastpixError as e:
print(e.message)
print(e.status_code)
Expand Down Expand Up @@ -510,7 +510,7 @@ with Fastpix(
},
)

print(json.dumps(res.model_dump(mode="json", by_alias=True), indent=2))
print(json.dumps(res.model_dump(mode="json", by_alias=True, exclude_unset=True), indent=2))
```
<!-- End Server Selection [server] -->

Expand Down
2 changes: 1 addition & 1 deletion docs/models/addmediatrackrequest.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,5 +5,5 @@

| Field | Type | Required | Description | Example |
| ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- |
| `media_id` | *str* | :heavy_check_mark: | The unique identifier assigned to the media when created. The value must be a valid UUID. | 4fa85f64-5717-4562-b3fc-2c963f66afa6 |
| `media_id` | *str* | :heavy_check_mark: | The unique identifier assigned to the media when created. The value must be a valid UUID. | your-media-id |
| `body` | [models.AddMediaTrackRequestBody](../models/addmediatrackrequestbody.md) | :heavy_check_mark: | N/A | |
3 changes: 2 additions & 1 deletion docs/models/addtrackrequest.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,5 @@ Contains details about the track being added to the media file.
| `url` | *Optional[str]* | :heavy_minus_sign: | The direct URL of the track file. It must point to a valid audio or subtitle file. | https://static.fastpix.com/music-1.mp3 |
| `type` | [Optional[models.AddTrackRequestType]](../models/addtrackrequesttype.md) | :heavy_minus_sign: | Specifies the type of track being added. It can be either `audio` or `subtitle`. | audio |
| `language_code` | *Optional[str]* | :heavy_minus_sign: | The BCP 47 language code representing the track’s language. | it |
| `language_name` | *Optional[str]* | :heavy_minus_sign: | The full name of the language corresponding to the `languageCode`. | Italian |
| `language_name` | *Optional[str]* | :heavy_minus_sign: | The full name of the language corresponding to the `languageCode`. | Italian |
| `title` | *Optional[str]* | :heavy_minus_sign: | Title of the track. | your-track-title |
5 changes: 3 additions & 2 deletions docs/models/addtrackresponse.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,9 @@ Contains details about the track that was added or updated.

| Field | Type | Required | Description | Example |
| -------------------------------------------------------------------------- | -------------------------------------------------------------------------- | -------------------------------------------------------------------------- | -------------------------------------------------------------------------- | -------------------------------------------------------------------------- |
| `id` | *Optional[str]* | :heavy_minus_sign: | The unique identifier of the track. | ace60fc7-e876-4fc6-b9d9-c33fa242f84b |
| `id` | *Optional[str]* | :heavy_minus_sign: | The unique identifier of the track. | your-track-id |
| `type` | [Optional[models.AddTrackResponseType]](../models/addtrackresponsetype.md) | :heavy_minus_sign: | Specifies the type of track (audio or subtitle). | audio |
| `url` | *Optional[str]* | :heavy_minus_sign: | The direct URL of the track file. | https://static.fastpix.com/music-1.mp3 |
| `language_code` | *Optional[str]* | :heavy_minus_sign: | The BCP 47 language code representing the track's language. | it |
| `language_name` | *Optional[str]* | :heavy_minus_sign: | The full name of the language corresponding to the `languageCode`. | Italian |
| `language_name` | *Optional[str]* | :heavy_minus_sign: | The full name of the language corresponding to the `languageCode`. | Italian |
| `title` | *Optional[str]* | :heavy_minus_sign: | Title of the track. | your-track-title |
2 changes: 1 addition & 1 deletion docs/models/audioinput.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,5 @@
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- |
| `type` | [models.AudioInputType](../models/audioinputtype.md) | :heavy_check_mark: | Type of overlay (currently only supports "audio"). | audio |
| `swap_track_url` | *str* | :heavy_check_mark: | URL of the audio track to replace the existing audio in the video. | https://file-examples.com/storage/fe0e9b723466913cf9611b7/2017/11/file_example_MP3_700KB.mp3 |
| `swap_track_url` | *str* | :heavy_check_mark: | URL of the audio track to replace the existing audio in the video. | https://example.com/storage/fe0e9b723466913cf9611b7/2017/11/file_example_MP3_700KB.mp3 |
| `impose_tracks` | List[[models.ImposeTrack](../models/imposetrack.md)] | :heavy_minus_sign: | List of additional audio tracks to overlay on the video. | |
Loading