Dates and databases with Python

It’s a bit tricky to deal with dates, timezones and daylight savings when you need to store dates in e.g. a database for later reading.

To me, it’s a bit perplexing that all tools required to deal with this doesn’t come with the Python standard library (meaning; batteries are not included). Instead we need to use three different modules: datetime, pytz and tzlocal where the two latter ones are not part of the standard library and must be installed separately via e.g. pip.

Here follows some personal notes on how to store and read back dates with reliability and control of the timezones and daylight savings.

Read more...

Querying the FPS preference in Maya

This tickles the funny bone.

>>> import maya.mel as mel
>>> fps = mel.eval('float $fps = `currentTimeUnitToFPS`')
>>> print(fps)
24.0
Read more...

Maya 2018 file size bug

A very annoying bug came to light in mid-October which makes Maya 2018 binary scene files (*.mb) unreadable if they are larger than ~2 GB in size.

To be exact, the bug is hit when the file size is larger than 2147483647 bytes, the maximum positive value for a 32-bit signed binary integer.

Read more...

Contributing to PySide2

This is reminder-to-self about how to get set up and contribute to PySide2 using Gerrit. It could also be a fun read “on the bus” before actually setting this up yourself, to get an overview on what’s required to get up and running with Gerrit.

Disclaimer: I discourage you to blindly follow these highly personal notes without reading through the official docs when you actually get set up yourself. Anything can be changed in the official docs at any time, which isn’t reflected here. The point of this post is just to make a note-to-self and offer a “bigger picture” before actually digging in.

Read more...

Qt.py on conda-forge

Qt.py is now available on conda-forge!

# Enable conda-forge
conda config --add channels conda-forge

# Create environment with Python 3.6, PySide2 and Qt.py
conda create --mkdir --prefix ~/condaenvs/myenv python=3.6 pyside2 qt.py

# Run Python
~/condaenvs/myenv/bin/python --version

# Run pip
~/condaenvs/myenv/bin/pip --version