class _Constraint(object):
    def __init__(self, version):
        self.version = version

    def __repr__(self):
        return "%s(%r)" % (self.__class__.__name__, self.version)

    # Mostly useful for testing
    def __eq__(self, other):
        return self.__class__ == other.__class__ and self.version == other.version

class Equal(_Constraint):
    pass

class GEQ(_Constraint):
    pass

class LEQ(_Constraint):
    pass

@@ -16,24 +16,279 @@
 nt(object):%0A
+    def __repr__(self):%0A        return %22%25s%22 %25 self.__class__.__name__%0A%0A    # Mostly useful for testing%0A    def __eq__(self, other):%0A        return self.__class__ == other.__class__%0A%0Aclass Any(_Constraint):%0A    pass%0A%0Aclass _VersionConstraint(_Constraint):%0A
     def __in
@@ -589,16 +589,23 @@
  Equal(_
+Version
 Constrai
@@ -626,24 +626,31 @@
 %0Aclass GEQ(_
+Version
 Constraint):
@@ -671,16 +671,23 @@
 ss LEQ(_
+Version
 Constrai

add Any constraint.