module documentation

The inspection module provides the :func:`_sa.inspect` function, which delivers runtime information about a wide variety of SQLAlchemy objects, both within the Core as well as the ORM. The :func:`_sa.inspect` function is the entry point to SQLAlchemy's public API for viewing the configuration and construction of in-memory objects. Depending on the type of object passed to :func:`_sa.inspect`, the return value will either be a related object which provides a known interface, or in many cases it will return the object itself. The rationale for :func:`_sa.inspect` is twofold. One is that it replaces the need to be aware of a large variety of "information getting" functions in SQLAlchemy, such as :meth:`_reflection.Inspector.from_engine` (deprecated in 1.4), :func:`.orm.attributes.instance_state`, :func:`_orm.class_mapper`, and others. The other is that the return value of :func:`_sa.inspect` is guaranteed to obey a documented API, thus allowing third party tools which build on top of SQLAlchemy configurations to be constructed in a forwards-compatible way.

Class Inspectable define a class as inspectable.
Function inspect Produce an inspection object for the given target.
Function _inspects Undocumented
Function _self_inspects Undocumented
Type Variable _F Undocumented
Type Variable _IN Undocumented
Type Variable _T Undocumented
Type Variable _TT Undocumented
Variable _registrars Undocumented
@overload
def inspect(subject: Inspectable[_IN], raiseerr: bool = True) -> _IN:
@overload
def inspect(subject: Any, raiseerr: Literal[False] = ...) -> Optional[Any]:
@overload
def inspect(subject: Any, raiseerr: bool = True) -> Any:
(source)

Produce an inspection object for the given target. The returned value in some cases may be the same object as the one given, such as if a :class:`_orm.Mapper` object is passed. In other cases, it will be an instance of the registered inspection type for the given object, such as if an :class:`_engine.Engine` is passed, an :class:`_reflection.Inspector` object is returned. :param subject: the subject to be inspected. :param raiseerr: When ``True``, if the given subject does not correspond to a known SQLAlchemy inspected type, :class:`sqlalchemy.exc.NoInspectionAvailable` is raised. If ``False``, ``None`` is returned.

def _inspects(*types: Type[Any]) -> Callable[[_F], _F]: (source)

Undocumented

def _self_inspects(cls: _TT) -> _TT: (source)

Undocumented

Undocumented

Value
TypeVar('_F',
        bound=Callable[..., Any])

Undocumented

Value
TypeVar('_IN',
        bound='Inspectable[Any]')

Undocumented

Value
TypeVar('_T',
        bound=Any)

Undocumented

Value
TypeVar('_TT',
        bound='Type[Any]')
_registrars: Dict[type, Union[Literal[True], Callable[[Any], Any]]] = (source)

Undocumented