Skip to content

Releases: FastPix/fastpix-python

v1.2.0

Choose a tag to compare

@FastPix-dev FastPix-dev released this 10 Sep 10:09
c546ac8

Version - [1.2.0]

Breaking

  • Media duration is now a float (seconds) instead of an "HH:MM:SS"
    string, matching the updated API. Affects the media responses returned by
    get_media, list_media, list_live_clips, updated_media,
    updated_source_access, updated_mp4_support, get_media_clips, and the
    playlist mediaList items.
    Publish this version only once production returns the numeric duration.

Added

  • enable_recording on live stream creation (inputMediaSettings,
    defaults to true) — controls whether the livestream is recorded to a VOD
    asset.
  • access_restrictions (domain and user-agent allow/deny policies) on
    live playback ID create/get and on live stream playbackSettings.
  • update_live_stream_domain_restrictions() /
    update_live_stream_user_agent_restrictions()
    (and _async variants) —
    PATCH /live/streams/{streamId}/playback-ids/{playbackId}/domains and
    /user-agents.
  • Async variants for the on-demand update_domain_restrictions and
    update_user_agent_restrictions, which were sync-only.
  • Model contract test suite (tests/test_models.py).

Fixed

  • Async error handling never raised_raise_for_status_async was called
    without await across the async methods, so failed responses returned
    None instead of raising typed errors.
  • Return annotations for live playback ID create/get, list_media, and
    list_live_clips
    corrected to the actual response envelopes
    (PlaybackIDSuccessResponse, ListMediaResponse, ListLiveClipsResponse).
  • Return annotations across all resource methods — 104 methods declared the
    inner data type or a list where the SDK actually returns the {success, data}
    envelope, so type checkers rejected .data access. All now match the returned
    class; a test enforces this.

v1.1.5

Choose a tag to compare

@FastPix-dev FastPix-dev released this 04 Aug 09:52
9a13f9e

Version - [1.1.5]

Fixed

  • import fastpix_python crashed on Python 3.9–3.13playback.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 unreachableerrors.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 resourcesmaxDuration
    is now 0 or 6028800, and CreatePlaybackId.resolution is nullable.
  • Version metadata disagreedsetup.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.readyvideo.media.subtitle.generated.

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

v1.1.4

Choose a tag to compare

@FastPix-dev FastPix-dev released this 23 Jun 11:08

Version - [1.1.4]

Changed

  • SDK version bump: 1.1.31.1.4.
    A maintenance release that aligns the SDK's internal version identifiers and
    applies behaviour-preserving code-quality cleanup. It contains no functional,
    API, or behavioural changes and is fully backward compatible with 1.1.3.

    Updated identifiers:

    • __version__ / package version — now reports 1.1.4 (the internal
      identifiers were previously lagging at 1.0.1; they are now aligned with
      the package version).
    • User-Agent header — outbound requests now identify as
      fastpix-sdk/python 1.1.4.

    Maintainability:

    • Internal static-analysis (SonarQube) cleanup across the SDK, samples, and
      test harness — bundled request-builder parameters, shared response-handling
      helpers, duplicated string literals extracted into constants, and nested
      conditionals merged. No public-surface impact.

Compatibility

  • No changes to public types, method signatures, request/response models,
    default server URLs, hooks, or retry logic.
  • No action required for existing integrations — upgrade the dependency and
    re-run pip install --upgrade fastpix_python.

V1.1.3

Choose a tag to compare

@FastPix-dev FastPix-dev released this 26 May 11:39

VERSION - [1.1.3]

⚠️ Important — FastPix is migrating from .io to .com

All FastPix-owned hosts, API endpoints, and documentation links are being moved from the .io TLD to .com. The .io hosts continue to serve traffic during the transition window, but they are slated for deprecation soon — please update any hard-coded references in your application as part of your next deploy.

Old (.io) New (.com)
api.fastpix.io api.fastpix.com
stream.fastpix.io stream.fastpix.com
images.fastpix.io images.fastpix.com
dashboard.fastpix.io dashboard.fastpix.com
www.fastpix.io www.fastpix.com
docs.fastpix.io/... fastpix.com/docs/...

