# Path: emma/query/operator.py
# class EqualityQuery(CompositeQuery):
# class LessThanQuery(CompositeQuery):
# class GreaterThanQuery(CompositeQuery):
# class BetweenQuery(CompositeQuery):
# class InLastQuery(CompositeQuery):
# class InNextQuery(CompositeQuery):
# class DateMatchQuery(CompositeQuery):
# class ContainsQuery(CompositeQuery):
# class AnyQuery(CompositeQuery):
# class IsInQuery(CompositeQuery):
# class ZipRadiusQuery(CompositeQuery):
#     def __init__(self, field, value):
#     def to_tuple(self):
#     def __init__(self, field, value):
#     def to_tuple(self):
#     def __init__(self, field, value):
#     def to_tuple(self):
#     def __init__(self, field, low, high):
#     def to_tuple(self):
#     def __init__(self, field, interval):
#     def to_tuple(self):
#     def __init__(self, field, interval):
#     def to_tuple(self):
#     def __init__(self, field, date):
#     def to_tuple(self):
#     def __init__(self, field, value):
#     def to_tuple(self):
#     def __init__(self, field, value):
#     def to_tuple(self):
#     def __init__(self, field, values):
#     def to_tuple(self):
#     def __init__(self, field, radius, zip):
#     def to_tuple(self):


from emma.query import operator

        >>> query2 = qf.eq('member_field:foo', 1) | qf.contains('member_field:bar', '*foo*')
        >>> query2.to_tuple()
        ("or", ("member_field:foo", "eq", 1), ("member_field:bar", "eq", "*foo*"))

        >>> query3 = ~ qf.eq('member_field:foo', 1)
        >>> query3.to_tuple()
        ("not", ("member_field:foo", "eq", 1))

    """

    @staticmethod
    def eq(field, value):
        """
        Equality Query Factory

        :param field: Field name to query
        :type field: :class:`str`
        :param value: Value to select
        :type value: :class:`str` or :class:`int`
        :rtype: :class:`CompositeQuery`

        Usage::

            >>> from emma.query.factory import QueryFactory as qf
            >>> query = qf.eq('member_field:some_string_field', 'bar')
            >>> query.to_tuple()
            ("member_field:some_string_field", "eq", "bar")

        """

# Path: emma/query/operator.py
# class EqualityQuery(CompositeQuery):
# class LessThanQuery(CompositeQuery):
# class GreaterThanQuery(CompositeQuery):
# class BetweenQuery(CompositeQuery):
# class InLastQuery(CompositeQuery):
# class InNextQuery(CompositeQuery):
# class DateMatchQuery(CompositeQuery):
# class ContainsQuery(CompositeQuery):
# class AnyQuery(CompositeQuery):
# class IsInQuery(CompositeQuery):
# class ZipRadiusQuery(CompositeQuery):
#     def __init__(self, field, value):
#     def to_tuple(self):
#     def __init__(self, field, value):
#     def to_tuple(self):
#     def __init__(self, field, value):
#     def to_tuple(self):
#     def __init__(self, field, low, high):
#     def to_tuple(self):
#     def __init__(self, field, interval):
#     def to_tuple(self):
#     def __init__(self, field, interval):
#     def to_tuple(self):
#     def __init__(self, field, date):
#     def to_tuple(self):
#     def __init__(self, field, value):
#     def to_tuple(self):
#     def __init__(self, field, value):
#     def to_tuple(self):
#     def __init__(self, field, values):
#     def to_tuple(self):
#     def __init__(self, field, radius, zip):
#     def to_tuple(self):


# Path: emma/query/factory.py
from emma.query import operator


        >>> query2 = qf.eq('member_field:foo', 1) | qf.contains('member_field:bar', '*foo*')
        >>> query2.to_tuple()
        ("or", ("member_field:foo", "eq", 1), ("member_field:bar", "eq", "*foo*"))

        >>> query3 = ~ qf.eq('member_field:foo', 1)
        >>> query3.to_tuple()
        ("not", ("member_field:foo", "eq", 1))

    """

    @staticmethod
    def eq(field, value):
        """
        Equality Query Factory

        :param field: Field name to query
        :type field: :class:`str`
        :param value: Value to select
        :type value: :class:`str` or :class:`int`
        :rtype: :class:`CompositeQuery`

        Usage::

            >>> from emma.query.factory import QueryFactory as qf
            >>> query = qf.eq('member_field:some_string_field', 'bar')
            >>> query.to_tuple()
            ("member_field:some_string_field", "eq", "bar")

        """

        return operator.EqualityQuery(field, value)