@abc.abstractmethod<EOL><INDENT>def get_packages_by_query(self, package_query):<DEDENT>
return<EOL>
Gets a list of ``Packages`` matching the given package query.

        :param package_query: the package query
        :type package_query: ``osid.installation.PackageQuery``
        :return: the returned ``PackageList``
        :rtype: ``osid.installation.PackageList``
        :raise: ``NullArgument`` -- ``package_query`` is ``null``
        :raise: ``OperationFailed`` -- unable to complete request
        :raise: ``PermissionDenied`` -- authorization failure
        :raise: ``Unsupported`` -- ``package_query`` is not of this service

        *compliance: mandatory -- This method must be implemented.*