flatland maps between rich, structured Python application data and the string-oriented flat namespace of web forms, key/value stores, text files and user input. Flatland provides a schema-driven mapping toolkit with optional data validation.

Flatland is great for:

The core of the flatland toolkit is a flexible and extensible declarative schema system representing many data types and structures.

A validation system and library of schema-aware validators is also provided, with rich i18n capabilities for use in HTML, network APIs and other environments where user-facing messaging is required.

Requirements and Status

flatland requires Python 2.5 or higher and the core features have no dependencies on other packages. The optional Genshi markup bindings require Genshi.

Flatland has not yet had a packaged release, despite being available since 2007, largely stable and used in production during that time. Some tasks still remain before a 1.0 release.

License

flatland is free software made available under the MIT License