blob: 8d8234d96e3f23f9eb84605f0a856a463f1c30ce (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
Grouch is a system for describing and enforcing a Python object schema.
That is, it provides you with a language for describing the intended type
signatures of your objects (collectively, the "object schema"), and tools
to walk an object graph, checking that every value found matches your
object schema.
An object schema describes every class in a collection of objects -- in
particular, it specifies the type of every instance attribute of every
class. Grouch includes a type language for specifying attribute types, a
tool to parse specially-formatted class docstrings and output a complete
object schema, and another tool for walking a persistent object graph and
ensuring that every scrap of data in it conforms to the object schema
extracted from your class docstrings. The API for defining, querying, and
enforcing types is fairly complete and well-documented, so you can use
Grouch's type system in other ways as well.
WWW: http://www.mems-exchange.org/software/grouch/
|