All notable changes to this project will be documented in this file.
[3.2.0] - 2023-06-14¶
iter_from_resource and load_from_resource within the load module to allow for arbitrary resource usage.
When there is a failure to parse a CoNLL file, the line number of the start of the sentence is included in the message.
Update support to be inline with current python versions.
[3.1.0] - 2021-06-02¶
is_empty_node method to Token which identifies empty nodes used for ellipsis constructions
Sentences with empty nodes were not properly parsed as trees since they do not have a head token, and this was not properly accounted for.
[3.0.5] - 2021-05-29¶
Comments are output in the same order as they are read as. Previously, comments were sorted alphabetically before serialization.
[3.0.4] - 2021-02-24¶
The actual fix for the conda build to make sure the version is in lock-step across all uses, properly validated this time.
[3.0.3] - 2021-02-23¶
Fixed conda release temporarily by manually setting version number, this will be addressed in future deployment
[3.0.1] - 2021-02-23¶
Fix issue with conda build where package name cannot be read from external sources anymore.
[3.0.0] - 2021-02-23¶
Handled multi-word tokens better in Tree creation by simply ignoring them since they do not interact with dependency relations.
Several linting and style issues on updating tools.
Conllable metaclass is now set properly in Python 3 method rather than old Python 2 method.
Several typos in the docstrings via new codespell linting process.
Thorough dependency cleanup and updating.
A Sentence with no root will throw a ValueError on Tree creation rather than returning an empty tree.
Continued changes and improvements with DevOps moving from TravisCI to GitHub actions, having better structured tests, typo checking as part of linting, etc.
Dependencies are now separated into build specific and other dev dependencies
Type annotations the public and internal API
Added UD 2.7 to the list of versions validated against.
Revamped version mechanism so that this is now present within the actual module under
pyconll.__version__as a string
Python 3.4 and 3.5 support was removed as part of supporting type annotations and staying up to date with the currently supported versions.
Loading or iterating from network url was removed. It introduced a dependency that was better removed, and did not seem to be used often in the wild. It also encourages inefficient design and can be easily replicated for those who need it.
[2.3.3] - 2020-10-25¶
Github action workflows were using old version of python that was no longer supported.
[2.3.2] - 2020-10-25¶
General quality improvements including documentation improvements, docstring improvements, better testing strategies, etc.
Clarified supported UD versions in README
[2.3] - 2020-10-06¶
Bug in outputting enhanced dependencies when index had a range or was for an empty node
Typo in variable reference in documentation generation code
Corrected docstring for
set_metafor the Sentence API
remove_metawas added to the Sentence API thanks to alexeykosh
Miscellaneous testing improvements and investments, Makefile improvements, release script improvements, and community improvements
[2.2.1] - 2019-11-17¶
Branding information typo within setup.py
Spurious command in Makefile recipe
python_requiresclause to setup.py to prevent installation on unsupported platforms
Include information in README about
setuptoolsversion needed to properly package within
Conda packaging support along with information in README about new installation method
pyconllversion is now housed in .version file so that this version only needs to be changed in one place before release.
[2.2.0] - 2019-10-01¶
Use slots on Token and Sentence class for more efficient memory usage with large amounts of objects
Remove source fields on Token and Sentence. These were not an explicit part of the public API so this is not considered a breaking change.
[2.1.0] - 2019-08-30¶
reannotate\_ngrams.pywas out of sync with the function return type
`find_nonprojective_deps`` was added to look for non-projective dependencies within a sentence
[2.0.0] - 2019-05-09¶
utilmodule did not properly match case insensitivity.
conllableis now properly included in wildcard imports from
Issue when loading a CoNLL file over a network if the file contained UTF-8 characters. requests default assumes ASCII enconding on HTTP responses.
The Token columns deps and feats were not properly sorted by attribute (either numeric index or case invariant lexicographic sort) on serialization
Clearer and more consise documentation
find_ngramsnow returns the matched tokens as the last element of the yielded tuple.
Document and paragraph ids on Sentences
Line numbers on Tokens and Sentences
Equality comparison on Tokens and Sentences. These types are mutable and implementing equality (with no hash overriding) causes issues for API clients.
SentenceTreemodule. This functionaliy was moved to the Sentence class method
Sentencethat returns the Tree representing the Sentence dependency structure
requirements.txtto patch Jinja2 and requests
[1.1.4] - 2019-04-15¶
Parsing of underscore’s for the form and lemma field, would automatically default to None, rather than the intended behavior.
[1.1.3] - 2019-01-03¶
When used on Windows, the default encoding of Windows-1252 was used when loading CoNLL-U files, however, CoNLL-U is UTF-8. This is now fixed.
[1.1.2] - 2018-12-28¶
Getting Started page on the documentation to make easier for newcomers
Versioning on docs page which had not been properly updated
Some documentation errors
requestsversion used in
requirements.txtwas insecure and updated to newer version
[1.1.0] - 2018-11-11¶
pylintto build process
Conllableabstract base class to mark CoNLL serializable components
Tree data type construction of a sentence
Linting patches suggested by
Sentenceconstructor. This is an internal patch, as this parameter was not meant to be used by callers.
New, improved, and clearer documentation
requestsdependency due to security flaw
[1.0] - 2018-09-13¶
There is now a FormatError to help make debugging easier if the internal data of a Token is put into an invalid state. This error will be seen on running
Certain token fields with empty values, were not output when calling
Token#conlland were instead ignored. This situation now causes a FormatError.
Stricter parsing and validation of general CoNLL guidelines.
DEPSparsing was broken before and assumed that there was less information than is actually possible in the UD format. This means that now
depsis a tuple with cardinality 4.
[0.3] - 2018-07-28¶
Ability to easily load CoNLL files from a network path (url)
Some parsing validation. Before the error was not caught up front so the error could unexpectedly later show up.
Sentence slicing had an issue before if either the start or end was omittted.
More documentation and examples.
Conll is now a
MutableSequence, so it handles methods beyond its implementation as well as defined by python.
Some small bug fixes with parsing the token dicts.
[0.2.3] - 2018-07-23¶
Issues with documentation since docstrings were not in RST. Fixed by using napoleon sphinx extension
A little more docs
More README info