def class_params(cls, hidden=True):
        """
        Gets all class parameters, and their :class:`Parameter` instances.

        :return: dict of the form: ``{<name>: <Parameter instance>, ... }``
        :rtype: :class:`dict`

        .. note::

            The :class:`Parameter` instances returned do not have a value, only
            a default value.

            To get a list of an **instance's** parameters and values, use
            :meth:`params` instead.

        """
        param_names = cls.class_param_names(hidden=hidden)
        return dict(
            (name, getattr(cls, name))
            for name in param_names
        )