Write a function to parse a stream of real-time sensor readings and calculate a running average using a fixed-size window.
Implement running_average(readings, window_size). readings is an iterable of numeric values, and the function must return a list containing one average after each reading. During warm-up, average all readings received so far; afterward, average only the most recent window_size readings. Preserve input order and return an empty list for an empty stream.
def running_average(readings, window_size):