openpypeline.app.maya.core package

Subpackages

Submodules

openpypeline.app.maya.core.ops_init module

File: opsInit.py Description: Initializes all of the preferences and configurations for openPypeline Studio.

Refactored from openPipelineInit.mel (now opsInit.py) to use modern Python libraries.

Original Framework: openPipeline by Kickstand License: Common Public License 1.0 (CPL-1.0)

openpypeline.app.maya.core.ops_init.opsInitialize()[source]

Initializes all of the preferences for openPypeline Studio.

openpypeline.app.maya.core.ops_init.opsReset()[source]

Resets all of the preferences for openPypeline Studio. This reverts openPypeline Studio to a state in which no project is activated and no item is open for editing.

openpypeline.app.maya.core.ops_loader module

openpypeline.app.maya.core.ops_scene_inv module

openpypeline.app.maya.core.ops_ui_wrappers module

openpypeline.app.maya.core.ops_utils module

File: ops_utils.py Description:

General utility functions for openPypeline Studio. Replaces the legacy openPipelineUtility.mel script.

Original Framework: openPipeline by Kickstand License: Common Public License 1.0 (CPL-1.0)

openpypeline.app.maya.core.ops_utils.is_valid_folder(path)[source]

Returns whether a folder exists and doesn’t start with a period (e.g. .svn).

openpypeline.app.maya.core.ops_utils.get_folder_from_path(path, offset_from_last)[source]

Returns the folder name at a given depth of a path.

openpypeline.app.maya.core.rename_asset module

File: renameAsset.py Description: Utility to rename an asset and all associated files/folders within openPypeline Studio.

It safely traverses the directory structure bottom-up to ensure paths aren’t broken during the rename process.

Usage:

import renameAsset renameAsset.renameAsset(“/path/to/project/lib/old_asset_name”, “new_asset_name”)

Original Framework: openPipeline by Kickstand License: Common Public License 1.0 (CPL-1.0)

openpypeline.app.maya.core.rename_asset.renameAsset(folderPath, newName, oldName='')[source]

Renames an asset directory and all of its contents (files and subdirectories) that match the old asset name.

Parameters:
  • folderPath (str) – The absolute path to the top-level directory of the asset to rename.

  • newName (str) – The new name to apply to the asset and its contents.

  • oldName (str, optional) – The original name of the asset. If omitted, it is inferred from the base name of the folderPath.

openpypeline.app.maya.core.shotgrid_tracker module

File: shotgrid_tracker.py Description: ShotGrid (Flow Production Tracking) implementation of the ProductionTracker API.

Provides concrete methods to interface with Autodesk ShotGrid using shotgun_api3.

class openpypeline.app.maya.core.shotgrid_tracker.ShotGridTracker(url, auth_user, auth_key)[source]

Bases: ProductionTracker

Implementation of the ProductionTracker for Autodesk ShotGrid.

connect()[source]

Authenticates and establishes a connection with the tracking API. Returns True if successful, False otherwise.

get_projects()[source]

Retrieves a list of active projects from the tracker.

get_user_tasks(username)[source]

Retrieves a list of tasks assigned to the given username.

update_task_status(task_id, status)[source]

Updates the status of a specific task (e.g., “In Progress”, “Pending Review”).

publish_version(task_id, filepath, version, comment)[source]

Logs a new published master or workshop version to the tracking system.

openpypeline.app.maya.core.test_ops_actions module

openpypeline.app.maya.core.tracker module

File: tracker.py Description: Abstract Base Class for Production Tracking APIs.

Defines the standard interface that all tracker modules (e.g., ShotGrid, Ftrack, Kitsu) must implement.

class openpypeline.app.maya.core.tracker.ProductionTracker(url, auth_user, auth_key)[source]

Bases: ABC

Abstract base class for production tracking systems. Any tracking integration must inherit from this class and implement these methods to ensure DCC-agnostic compatibility within openPypeline.

abstractmethod connect()[source]

Authenticates and establishes a connection with the tracking API. Returns True if successful, False otherwise.

abstractmethod get_projects()[source]

Retrieves a list of active projects from the tracker.

abstractmethod get_user_tasks(username)[source]

Retrieves a list of tasks assigned to the given username.

abstractmethod update_task_status(task_id, status)[source]

Updates the status of a specific task (e.g., “In Progress”, “Pending Review”).

abstractmethod publish_version(task_id, filepath, version, comment)[source]

Logs a new published master or workshop version to the tracking system.

openpypeline.app.maya.core.tracker_factory module

File: tracker_factory.py Description: Factory for creating and connecting to a production tracker instance.

Dynamically loads the appropriate tracker based on user settings.

openpypeline.app.maya.core.tracker_factory.get_tracker(tracker_type=None, url=None, user=None, key=None)[source]

Factory function to get an instance of the configured production tracker. Reads pipeline preferences to determine which tracker to instantiate and connect to.

Returns:

An instance of a ProductionTracker subclass if successful, otherwise None.

Module contents