Abnf

Latest version: v2.3.1

Safety actively analyzes 698854 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 2 of 3

2.0.0

* Implement backtracking. This is potentially a breaking change, given the changes to parsing behavior.
https://github.com/declaresub/abnf/issues/4, https://github.com/declaresub/abnf/issues/10, https://github.com/declaresub/abnf/issues/11 .

* Add grammars for RFC 3339, 3629, 5987, 6266, 9116.

* Modify RFC 5322 rule ‘obs-unstruct’ following RFC errata.

1.2.1

* Fix a bug in Repetition class. Refactoring to remove the use of a flatten function meant that matches
needed to be counted explicitly instead of using the size of the matched nodes list. https://github.com/declaresub/abnf/issues/10

* Add more type hints, and a py.typed file.

1.2.0

* Add type hints.

* add RFC 7489 grammar (thanks to egobiah).

1.1.1

* Imported rules are now created using the source rule's definition, instead of setting the
target rule definition to the source rule. This was resulting in parse node trees with
unexpected structure.

* RFC 2735 credentials, challenge rules have been restored to their original definitions
now that longest match alternation is the default.

1.1.0

* Added class method Rule.from_file which loads a grammar from an ABNF rulelist in a file. https://github.com/declaresub/abnf/issues/2

* Added class attribute Rule.first_match_alternation. When false, alternation returns the longest
match, with ties broken by order of match. When True, alternation returns the first match.

* Added Rule.exclude_rule. This object method allows one to restrict an existing rule by
excluding values that match another rule. The initial use case was to exclude keywords
from matching identifiers.

* Parsing is generally faster following some internal tinkering and refactoring.

1.0.1

* Unicode characters > 127 expressed as num-val are now correctly parsed. https://github.com/declaresub/abnf/issues/1

Page 2 of 3

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.