Skip to main content

sg-widgets-qt

Flow Production Tracking (formerly ShotGrid) widgets for Qt: pickers, editors, tables, trees, grids and search. For pipeline developers writing tools inside Maya, Houdini, Nuke, RV or a standalone app.

An entity table grouped by status, with status badges and thumbnails

Install

pip install sg-widgets-qt
uv add sg-widgets-qt

Python 3.9 and up. The package brings shotgun_api3 and qtpy and no Qt binding, because a DCC imports its own before your code runs. Outside a DCC, name a binding as an extra.

pip install "sg-widgets-qt[pyside6]"
pip install "sg-widgets-qt[pyqt5]"

Every Qt import here goes through qtpy, so one widget runs on PySide2, PySide6, PyQt5 and PyQt6, and on whichever of them the host imported first.

A first widget

Three environment values point at a site: FPT_API_SITE_URL, FPT_API_SCRIPT_NAME and FPT_API_API_KEY.

from qtpy.QtWidgets import QApplication
from sg_widgets_core import ShotgunClient, create_sg_context
from sg_widgets_qt.widgets.entity_picker import EntityPicker

app = QApplication([])
context = create_sg_context(ShotgunClient.from_env())
picker = EntityPicker(entity_types=["Shot"], context=context)
picker.value_changed.connect(lambda ref, row: print(ref))
picker.show()
app.exec_()

The context is built once and handed to every widget. The same picker runs on a generated site, with no credentials and no network.

from sg_widgets_core import MockClient, create_sg_context

context = create_sg_context(MockClient())
picker = EntityPicker(entity_types=["Shot"], context=context)

The showcase

python -m sg_widgets_qt.showcase

One page per widget, with a live demo, the props, signals, slots and keyboard tables, and the docs prose. The pages ship inside the package. The demos run on the mock, so the showcase needs no site; its toolbar offers Live where the three values above are set.

The widgets

An entity multi picker open on its results A picker searches the site, holds what was ticked as chips, and emits references.
A filter editor holding one status condition The filter editor builds a condition tree and serialises it for the API.
A status picker open on the statuses of one project Statuses carry the site's own names, codes, colours and icons, per project.
Global search, its results grouped by entity type Global search reads across entity types and marks what matched.
An entity grid of thumbnails A table, a grid and a tree page a set, sort it, group it and edit a cell.
The entity table in the dark theme Every widget wears a light and a dark theme, or the host application's palette.

Every shot above reads a live site. One page per widget says what each one takes and emits, beside the introduction, install and the core.

How it relates to sg-widgets

This is a port of sg-widgets, whose React and Svelte widgets carry the same names, props and behaviour, and whose documentation site is the reference for what a widget does; the pages here say where Qt or Python forced a difference. The framework-neutral half comes with it as sg_widgets_core, which holds the field data types, the operator vocabularies, the filter tree, status logic, the formatters, the parsers, the client protocol and a generated mock site, and imports no Qt, so it runs in a farm job as well as in a window. What either repo claims about the API is measured in sg-groundtruth and cited where it is relied on.

Status

Alpha. 52 widgets, 27 core modules and 55 documentation pages are complete, on Python 3.9 through 3.13 and on Qt 5.15 and Qt 6. Both packages carry py.typed. Names, props and signals can still change between 0.x releases, and the changelog records what changed. Ask for a widget, report a defect or say what reads wrong in the issues.

Licence

MIT. See LICENSE.

Metadata

Release files for sg-widgets-qt 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for sg-widgets-qt 0.1.0
File Size Uploaded
sg_widgets_qt-0.1.0.tar.gz 2.4 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for sg-widgets-qt 0.1.0
File Interpreter ABI Platform
sg_widgets_qt-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 4.4 MB

Release files / sg_widgets_qt-0.1.0.tar.gz

Download URL sg_widgets_qt-0.1.0.tar.gz
Size 2.4 MB
Tags Source
SHA-256 checksum
How to use checksums
4e2e1b459291e6c7c84c45b17f88f5e6b1b040c7d40d764c3c83af0fd058e896
BLAKE2b-256 checksum
How to use checksums
bb743a9a3266f2510659dd1ef6bc01d7ed9fb9e4e8dd814c03977f88b30237ac
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 21, 2026.

Transparency log

Release files / sg_widgets_qt-0.1.0-py3-none-any.whl

Download URL sg_widgets_qt-0.1.0-py3-none-any.whl
Size 1.9 MB
Tags Python 3
SHA-256 checksum
How to use checksums
73f8556b8fe8ee84c5cde20e9032bb5536450a0bd566a9aa457c428ae562733e
BLAKE2b-256 checksum
How to use checksums
8c3c011817ea1a37874a620c7d53b61f6b0e31d4524d664d977edd183126b114
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 21, 2026.

Transparency log

Release history Release notifications | RSS feed

0.1.1

2 release files

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page