Source code for uhammer

# encoding: utf-8
import sys

import pkg_resources

from ._parallel import runs_with_mpi as _runs_with_mpi
from .lnprob_adapters import *  # noqa
from .parameters import Parameters  # noqa
from .persisting import load_samples  # noqa
from .persisting import persist_every_n_iterations  # noqa
from .persisting import persist_final  # noqa
from .persisting import persist_on_error  # noqa
from .sampler import *  # noqa


[docs]class Unbuffered(object): def __init__(self, stream): self.stream = stream
[docs] def write(self, data): self.stream.write(data) self.stream.flush()
[docs] def writelines(self, datas): self.stream.writelines(datas) self.stream.flush()
def __getattr__(self, attr): return getattr(self.stream, attr)
# unbuffered IO is usefull not to miss output or stack traces when jobs shut # down: sys.stdout = Unbuffered(sys.stdout) sys.stderr = Unbuffered(sys.stderr) if _runs_with_mpi(): def handler(type_, value, tb): import traceback from mpi4py import MPI traceback.print_tb(tb, file=sys.stdout) sys.stdout.flush() MPI.COMM_WORLD.Abort(1) sys.excepthook = handler __version__ = pkg_resources.require(__package__)[0].version