nti.schema includes utilities for working with schema-driven development using zope.schema.
For complete details and the changelog, see the documentation.
Some of the most useful features include:
nti.schema.interfaces.find_most_derived_interfacefor finding a bounded interface.
nti.schema.eqhash.EqHashis a class-decorator for creating efficient, correct implementations of equality and hashing.
nti.schema.fieldcontains various schema fields, including a
Varianttype and more flexible collection types, all of which produce better validation errors.
nti.schema.fieldpropertycontains field properties that can adapt to interfaces or decode incoming text. The function
createDirectFieldPropertiescan assign just the necessary properties automatically.