Python Modules#

Bookmarks works by parsing project folders to find bookmark, asset and file items. Check out the bookmark_items, asset_items and file_items for an overview of the item definitions.

The application resources are stored in the rsc folder. Basic properties can be customized by modifying the rsc/config.json file. The application stylesheet is defined by rsc/stylesheet.qss.


The release contains all Windows dependencies. For setting up a custom development environment on another platform, you’ll need the following python dependencies:


  • Currently, Windows is the only supported platform (although much of the codebase should be platform-agnostic).

  • OpenImageIO does not currently maintain installable python packages.

Development environment#

The default line length is 90 characters. Docstring follow the Google Style Python Docstring -, and code formatting follows the PyCharm defaults.


Bookmark, asset and file items

See bookmark_items, asset_items, and file_items for an overview on how items are loaded and cached.

Core functions and classes


The top module used across the application. It contains most basic components needed run the app. It defines size, color information and data types and caches.

Are you trying to get Bookmarks up and running? Check out initialize() and uninitialize() functions.

Property storage


User configured item data is stored in SQLite databases.


Current context and ui state information is stored in a customized QSettings instance.

Image resources


Most image manipulation methods are stored in this module. Bookmarks uses OpenImageIO to create image thumbnails.

See ImageCache for the getting and caching image resources.

Main ui components

The main widget is made up of a main widget, topbar, and a statusbar.

The main widget also contains the main item tabs. See views for details.

Context menu definitions and actions can be found in the contextmenu and actions modules. Global shortcuts are defined in the shortcuts module.

The item views are backed by helper threads defined in threads.

Item properties and editors

Bookmark and asset items have their own bespoke properties we edit using a generalised editor widget defined in bookmarks.editor.base.

The same widget is used to edit application preferences.

Some of the item properties have their own modules. See bookmarks.tokens and the bookmarks.launcher modules.

Property import and export functions are found in importexport.

Maya module

Maya related functionality can be found in the bookmarks.maya The installable maya plugins is here: plugin.

ShotGrid / FFMpeg / RV

Bookmark and asset items can be linked with ShotGrid entities. The current ShotGrid help functions are defined in shotgun.

Bookmarks can also make use of ffmpeg to convert image sequences to movies, per the ffmpeg module.