python

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 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 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 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 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 Devops

Slides

Lecture 6 Systems Programming

Slides

Lecture 7 GUI's and HCI

Slides

Lecture 8 Multithreading

Slides

Lecture 9 Multithreading

Slides

Lecture 10 Documentation and Deployment

Slides

Installing Python Modules

How to install local python modules in the Linux Labs

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 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 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.

Computational Thinking

What is Computational Thinking? The idea of computational thinking is allow us to look at problems and determine the best way for a computer to solve this (and related problems).

Databases and SQL

Databases and SQL

Setup Python for Machine Learning and AI

Introduction In Lab1 we introduced the PyEnv tool to allow us to install various versions of python either locally or globally. In the following examples we will explore how we can setup and install specific ML libraries into a Virtual Environment using the global PyEnv python.

Type Hints

Aims We will investigate some modern python features and concepts by developing some small programs. Type Hinting Type hints were added to python 3.5 as a way of adding support for linters and 3rd party tools to check code for possible errors.

Black

Why do I need it? Life is too short to tidy up code by hand. Black is an opinionated python formatter. By using it, you agree to cede control over minutiae of hand-formatting.

Numpy

Why do I need it? numpy is “The fundamental package for scientific computing with Python”. In particular it gives us fast and efficient array types which can be used with C/C++ types as well.

Rich & Textual

Why do I need it? These two co-related modules will make your command line tools better. “Rich is a Python library for rich text and beautiful formatting in the terminal”, “Textual is a TUI (Text User Interface) framework for Python inspired by modern web development.

Aslan Saparov

This thesis report documents the terrain generation, the research on different methods and techniques possible to generate a terrain as well as the implementation of it in this project.

Yiyang Huang

This project aimed to build a artist-friendly tool which could edit details of toon shading.

Generating unit-test data with Julia

Using Julia to generate unit test data for my Matrix classes in python

Many ways to build a Vec3

We look at diffent ways of building a simple Vec3 class in python

Dmitrii Shevchenko

This project presents a modular rigging pipeline that enables user to create rigs using either Python API directly or via node-based interface. The system aims to be extensible, allowing rigger to add new custom rig components or extend already existing ones. In order to be tool-oriented this pipeline utilizes metadata concept and component to Python class bindings which leads to consistent functionality for any additional tools.