Python

MSc Projects 2024

MSc projects from 2024

Lecture 1 Introduction to Python

Some Basic Python

Lab 2 Some Unix tools

The aim of this lab is to look at methods of batch processing data (scene files) using both built in Unix / Linux tools as well as python. Standard unix tools for finding things Unix has a number of tools to allow searching and locating files.

Lecture 1 Introduction

Slides Links and Resources Pipeline Patterns Pixar’s USD

Lab 1 Python Setup

The aim of this lab is to setup our python environment in the lab and give you the ability to setup something similar at home. I will video it live and upload afterwards as this will mainly be an interactive session.

Lecture 1 Introduction

Slides Links and Resources Pipeline Patterns Pixar’s USD

Lecture 2 Basic Python

An introduction to the basic python language syntax

Lecture 2 The structure of a DCC

Slides Links and Resources

Lecture 2 Python Control Structures

Basic python control structures

Lecture 3 Test Driven Development

Introduction to TDD

Lecture 2 The Structure of a DCC Tool

Slides Links and Resources Points and Verts and Prims

Lecture 3 Files and Data

This lectures introduces the concept of file I/O and data processing

Lab 3 Some Python Topics

The aim of this lab is to introduce some core Python (3) concepts and ideas. Whilst some of these may seem unconnected I use many of these techniques and ideas day to day and will generally form part of a larger python ecosystems and deployment.

Lecture 3 Why Python

Slides References

Lecture 3 Python I/O and Classes

File processing, stand alone programs and Basic OO

Lecture 3 Test Driven Development and Design

Slides Links and Resources https://www.ibm.com/garage/method/practices/code/practice_test_driven_development/

Lecture 4 Introduction to OO in Python

This lecture will introduce Object Oriented concepts and Classes in python

Lecture 4 Databases and SQL

Slides

Lecture 4 Modern Python

Slides Links and Resources

Lecture 4 Testing and TDD

Using Unit tests in python

Lecture 5 Test Driven Development

This lecture will demonstrate the use of Test Driven development and design in python

Lecture 5 GUI's and HCI

Slides

Lecture 5 DCC API's

Slides Links and Resources https://www.chadvernon.com/maya-api-programming/

Lecture 6 Data Files and Serialization

Slides

Lecture 7 Systems Programming

Slides

Lecture 8

Slides Self Study

Lecture 8 Multithreading

Slides Slides

Lecture 9

Slides Self Study

Lecture 9 Devops

Slides

Lecture 10 Documentation and Deployment

Slides

Installing Python Modules

How to install local python modules in the Linux Labs

Lab 1 Introduction to Linux

Aims The aim of this lab is to introduce some basic Linux commands and tools The terminal and why it is important basic linux commands ls,pwd,mkdir,cd,rm,man,history. The environment and how to set it up Getting Started The first thing we need to do is to get a terminal open.

Lab 1 Python Setup and Install

Aims The aim of this lab is to help setup and install python and various other tools Using PyEnv for installation of python versions Using Pip to install packages Setup VSCode to edit and run python files Why do I need PyEnv?

Install and Setup of PyEnv

PyEnv can be installed by downloading from here https://github.com/pyenv/pyenv or if using a mac use brew install pyenv If downloading from github do the following git clone https://github.com/pyenv/pyenv.git ~/.pyenv cd ~/.

Lab 2 More Linux

Aims The aim of this lab is to introduce more basic Linux commands and tools Essential Linux Directories Most linux environments have a similar directory structure. The following is a list of the most important directories and their purpose.

Lab 2 Functions and Modules

Aims The aim of this lab is to setup a simple python project using the Turtle module and experiment with writing code and functions. By the end of the Lab we should be able to

MayaPY not working

When running the following code in a mayapy session import maya.standalone maya.standalone.initialize(name='python') The interpreter never returns for the next line of code. TL;DR was an issue with my userSetup.py where I use cmds.

Lab 3 PyEnv

Aims The aim of this lab is to help setup and install python and various other tools Using PyEnv for installation of python versions Using Pip to install packages Setup VSCode to edit and run python files Why do I need PyEnv?

Lab 3 Test Driven Development

Aims The aim of this lab is to introduce the process of test driven development (TDD) and develop some simple tests, we will use the following steps. Project Setup Test Setup Test Driven Design of a Simple RGBA class using Version control Storing Pixels It is common to store image pixel data using a single unsigned int32_t data type.

Lab 4 OO in Python

Aims The aim of this lab is to investigate Object Orientation in python The principles of S.O.L.I.D Classes in Python OO Design principles SOLID Is A mnemonic to remember the first five principles of Object Oriented design