flatland ======== 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: - Collecting, validating, re-displaying and processing HTML form data - Dealing with rich structures (lists, dicts, lists of dicts, etc.) in web data - Validating JSON, YAML, and other structured formats - Associating arbitrary Python types with JSON, .ini, or sys.argv members that would otherwise deserialize as simple strings. - Reusing a single data schema for HTML, JSON apis, RPC, ... 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. Availability ------------ The hg `flatland tip`_ can be installed via ``easy_install flatland==dev``. .. _flatland tip: http://bitbucket.org/jek/flatland/get/tip.zip#egg=flatland-dev