What this means for users of fastpix_python:

  • If you rely on SDK defaults, no code change is required. The default server_url in this release points at https://api.fastpix.com/v1/, so bumping to 1.1.3 and re-running pip install --upgrade fastpix_python is enough.
  • If you have an explicit server_url override (e.g. Fastpixpython(server_url="https://api.fastpix.io/v1/")), change it to https://api.fastpix.com/v1/.
  • If your application code references FastPix asset URLs directly — playback URLs (stream.fastpix.io/...), image CDN (images.fastpix.io/...), dashboard deep links, or doc links in your own README — update them to the .com equivalents before the .io hosts are decommissioned.
  • We strongly recommend upgrading every official FastPix SDK in your stack to its latest release as part of the same change — every SDK is being rolled out with the same migration.

Changed

  • All README, USAGE, and per-SDK documentation pages updated end-to-end from dashboard.fastpix.io / docs.fastpix.io/... to dashboard.fastpix.com / fastpix.com/docs/... so every link in the package points at the post-migration host structure.
  • Reference links (Homepage, Dashboard, API Reference, "Detailed Usage") repointed to fastpix.com.
  • Sample playback URLs in code examples updated from stream.fastpix.io to stream.fastpix.com.

Docs

  • 173 documentation links across 70 markdown files verified reachable after migration; zero fastpix.com/docs/* URLs are broken. The handful of remaining broken links in the link-check report are expired example assets / placeholder thumbnails inside API response snippets, not navigation targets.

v1.1.2

Choose a tag to compare

@FastPix-dev FastPix-dev released this 23 Apr 11:53

Version - [1.1.2]

Fixed

  • Fixed events field in get_video_view_details response returning empty objects — added validation_alias mappings for abbreviated API keys (pt, e, vt, d) to full camelCase names (playerPlayheadTime, eventName, viewerTime, eventDetails)
  • Fixed eventDetails nested object returning raw abbreviated keys — introduced EventDetails model with proper field mappings (hosthostName, txttext, ccode, errerror, ttype, uurl, brbitrate, hheight, fpsfps, cdcodec, wwidth)
  • Fixed fpSDK and fpSDKVersion fields missing from response — added AliasChoices to accept both fpSdk and fpSDK variants from the API
  • Fixed experimentName null value being excluded from serialized output
  • Added missing custom field to Views model to capture user-defined metadata object

Improved

  • Response models for video view details now fully conform to the OpenAPI spec field names

v1.1.1

Choose a tag to compare

@Sravani289 Sravani289 released this 29 Jan 10:48

Version - [1.1.1]

Fixed

  • Fixed SDK import paths in _sub_sdk_map - changed from Fastpix.* to fastpix_python.* to resolve ModuleNotFoundError for end users
  • Fixed all documentation examples - removed unnecessary sys.path.append() statements
  • Updated method name from create_from_url to create_media in examples

Improved

  • All SDK documentation examples now work out-of-the-box without workarounds
  • Consistent import statements across all documentation files

v1.1.0

Choose a tag to compare

@Sravani289 Sravani289 released this 29 Jan 07:43
177b07c

Version - [1.1.0]

Fixed

  • Fixed missing parameters in multiple API methods.

Improved

  • Improved overall developer experience through more accurate typings.

v1.0.2

Choose a tag to compare

@Sravani289 Sravani289 released this 15 Oct 10:23

Version - [1.0.2]

  • Fix the Packaging Issue

v1.0.1

Choose a tag to compare

@FastPix-dev FastPix-dev released this 09 Oct 16:55

Version - [1.0.1]

Fixed

  • Fixed all error handling links in README.md documentation
    • Corrected typos in file paths (e.g., fFastpixFastpix)
    • Updated filenames to match actual error class files (added missing underscores)
    • Fixed 23 error class links to properly redirect to correct files
    • Verified all links now point to existing files in src/Fastpix/errors/ directory

v1.0.0

Choose a tag to compare

@FastPix-dev FastPix-dev released this 09 Oct 12:00

Version - [1.0.0]

Added

  • Complete API coverage for Media, Live Streaming, Video Data, and Signing Keys
  • Python 3.9+ support with async/await patterns and type hints
  • Media upload, management, and processing capabilities
  • Live streaming with simulcasting support
  • Video analytics and performance tracking
  • Cryptographic signing keys for secure authentication
  • In-video AI processing features
  • DRM configuration and management
  • Playlist creation and management
  • Comprehensive error handling with specific exception types
  • Both sync and async client implementations
  • Built-in retry mechanisms and timeout handling

Changed

  • Reorganized package structure for better maintainability
  • Updated dependencies to modern Python packages (httpx, pydantic, httpcore)
  • Improved API design with better error handling
  • Enhanced documentation and examples

Fixed

  • Improved error handling with specific exception types
  • Fixed type annotation issues for better IDE support
  • Ensured consistent API patterns across modules