This document describes the current stable version of Celery (5.2). For development docs, go here.

celery.utils.saferepr

Streaming, truncating, non-recursive version of repr().

Differences from regular repr():

  • Sets are represented the Python 3 way: {1, 2} vs set([1, 2]).

  • Unicode strings does not have the u' prefix, even on Python 2.

  • Empty set formatted as set() (Python 3), not set([]) (Python 2).

  • Longs don’t have the L suffix.

Very slow with no limits, super quick with limits.

celery.utils.saferepr.reprstream(stack, seen=None, maxlevels=3, level=0, isinstance=<built-in function isinstance>)[source]

Streaming repr, yielding tokens.

celery.utils.saferepr.saferepr(o: Any, maxlen: int = None, maxlevels: int = 3, seen: Set = None) str[source]

Safe version of repr().

Warning

Make sure you set the maxlen argument, or it will be very slow for recursive objects. With the maxlen set, it’s often faster than built-in repr.