# Sentinel objects

PyTypeObject PySentinel_Type

  This instance of `PyTypeObject` represents the Python `sentinel` type. This is the same object as `sentinel`.

  Added in version 3.15.

int PySentinel_Check(PyObject *o)

  Return true if o is a `sentinel` object or a subtype. The `sentinel` type does not currently allow subclasses, so this check is exact. Future Python versions may choose to allow subtyping. This function always succeeds.

  Added in version 3.15.

int PySentinel_CheckExact(PyObject *o)

  Return true if o is a `sentinel` object, but not a subtype. The `sentinel` type does not currently allow subclasses. Future Python versions may choose to allow subtyping. This function always succeeds.

  Added in version 3.15.

PyObject *PySentinel_New(const char *name, const char *module_name, const char *repr)
  Return value: New reference.

  Return a new `sentinel` object with `__name__` set to name and `__module__` set to module_name. name must not be `NULL`. If module_name is `NULL`, `__module__` is set to `None`. If repr is `NULL`, `repr()` returns `__name__`. Return `NULL` with an exception set on failure.

  For pickling to work, module_name must be the name of an importable module, and the sentinel must be accessible from that module under a path matching name. Pickle treats name as a global variable name in module_name (see `object.__reduce__()`).

  Added in version 3.15.