A fast implementation of the Rubik Cube based in Python 3.x. Makes it easy to create cubes of various sizes (2x2x2, 3x3x3, 4x4x4, 6x6x6, ...., 100x100x100). Fast rotation speed when compared with other Python implementations, which makes it suitable for Rubik Cube simulations. Includes: - Simple solver for the 3x3x3 cube. - Move optimizer which reduces the number of moves. Supports basic and advanced moves for cube rotation and wide rotation of layers. Provides cube coordinates expressed as a tuple of x,y,z. Solver uses the beginner method to solve the cube and move optimizer does the following optimizations: eliminates redundant moves, converts 3x moves to the inverse and eliminates cube rotations.