
Automate perforce workflows with Python to streamline change lists, checkout, conflict resolution, submissions, and notifications for production teams using the P-40b client and designer application.
This course centers on practical workshops with defined goals and end-state, where we write Python code together; practice hands-on learning with Q&A support and optional version control refresher.
Explore the fundamentals of version control systems and how Perforce, a centralized solution, tracks changes, enables collaboration, and enables rollback of revisions in large codebases and digital assets.
Set up Perforce with Python by installing Helix Core and P4V, configuring a local on-prem server and workspace, then install Python and Visual Studio Code with the Python extension.
Demonstrates creating a PySide6 GUI with the designer, converting it to Python code, and linking a push button to a log output for a perforce automation demo.
Learn to connect and disconnect from Perforce using Python by building a dedicated p4 helper, wiring UI controls in a debug widget, and updating a red/green connection status indicator.
Fetch perforce workspace data by listing files from a server report path with the p4 run command in Python, returning a list of dictionaries describing each file.
Learn Perforce automation with Python by checking out existing files for editing and marking new files for add, demonstrated via designer workspace, change lists, and a debug widget showing results.
Learn to move files into a Perforce change list with Python automation. Move checked-out or added files to a change list with a custom description, via a Python helper.
Automate deleting empty pending changelists for the current user with Python, outlining manual checks and a Perforce workflow using a debugging widget.
learn to revert all files from a given pending change list in Perforce using Python, featuring a combobox of change lists, a refresh control, and a revert action.
Learn how to revert only unchanged files from a change list using python-based perforce automation, with a boolean option and a ui checkbox, demonstrated with p4v.
Learn to manage Perforce shelves by shelving, unshelving, and deleting shelved files within a change list. Use the debug widget to validate changes and basic shelf commands.
Learn to automate Perforce syncing with Python by updating the client workspace to the latest depot revisions, using direct sync, handling revision checks, and logging sync results.
Automate Perforce conflict resolution with Python by implementing accept target and accept source, and explore basic merge workflows.
Automate submitting file changes to the Perforce depot with Python, replacing manual submits with a change-list driven workflow and automated logging.
Develop a Python-based monitoring system to detect new Perforce submits in a report path by monitoring change lists, parsing submit details, and emitting logs via a log signal.
Extend the Perforce automation with Python to detect exclusive checkout events, locking, and releasing files, using fstat data to track and report who locks and when.
Apply the Perforce automation to a real production tool by using a custom substance painter exporter, integrating the P4 module and helper to export texture sets and manage change lists.
Deliver a grateful closing message for the Perforce automation with Python course, inviting learners to explore performance commands and their options in the documentation to fit their needs.
Welcome to Perforce Automation with Python!
This course is designed to provide you with practical, hands-on learning focused on automating common user actions in Perforce Helix Core – a widely used Version Control System in the tech and creative industries.
You will gain knowledge in transforming tedious manual work your teammates perform every day into a glorious single-button-click solution provided by you. By the end of the course, you'll be equipped with the skills to handle tasks such as:
Establishing connections to Perforce servers.
Checking out files and marking files for addition.
Creating and managing changelists, including moving files between them.
Reverting, shelving, and unshelving files.
Syncing files and resolving conflicts.
Submitting files.
Building notification systems to alert users about specific Perforce events, such as new submissions or exclusive checkouts.
Integrating Perforce automation into custom production tools to suit unique project needs.
Lectures are workshops!
This course is all about practice, with every lecture in the core section designed as a hands-on workshop. Each lecture follows a this structure to maximize your learning:
Goal Introduction: I’ll explain what we aim to achieve and show you the final result so you know what to work toward.
Core Hints: You’ll get key insights and tips to guide your implementation.
Coding Together: We’ll write Python code together to reach the goal step by step.
Course Features
Source Code Included: Access the complete scripts covered in the course.
GUI Integration: Learn how to build a debug GUI using PySide6 and QtDesigner to interact with your automation tools effortlessly.
Short and Targeted Lessons: Each lecture addresses a specific task, making it easy to learn at your own pace.
Whether you're a Technical Director, Pipeline Architect, Technical Artist, DevOps or just someone looking to improve your production pipelines with Python, this course will empower you to unlock the full potential of Perforce automation.