def observations_from_log(observables, log_filename): snapshots = [Snapshot.from_data_dict(json.loads(line)['snapshot']) \ for line in file(log_filename).readlines()] snapshot_log = sorted(snapshots, key=lambda snapshot: snapshot.timestamp) observations = compute_observations(observables, flatten_by_timestamp(snapshot_log)) return observations