- remove obsolete Python2 compatibility code
- added source_row_number and source_column_number to support validation
- add wildcard support to tag patterns, so that we can use
patterns like "*" or "*+f-children"
- revamped date handling to support partial dates like "2018-01"
or "2018", and also special notation like "2018W05" or "2018Q1"
- add min and max methods to hxl.model.Dataset
- HXL validation reports a validation error when a valid_value+url is not usable
- HXL validation now reports proper column
- HXL validation now accepts all parseable date formats
- HXL validation now has a valid_unique constraint (single value or
compound key)
- HXL validation now has a valid_correlation constraint (e.g. make sure
that adm1 and adm2 are always consistent for any given value
of adm3)
- HXL validation can now try to infer datatypes without explicit rules
- HXL validation now calculates edit distance and suggests the
closest match when failing validation against a list
- HXL validation can now test for irregular whitespace using
valid_value+whitespace
- add "is (not) min" and "is (not) max" support to hxl.model.RowQuery
- add is_cached flag to hxl.model.Dataset and subclasses
- updated all AbstractInput to be iterables rather than iterators
(for repeatability)
- removed hxl.common module and added hxl.datatypes, with
more-consistent data checking/conversion
- when importing JSON arrays and objects, flatten them to a usable
text representation
- update docstrings
- default to case insensitive for validation
- added static hxl.model.TagPattern.match_list method
- fixed hxl.filters.ReplaceDataFilter to allow multiple tag
patterns
- fixed bug when an empty row appears before the hashtag row