`unicode`` object, or an iterator of lines such as a filehandle, (each line is either a ``str`` or ``unicode``) :param max_blocks: int, optional (Default: ``None``, no limit) The maximum number of blocks to parse from the input. :param allow_empty_author: bool, optional (Default: `False`), Whether to allow an empty author in the trailer line of a change block. :param strict: bool, optional (Default: ``False``, use a warning) Whether to raise an exception if there are errors. :param encoding: str, If the input is a str or iterator of str, the encoding to use when interpreting the input. There are a number of errors that may be thrown by the module: - :class:`ChangelogParseError`: Indicates that the changelog could not be parsed, i.e. there is a line that does not conform to the requirements, or a line was found out of its normal position. May be thrown when using the method `parse_changelog`. The constructor will not throw this exception. - :class:`ChangelogCreateError`: Some information required to create the changelog was not available. This can be thrown when `str()` is used on the object, and will occur if a required value is `None`. - :class:`VersionError`: The string used to create a Version object cannot be parsed as it doesn't conform to the specification of a version number. Can be thrown when creating a Changelog object from an existing changelog, or instantiating a Version object directly to assign to the version attribute of a Changelog object. If you have a changelog that may have no author information yet as it is still a work in progress, i.e. the author line is just:: -- rather than:: -- Author Thu, 12 Dec 2006 12:23:34 +0000 then you can pass ``allow_empty_author=True`` to the Changelog constructor. If you do this then the ``author`` and ``date`` attributes may be ``None``. NFr*