udtools 0.2.4__tar.gz → 0.2.5__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- udtools-0.2.5/MANIFEST.in +1 -0
- {udtools-0.2.4 → udtools-0.2.5}/PKG-INFO +1 -1
- {udtools-0.2.4 → udtools-0.2.5}/pyproject.toml +3 -2
- {udtools-0.2.4 → udtools-0.2.5}/src/udtools/__init__.py +1 -1
- {udtools-0.2.4 → udtools-0.2.5}/src/udtools/cli.py +16 -1
- {udtools-0.2.4 → udtools-0.2.5}/src/udtools/data/feats.json +1 -1
- {udtools-0.2.4 → udtools-0.2.5}/src/udtools/incident.py +1 -2
- {udtools-0.2.4 → udtools-0.2.5}/src/udtools/state.py +24 -0
- {udtools-0.2.4 → udtools-0.2.5}/src/udtools/utils.py +1 -3
- {udtools-0.2.4 → udtools-0.2.5}/src/udtools/validator.py +1 -1
- {udtools-0.2.4 → udtools-0.2.5}/src/udtools.egg-info/PKG-INFO +1 -1
- udtools-0.2.5/src/udtools.egg-info/SOURCES.txt +144 -0
- udtools-0.2.5/src/udtools.egg-info/entry_points.txt +3 -0
- udtools-0.2.5/tests/test-cases/README.md +5 -0
- udtools-0.2.5/tests/test-cases/eval/cs_pud-gold.conllu +25064 -0
- udtools-0.2.5/tests/test-cases/eval/cs_pud-plain.txt +1928 -0
- udtools-0.2.5/tests/test-cases/eval/cs_pud-udpipe-pdtc-ud-2.17-251125.conllu +22129 -0
- udtools-0.2.5/tests/test-cases/eval/eval.txt +17 -0
- udtools-0.2.5/tests/test-cases/invalid-functions/columns-format-minimal.conllu +5 -0
- udtools-0.2.5/tests/test-cases/invalid-functions/columns-format.conllu +24 -0
- udtools-0.2.5/tests/test-cases/invalid-functions/extra-empty-line.conllu +13 -0
- udtools-0.2.5/tests/test-cases/invalid-functions/invalid-line.conllu +24 -0
- udtools-0.2.5/tests/test-cases/invalid-functions/invalid-word-id.conllu +5 -0
- udtools-0.2.5/tests/test-cases/invalid-functions/invalid-word-interval.conllu +11 -0
- udtools-0.2.5/tests/test-cases/invalid-functions/misplaced-comment.conllu +24 -0
- udtools-0.2.5/tests/test-cases/invalid-functions/misplaced-empty-node-2.conllu +13 -0
- udtools-0.2.5/tests/test-cases/invalid-functions/misplaced-empty-node.conllu +12 -0
- udtools-0.2.5/tests/test-cases/invalid-functions/misplaced-word-interval.conllu +12 -0
- udtools-0.2.5/tests/test-cases/invalid-functions/multiple-sent-id.conllu +24 -0
- udtools-0.2.5/tests/test-cases/invalid-functions/mwt-nonempty-2.conllu +7 -0
- udtools-0.2.5/tests/test-cases/invalid-functions/mwt-nonempty-field.conllu +12 -0
- udtools-0.2.5/tests/test-cases/invalid-functions/non-unix-newline.conllu +23 -0
- udtools-0.2.5/tests/test-cases/invalid-functions/overlapping-word-interval.conllu +12 -0
- udtools-0.2.5/tests/test-cases/invalid-functions/pseudo-empty-line.conllu +11 -0
- udtools-0.2.5/tests/test-cases/invalid-functions/reversed-word-interval.conllu +11 -0
- udtools-0.2.5/tests/test-cases/invalid-functions/unicode-normalization.conllu +9 -0
- udtools-0.2.5/tests/test-cases/invalid-functions/word-id-sequence-2.conllu +6 -0
- udtools-0.2.5/tests/test-cases/invalid-functions/word-id-sequence.conllu +6 -0
- udtools-0.2.5/tests/test-cases/invalid-level1-2/ambiguous-feature.conllu +5 -0
- udtools-0.2.5/tests/test-cases/invalid-level1-2/cyclic-deps.conllu +7 -0
- udtools-0.2.5/tests/test-cases/invalid-level1-2/deprel-not-empty-in-empty.conllu +7 -0
- udtools-0.2.5/tests/test-cases/invalid-level1-2/dos-newlines.conllu +23 -0
- udtools-0.2.5/tests/test-cases/invalid-level1-2/duplicate-feature.conllu +5 -0
- udtools-0.2.5/tests/test-cases/invalid-level1-2/duplicate-id.conllu +6 -0
- udtools-0.2.5/tests/test-cases/invalid-level1-2/duplicate-layered-feature.conllu +5 -0
- udtools-0.2.5/tests/test-cases/invalid-level1-2/duplicate-value.conllu +5 -0
- udtools-0.2.5/tests/test-cases/invalid-level1-2/empty-field.conllu +5 -0
- udtools-0.2.5/tests/test-cases/invalid-level1-2/empty-head.conllu +5 -0
- udtools-0.2.5/tests/test-cases/invalid-level1-2/empty-sentence.conllu +8 -0
- udtools-0.2.5/tests/test-cases/invalid-level1-2/extra-empty-line.conllu +12 -0
- udtools-0.2.5/tests/test-cases/invalid-level1-2/extra-field.conllu +5 -0
- udtools-0.2.5/tests/test-cases/invalid-level1-2/head-0-deprel-not-root.conllu +5 -0
- udtools-0.2.5/tests/test-cases/invalid-level1-2/head-not-0-deprel-root.conllu +6 -0
- udtools-0.2.5/tests/test-cases/invalid-level1-2/head-not-empty-in-empty.conllu +7 -0
- udtools-0.2.5/tests/test-cases/invalid-level1-2/id-starting-from-2.conllu +10 -0
- udtools-0.2.5/tests/test-cases/invalid-level1-2/id-with-extra-0.conllu +5 -0
- udtools-0.2.5/tests/test-cases/invalid-level1-2/invalid-deps-id.conllu +6 -0
- udtools-0.2.5/tests/test-cases/invalid-level1-2/invalid-deps-order.conllu +10 -0
- udtools-0.2.5/tests/test-cases/invalid-level1-2/invalid-deps-syntax.conllu +6 -0
- udtools-0.2.5/tests/test-cases/invalid-level1-2/invalid-head.conllu +6 -0
- udtools-0.2.5/tests/test-cases/invalid-level1-2/invalid-range-format.conllu +11 -0
- udtools-0.2.5/tests/test-cases/invalid-level1-2/invalid-range.conllu +11 -0
- udtools-0.2.5/tests/test-cases/invalid-level1-2/lowercase-feature-in-empty.conllu +7 -0
- udtools-0.2.5/tests/test-cases/invalid-level1-2/lowercase-feature-value-in-empty.conllu +7 -0
- udtools-0.2.5/tests/test-cases/invalid-level1-2/lowercase-feature.conllu +6 -0
- udtools-0.2.5/tests/test-cases/invalid-level1-2/lowercase-postag-in-empty.conllu +7 -0
- udtools-0.2.5/tests/test-cases/invalid-level1-2/lowercase-postag.conllu +5 -0
- udtools-0.2.5/tests/test-cases/invalid-level1-2/lowercase-value.conllu +6 -0
- udtools-0.2.5/tests/test-cases/invalid-level1-2/malformed_deps.conllu +23 -0
- udtools-0.2.5/tests/test-cases/invalid-level1-2/misindexed-empty-node.conllu +7 -0
- udtools-0.2.5/tests/test-cases/invalid-level1-2/misordered-feature.conllu +6 -0
- udtools-0.2.5/tests/test-cases/invalid-level1-2/misordered-layered-feature.conllu +6 -0
- udtools-0.2.5/tests/test-cases/invalid-level1-2/misordered-multiword.conllu +12 -0
- udtools-0.2.5/tests/test-cases/invalid-level1-2/misplaced-comment-end.conllu +13 -0
- udtools-0.2.5/tests/test-cases/invalid-level1-2/misplaced-comment-mid.conllu +12 -0
- udtools-0.2.5/tests/test-cases/invalid-level1-2/misplaced-range.conllu +10 -0
- udtools-0.2.5/tests/test-cases/invalid-level1-2/missing-final-line.conllu +4 -0
- udtools-0.2.5/tests/test-cases/invalid-level1-2/missing-space-after.conllu +6 -0
- udtools-0.2.5/tests/test-cases/invalid-level1-2/multiple-sent_id.conllu +24 -0
- udtools-0.2.5/tests/test-cases/invalid-level1-2/multiple_roots.conllu +5 -0
- udtools-0.2.5/tests/test-cases/invalid-level1-2/multiword-with-pos.conllu +12 -0
- udtools-0.2.5/tests/test-cases/invalid-level1-2/nan-id.conllu +10 -0
- udtools-0.2.5/tests/test-cases/invalid-level1-2/no-sent_id.conllu +22 -0
- udtools-0.2.5/tests/test-cases/invalid-level1-2/nonsequential-empty-node-id.conllu +7 -0
- udtools-0.2.5/tests/test-cases/invalid-level1-2/nonsequential-id.conllu +6 -0
- udtools-0.2.5/tests/test-cases/invalid-level1-2/out-of-bounds-range.conllu +10 -0
- udtools-0.2.5/tests/test-cases/invalid-level1-2/overlapping-multiword.conllu +12 -0
- udtools-0.2.5/tests/test-cases/invalid-level1-2/overlapping-range.conllu +12 -0
- udtools-0.2.5/tests/test-cases/invalid-level1-2/parallel-id.conllu +351 -0
- udtools-0.2.5/tests/test-cases/invalid-level1-2/seemingly-empty-line.conllu +9 -0
- udtools-0.2.5/tests/test-cases/invalid-level1-2/self-cycle-deps.conllu +6 -0
- udtools-0.2.5/tests/test-cases/invalid-level1-2/self-cycle-head.conllu +6 -0
- udtools-0.2.5/tests/test-cases/invalid-level1-2/space-in-field.conllu +5 -0
- udtools-0.2.5/tests/test-cases/invalid-level1-2/tanl-broken.conllu +24 -0
- udtools-0.2.5/tests/test-cases/invalid-level1-2/token_with_cols_filled.conllu +11 -0
- udtools-0.2.5/tests/test-cases/invalid-level1-2/trailing-tab.conllu +5 -0
- udtools-0.2.5/tests/test-cases/invalid-level1-2/unnormalized-unicode.conllu +9 -0
- udtools-0.2.5/tests/test-cases/invalid-level1-2/uppercase-deprel.conllu +6 -0
- udtools-0.2.5/tests/test-cases/invalid-level1-2/uppercase-deps-deprel.conllu +6 -0
- udtools-0.2.5/tests/test-cases/invalid-level3/nmod-obl.conllu +8 -0
- udtools-0.2.5/tests/test-cases/invalid-level3/non-proj.conllu +8 -0
- udtools-0.2.5/tests/test-cases/invalid-level3/rel-upos.conllu +275 -0
- udtools-0.2.5/tests/test-cases/invalid-level3/right-to-left.conllu +69 -0
- udtools-0.2.5/tests/test-cases/invalid-level3/too-many-objects.conllu +10 -0
- udtools-0.2.5/tests/test-cases/invalid-level3/too-many-subjects.conllu +55 -0
- udtools-0.2.5/tests/test-cases/invalid-level4-5/cs_pud-ud-test.conllu +50 -0
- udtools-0.2.5/tests/test-cases/invalid-level4-5/yrl_complin-mwt-typo-yes.conllu +30 -0
- udtools-0.2.5/tests/test-cases/test.bat +59 -0
- udtools-0.2.5/tests/test-cases/test.log +784 -0
- udtools-0.2.5/tests/test-cases/valid/empty-file.conllu +0 -0
- udtools-0.2.5/tests/test-cases/valid/empty-nodes.conllu +10 -0
- udtools-0.2.5/tests/test-cases/valid/layered-features.conllu +6 -0
- udtools-0.2.5/tests/test-cases/valid/maximal-empty-node.conllu +7 -0
- udtools-0.2.5/tests/test-cases/valid/minimal-empty-node.conllu +7 -0
- udtools-0.2.5/tests/test-cases/valid/multiple-features.conllu +6 -0
- udtools-0.2.5/tests/test-cases/valid/nmod-obl.conllu +9 -0
- udtools-0.2.5/tests/test-cases/valid/tanl.conllu +23 -0
- udtools-0.2.5/tests/test-cases/valid/whitespace.conllu +7 -0
- udtools-0.2.5/tests/test_cases.py +45 -0
- udtools-0.2.5/tests/test_checks.py +0 -0
- udtools-0.2.5/tests/test_regex.py +224 -0
- udtools-0.2.5/tests/test_utils.py +51 -0
- udtools-0.2.5/tests/test_validate.py +53 -0
- udtools-0.2.4/src/udtools.egg-info/SOURCES.txt +0 -33
- udtools-0.2.4/src/udtools.egg-info/entry_points.txt +0 -2
- {udtools-0.2.4 → udtools-0.2.5}/LICENSE.txt +0 -0
- {udtools-0.2.4 → udtools-0.2.5}/README.md +0 -0
- {udtools-0.2.4 → udtools-0.2.5}/setup.cfg +0 -0
- {udtools-0.2.4 → udtools-0.2.5}/src/udtools/argparser.py +0 -0
- {udtools-0.2.4 → udtools-0.2.5}/src/udtools/data/data.json +0 -0
- {udtools-0.2.4 → udtools-0.2.5}/src/udtools/data/deprels.json +0 -0
- {udtools-0.2.4 → udtools-0.2.5}/src/udtools/data/docdeps.json +0 -0
- {udtools-0.2.4 → udtools-0.2.5}/src/udtools/data/docfeats.json +0 -0
- {udtools-0.2.4 → udtools-0.2.5}/src/udtools/data/edeprels.json +0 -0
- {udtools-0.2.4 → udtools-0.2.5}/src/udtools/data/tospace.json +0 -0
- {udtools-0.2.4 → udtools-0.2.5}/src/udtools/data/udeprels.json +0 -0
- {udtools-0.2.4 → udtools-0.2.5}/src/udtools/data/upos.json +0 -0
- {udtools-0.2.4 → udtools-0.2.5}/src/udtools/data.py +0 -0
- {udtools-0.2.4 → udtools-0.2.5}/src/udtools/level1.py +0 -0
- {udtools-0.2.4 → udtools-0.2.5}/src/udtools/level2.py +0 -0
- {udtools-0.2.4 → udtools-0.2.5}/src/udtools/level3.py +0 -0
- {udtools-0.2.4 → udtools-0.2.5}/src/udtools/level4.py +0 -0
- {udtools-0.2.4 → udtools-0.2.5}/src/udtools/level5.py +0 -0
- {udtools-0.2.4 → udtools-0.2.5}/src/udtools/level6.py +0 -0
- {udtools-0.2.4 → udtools-0.2.5}/src/udtools/udeval.py +0 -0
- {udtools-0.2.4 → udtools-0.2.5}/src/udtools.egg-info/dependency_links.txt +0 -0
- {udtools-0.2.4 → udtools-0.2.5}/src/udtools.egg-info/requires.txt +0 -0
- {udtools-0.2.4 → udtools-0.2.5}/src/udtools.egg-info/top_level.txt +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
recursive-include tests *.*
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: udtools
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.5
|
|
4
4
|
Summary: Python tools for Universal Dependencies
|
|
5
5
|
Author: Filip Ginter, Sampo Pyysalo, Daniel Zeman, Milan Straka, Martin Popel, Gosse Bouma, John Bauer, Arianna Masciolini, Ludovica Pannitto
|
|
6
6
|
Maintainer-email: Daniel Zeman <zeman@ufal.mff.cuni.cz>
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "udtools"
|
|
7
|
-
version = "0.2.
|
|
7
|
+
version = "0.2.5"
|
|
8
8
|
authors = [
|
|
9
9
|
{ name="Filip Ginter" },
|
|
10
10
|
{ name="Sampo Pyysalo" },
|
|
@@ -37,7 +37,8 @@ Homepage = "https://universaldependencies.org/"
|
|
|
37
37
|
Issues = "https://github.com/UniversalDependencies/tools/issues"
|
|
38
38
|
|
|
39
39
|
[project.scripts]
|
|
40
|
-
udvalidate = "udtools.
|
|
40
|
+
udvalidate = "udtools.cli:main"
|
|
41
|
+
udeval = "udtools.cli:main_eval"
|
|
41
42
|
|
|
42
43
|
[tool.setuptools.packages.find]
|
|
43
44
|
where = ["src"]
|
|
@@ -5,8 +5,9 @@
|
|
|
5
5
|
# 2025-08-31: Refactoring by @AngledLuffa
|
|
6
6
|
# 2025-09: Refactoring by @harisont and @ellepannitto
|
|
7
7
|
import sys
|
|
8
|
-
from udtools.argparser import parse_args_validator
|
|
8
|
+
from udtools.argparser import parse_args_validator, parse_args_scorer
|
|
9
9
|
from udtools.validator import Validator
|
|
10
|
+
from udtools.udeval import evaluate_wrapper, build_evaluation_table
|
|
10
11
|
|
|
11
12
|
|
|
12
13
|
|
|
@@ -29,6 +30,20 @@ def main():
|
|
|
29
30
|
else:
|
|
30
31
|
return 1
|
|
31
32
|
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
def main_eval():
|
|
36
|
+
# Parse arguments
|
|
37
|
+
args = parse_args_scorer()
|
|
38
|
+
|
|
39
|
+
# Evaluate
|
|
40
|
+
evaluation = evaluate_wrapper(args)
|
|
41
|
+
results = build_evaluation_table(evaluation, args.verbose, args.counts, args.enhanced)
|
|
42
|
+
print(results)
|
|
43
|
+
return 0
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
|
|
32
47
|
if __name__=="__main__":
|
|
33
48
|
errcode = main()
|
|
34
49
|
sys.exit(errcode)
|
|
@@ -3692,7 +3692,7 @@
|
|
|
3692
3692
|
"Person": {"type": "universal", "doc": "global", "permitted": 1, "errors": [], "uvalues": ["1", "3"], "lvalues": [], "unused_uvalues": ["0", "2", "4"], "unused_lvalues": [], "evalues": [], "byupos": {"AUX": {"1": 1, "3": 1}, "NOUN": {"1": 1, "3": 1}, "PRON": {"1": 1, "3": 1}, "PROPN": {"1": 1, "3": 1}, "VERB": {"1": 1, "3": 1}}, "lastchanged": "2022-11-07-07-40-50", "lastchanger": "sarves"},
|
|
3693
3693
|
"Polarity": {"type": "universal", "doc": "global", "permitted": 1, "errors": [], "uvalues": ["Neg", "Pos"], "lvalues": [], "unused_uvalues": [], "unused_lvalues": [], "evalues": [], "byupos": {"AUX": {"Neg": 1, "Pos": 1}, "PART": {"Neg": 1, "Pos": 1}}, "lastchanged": "2022-10-27-10-46-29", "lastchanger": "sarves"},
|
|
3694
3694
|
"Poss": {"type": "universal", "doc": "global", "permitted": 1, "errors": [], "uvalues": ["Yes"], "lvalues": [], "unused_uvalues": [], "unused_lvalues": [], "evalues": [], "byupos": {"NOUN": {"Yes": 1}, "PRON": {"Yes": 1}, "PROPN": {"Yes": 1}}, "lastchanged": "2022-10-26-11-51-54", "lastchanger": "sarves"},
|
|
3695
|
-
"PronType": {"type": "universal", "doc": "global", "permitted": 1, "errors": [], "uvalues": ["Dem", "Ind", "Prs", "Rcp"], "lvalues": [], "unused_uvalues": ["
|
|
3695
|
+
"PronType": {"type": "universal", "doc": "global", "permitted": 1, "errors": [], "uvalues": ["Art", "Dem", "Ind", "Int", "Prs", "Rcp", "Rel"], "lvalues": [], "unused_uvalues": ["Emp", "Exc", "Neg", "Tot"], "unused_lvalues": [], "evalues": [], "byupos": {"DET": {"Art": 1, "Dem": 1, "Ind": 1}, "PRON": {"Dem": 1, "Ind": 1, "Int": 1, "Prs": 1, "Rcp": 1, "Rel": 1}}, "lastchanged": "2025-12-11-15-04-10", "lastchanger": "rahonalab"},
|
|
3696
3696
|
"Tense": {"type": "universal", "doc": "global", "permitted": 1, "errors": [], "uvalues": ["Fut", "Past", "Pres"], "lvalues": [], "unused_uvalues": ["Imp", "Pqp"], "unused_lvalues": [], "evalues": [], "byupos": {"AUX": {"Fut": 1, "Past": 1, "Pres": 1}, "VERB": {"Fut": 1, "Past": 1, "Pres": 1}}, "lastchanged": "2022-10-25-19-30-06", "lastchanger": "sarves"},
|
|
3697
3697
|
"Typo": {"type": "universal", "doc": "global", "permitted": 1, "errors": [], "uvalues": ["Yes"], "lvalues": [], "unused_uvalues": [], "unused_lvalues": [], "evalues": [], "byupos": {"ADJ": {"Yes": 1}, "ADP": {"Yes": 1}, "ADV": {"Yes": 1}, "AUX": {"Yes": 1}, "CCONJ": {"Yes": 1}, "DET": {"Yes": 1}, "INTJ": {"Yes": 1}, "NOUN": {"Yes": 1}, "NUM": {"Yes": 1}, "PART": {"Yes": 1}, "PRON": {"Yes": 1}, "PUNCT": {"Yes": 1}, "SCONJ": {"Yes": 1}, "SYM": {"Yes": 1}, "VERB": {"Yes": 1}}, "lastchanged": "2022-11-07-07-46-09", "lastchanger": "sarves"},
|
|
3698
3698
|
"VerbForm": {"type": "universal", "doc": "global", "permitted": 1, "errors": [], "uvalues": ["Conv", "Fin", "Ger", "Inf", "Part", "Vnoun"], "lvalues": [], "unused_uvalues": ["Gdv", "Sup"], "unused_lvalues": [], "evalues": [], "byupos": {"AUX": {"Conv": 1, "Fin": 1, "Part": 1}, "NOUN": {"Ger": 1, "Vnoun": 1}, "VERB": {"Conv": 1, "Fin": 1, "Ger": 1, "Inf": 1, "Part": 1}}, "lastchanged": "2022-11-07-08-01-30", "lastchanger": "sarves"},
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import os
|
|
2
1
|
from dataclasses import dataclass
|
|
3
2
|
from enum import Enum
|
|
4
3
|
from json import JSONEncoder
|
|
@@ -103,7 +102,7 @@ class Incident:
|
|
|
103
102
|
self.explanation = explanation
|
|
104
103
|
# File name. The default is the file from which we are reading right
|
|
105
104
|
# now ('-' if reading from STDIN).
|
|
106
|
-
self.filename =
|
|
105
|
+
self.filename = state.get_current_file_name()
|
|
107
106
|
# Line number. The default is the most recently read line as recorded
|
|
108
107
|
# in the state; but in most cases we need to get the number
|
|
109
108
|
# during instantiation, as the most recently read line is the last line
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import os
|
|
1
2
|
from collections import defaultdict
|
|
2
3
|
# Allow using this module from the root folder of tools even if it is not
|
|
3
4
|
# installed as a package: use the relative path validator/src/validator for
|
|
@@ -121,6 +122,27 @@ class State:
|
|
|
121
122
|
# Key: [eid][sentid][str(mention_span)]; value: set of node ids.
|
|
122
123
|
self.entity_mention_spans = {}
|
|
123
124
|
|
|
125
|
+
|
|
126
|
+
def get_current_file_name(self):
|
|
127
|
+
"""
|
|
128
|
+
Returns the current file name in the form suitable for Incident objects
|
|
129
|
+
and their string reports (i.e., 'STDIN' instead of '-', basename for
|
|
130
|
+
paths, 'NONE' otherwise).
|
|
131
|
+
|
|
132
|
+
Returns
|
|
133
|
+
-------
|
|
134
|
+
str
|
|
135
|
+
The modified name of the current input file.
|
|
136
|
+
"""
|
|
137
|
+
if self.current_file_name:
|
|
138
|
+
if self.current_file_name == '-':
|
|
139
|
+
return 'STDIN'
|
|
140
|
+
else:
|
|
141
|
+
return os.path.basename(self.current_file_name)
|
|
142
|
+
else:
|
|
143
|
+
return 'NONE'
|
|
144
|
+
|
|
145
|
+
|
|
124
146
|
def __str__(self):
|
|
125
147
|
# Summarize the warnings and errors.
|
|
126
148
|
result = ''
|
|
@@ -142,11 +164,13 @@ class State:
|
|
|
142
164
|
result += f'*** FAILED *** with {nerror} errors'
|
|
143
165
|
return result
|
|
144
166
|
|
|
167
|
+
|
|
145
168
|
def passed(self):
|
|
146
169
|
for k, v in self.error_counter[IncidentType.ERROR].items():
|
|
147
170
|
if v > 0:
|
|
148
171
|
return False
|
|
149
172
|
return True
|
|
150
173
|
|
|
174
|
+
|
|
151
175
|
def __bool__(self):
|
|
152
176
|
return self.passed()
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import os
|
|
2
1
|
import regex as re
|
|
3
2
|
# Allow using this module from the root folder of tools even if it is not
|
|
4
3
|
# installed as a package: use the relative path validator/src/validator for
|
|
@@ -394,5 +393,4 @@ def create_references(nodes, state, comment=''):
|
|
|
394
393
|
-------
|
|
395
394
|
references : list(udtools.incident.Reference)
|
|
396
395
|
"""
|
|
397
|
-
|
|
398
|
-
return [Reference(nodeid=str(x.ord), sentid=state.sentence_id, filename=filename, lineno=state.current_node_linenos[str(x.ord)], comment=comment) for x in nodes]
|
|
396
|
+
return [Reference(nodeid=str(x.ord), sentid=state.sentence_id, filename=state.get_current_file_name(), lineno=state.current_node_linenos[str(x.ord)], comment=comment) for x in nodes]
|
|
@@ -199,7 +199,7 @@ class Validator(Level6):
|
|
|
199
199
|
The resulting state of the validation. May contain the overview
|
|
200
200
|
of all encountered incidents (errors or warnings) if requested.
|
|
201
201
|
"""
|
|
202
|
-
if
|
|
202
|
+
if state == None:
|
|
203
203
|
state = State()
|
|
204
204
|
for lines in utils.next_sentence(state, inp):
|
|
205
205
|
self.validate_sentence(lines, state)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: udtools
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.5
|
|
4
4
|
Summary: Python tools for Universal Dependencies
|
|
5
5
|
Author: Filip Ginter, Sampo Pyysalo, Daniel Zeman, Milan Straka, Martin Popel, Gosse Bouma, John Bauer, Arianna Masciolini, Ludovica Pannitto
|
|
6
6
|
Maintainer-email: Daniel Zeman <zeman@ufal.mff.cuni.cz>
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
LICENSE.txt
|
|
2
|
+
MANIFEST.in
|
|
3
|
+
README.md
|
|
4
|
+
pyproject.toml
|
|
5
|
+
src/udtools/__init__.py
|
|
6
|
+
src/udtools/argparser.py
|
|
7
|
+
src/udtools/cli.py
|
|
8
|
+
src/udtools/data.py
|
|
9
|
+
src/udtools/incident.py
|
|
10
|
+
src/udtools/level1.py
|
|
11
|
+
src/udtools/level2.py
|
|
12
|
+
src/udtools/level3.py
|
|
13
|
+
src/udtools/level4.py
|
|
14
|
+
src/udtools/level5.py
|
|
15
|
+
src/udtools/level6.py
|
|
16
|
+
src/udtools/state.py
|
|
17
|
+
src/udtools/udeval.py
|
|
18
|
+
src/udtools/utils.py
|
|
19
|
+
src/udtools/validator.py
|
|
20
|
+
src/udtools.egg-info/PKG-INFO
|
|
21
|
+
src/udtools.egg-info/SOURCES.txt
|
|
22
|
+
src/udtools.egg-info/dependency_links.txt
|
|
23
|
+
src/udtools.egg-info/entry_points.txt
|
|
24
|
+
src/udtools.egg-info/requires.txt
|
|
25
|
+
src/udtools.egg-info/top_level.txt
|
|
26
|
+
src/udtools/data/data.json
|
|
27
|
+
src/udtools/data/deprels.json
|
|
28
|
+
src/udtools/data/docdeps.json
|
|
29
|
+
src/udtools/data/docfeats.json
|
|
30
|
+
src/udtools/data/edeprels.json
|
|
31
|
+
src/udtools/data/feats.json
|
|
32
|
+
src/udtools/data/tospace.json
|
|
33
|
+
src/udtools/data/udeprels.json
|
|
34
|
+
src/udtools/data/upos.json
|
|
35
|
+
tests/test_cases.py
|
|
36
|
+
tests/test_checks.py
|
|
37
|
+
tests/test_regex.py
|
|
38
|
+
tests/test_utils.py
|
|
39
|
+
tests/test_validate.py
|
|
40
|
+
tests/test-cases/README.md
|
|
41
|
+
tests/test-cases/test.bat
|
|
42
|
+
tests/test-cases/test.log
|
|
43
|
+
tests/test-cases/eval/cs_pud-gold.conllu
|
|
44
|
+
tests/test-cases/eval/cs_pud-plain.txt
|
|
45
|
+
tests/test-cases/eval/cs_pud-udpipe-pdtc-ud-2.17-251125.conllu
|
|
46
|
+
tests/test-cases/eval/eval.txt
|
|
47
|
+
tests/test-cases/invalid-functions/columns-format-minimal.conllu
|
|
48
|
+
tests/test-cases/invalid-functions/columns-format.conllu
|
|
49
|
+
tests/test-cases/invalid-functions/extra-empty-line.conllu
|
|
50
|
+
tests/test-cases/invalid-functions/invalid-line.conllu
|
|
51
|
+
tests/test-cases/invalid-functions/invalid-word-id.conllu
|
|
52
|
+
tests/test-cases/invalid-functions/invalid-word-interval.conllu
|
|
53
|
+
tests/test-cases/invalid-functions/misplaced-comment.conllu
|
|
54
|
+
tests/test-cases/invalid-functions/misplaced-empty-node-2.conllu
|
|
55
|
+
tests/test-cases/invalid-functions/misplaced-empty-node.conllu
|
|
56
|
+
tests/test-cases/invalid-functions/misplaced-word-interval.conllu
|
|
57
|
+
tests/test-cases/invalid-functions/multiple-sent-id.conllu
|
|
58
|
+
tests/test-cases/invalid-functions/mwt-nonempty-2.conllu
|
|
59
|
+
tests/test-cases/invalid-functions/mwt-nonempty-field.conllu
|
|
60
|
+
tests/test-cases/invalid-functions/non-unix-newline.conllu
|
|
61
|
+
tests/test-cases/invalid-functions/overlapping-word-interval.conllu
|
|
62
|
+
tests/test-cases/invalid-functions/pseudo-empty-line.conllu
|
|
63
|
+
tests/test-cases/invalid-functions/reversed-word-interval.conllu
|
|
64
|
+
tests/test-cases/invalid-functions/unicode-normalization.conllu
|
|
65
|
+
tests/test-cases/invalid-functions/word-id-sequence-2.conllu
|
|
66
|
+
tests/test-cases/invalid-functions/word-id-sequence.conllu
|
|
67
|
+
tests/test-cases/invalid-level1-2/ambiguous-feature.conllu
|
|
68
|
+
tests/test-cases/invalid-level1-2/cyclic-deps.conllu
|
|
69
|
+
tests/test-cases/invalid-level1-2/deprel-not-empty-in-empty.conllu
|
|
70
|
+
tests/test-cases/invalid-level1-2/dos-newlines.conllu
|
|
71
|
+
tests/test-cases/invalid-level1-2/duplicate-feature.conllu
|
|
72
|
+
tests/test-cases/invalid-level1-2/duplicate-id.conllu
|
|
73
|
+
tests/test-cases/invalid-level1-2/duplicate-layered-feature.conllu
|
|
74
|
+
tests/test-cases/invalid-level1-2/duplicate-value.conllu
|
|
75
|
+
tests/test-cases/invalid-level1-2/empty-field.conllu
|
|
76
|
+
tests/test-cases/invalid-level1-2/empty-head.conllu
|
|
77
|
+
tests/test-cases/invalid-level1-2/empty-sentence.conllu
|
|
78
|
+
tests/test-cases/invalid-level1-2/extra-empty-line.conllu
|
|
79
|
+
tests/test-cases/invalid-level1-2/extra-field.conllu
|
|
80
|
+
tests/test-cases/invalid-level1-2/head-0-deprel-not-root.conllu
|
|
81
|
+
tests/test-cases/invalid-level1-2/head-not-0-deprel-root.conllu
|
|
82
|
+
tests/test-cases/invalid-level1-2/head-not-empty-in-empty.conllu
|
|
83
|
+
tests/test-cases/invalid-level1-2/id-starting-from-2.conllu
|
|
84
|
+
tests/test-cases/invalid-level1-2/id-with-extra-0.conllu
|
|
85
|
+
tests/test-cases/invalid-level1-2/invalid-deps-id.conllu
|
|
86
|
+
tests/test-cases/invalid-level1-2/invalid-deps-order.conllu
|
|
87
|
+
tests/test-cases/invalid-level1-2/invalid-deps-syntax.conllu
|
|
88
|
+
tests/test-cases/invalid-level1-2/invalid-head.conllu
|
|
89
|
+
tests/test-cases/invalid-level1-2/invalid-range-format.conllu
|
|
90
|
+
tests/test-cases/invalid-level1-2/invalid-range.conllu
|
|
91
|
+
tests/test-cases/invalid-level1-2/lowercase-feature-in-empty.conllu
|
|
92
|
+
tests/test-cases/invalid-level1-2/lowercase-feature-value-in-empty.conllu
|
|
93
|
+
tests/test-cases/invalid-level1-2/lowercase-feature.conllu
|
|
94
|
+
tests/test-cases/invalid-level1-2/lowercase-postag-in-empty.conllu
|
|
95
|
+
tests/test-cases/invalid-level1-2/lowercase-postag.conllu
|
|
96
|
+
tests/test-cases/invalid-level1-2/lowercase-value.conllu
|
|
97
|
+
tests/test-cases/invalid-level1-2/malformed_deps.conllu
|
|
98
|
+
tests/test-cases/invalid-level1-2/misindexed-empty-node.conllu
|
|
99
|
+
tests/test-cases/invalid-level1-2/misordered-feature.conllu
|
|
100
|
+
tests/test-cases/invalid-level1-2/misordered-layered-feature.conllu
|
|
101
|
+
tests/test-cases/invalid-level1-2/misordered-multiword.conllu
|
|
102
|
+
tests/test-cases/invalid-level1-2/misplaced-comment-end.conllu
|
|
103
|
+
tests/test-cases/invalid-level1-2/misplaced-comment-mid.conllu
|
|
104
|
+
tests/test-cases/invalid-level1-2/misplaced-range.conllu
|
|
105
|
+
tests/test-cases/invalid-level1-2/missing-final-line.conllu
|
|
106
|
+
tests/test-cases/invalid-level1-2/missing-space-after.conllu
|
|
107
|
+
tests/test-cases/invalid-level1-2/multiple-sent_id.conllu
|
|
108
|
+
tests/test-cases/invalid-level1-2/multiple_roots.conllu
|
|
109
|
+
tests/test-cases/invalid-level1-2/multiword-with-pos.conllu
|
|
110
|
+
tests/test-cases/invalid-level1-2/nan-id.conllu
|
|
111
|
+
tests/test-cases/invalid-level1-2/no-sent_id.conllu
|
|
112
|
+
tests/test-cases/invalid-level1-2/nonsequential-empty-node-id.conllu
|
|
113
|
+
tests/test-cases/invalid-level1-2/nonsequential-id.conllu
|
|
114
|
+
tests/test-cases/invalid-level1-2/out-of-bounds-range.conllu
|
|
115
|
+
tests/test-cases/invalid-level1-2/overlapping-multiword.conllu
|
|
116
|
+
tests/test-cases/invalid-level1-2/overlapping-range.conllu
|
|
117
|
+
tests/test-cases/invalid-level1-2/parallel-id.conllu
|
|
118
|
+
tests/test-cases/invalid-level1-2/seemingly-empty-line.conllu
|
|
119
|
+
tests/test-cases/invalid-level1-2/self-cycle-deps.conllu
|
|
120
|
+
tests/test-cases/invalid-level1-2/self-cycle-head.conllu
|
|
121
|
+
tests/test-cases/invalid-level1-2/space-in-field.conllu
|
|
122
|
+
tests/test-cases/invalid-level1-2/tanl-broken.conllu
|
|
123
|
+
tests/test-cases/invalid-level1-2/token_with_cols_filled.conllu
|
|
124
|
+
tests/test-cases/invalid-level1-2/trailing-tab.conllu
|
|
125
|
+
tests/test-cases/invalid-level1-2/unnormalized-unicode.conllu
|
|
126
|
+
tests/test-cases/invalid-level1-2/uppercase-deprel.conllu
|
|
127
|
+
tests/test-cases/invalid-level1-2/uppercase-deps-deprel.conllu
|
|
128
|
+
tests/test-cases/invalid-level3/nmod-obl.conllu
|
|
129
|
+
tests/test-cases/invalid-level3/non-proj.conllu
|
|
130
|
+
tests/test-cases/invalid-level3/rel-upos.conllu
|
|
131
|
+
tests/test-cases/invalid-level3/right-to-left.conllu
|
|
132
|
+
tests/test-cases/invalid-level3/too-many-objects.conllu
|
|
133
|
+
tests/test-cases/invalid-level3/too-many-subjects.conllu
|
|
134
|
+
tests/test-cases/invalid-level4-5/cs_pud-ud-test.conllu
|
|
135
|
+
tests/test-cases/invalid-level4-5/yrl_complin-mwt-typo-yes.conllu
|
|
136
|
+
tests/test-cases/valid/empty-file.conllu
|
|
137
|
+
tests/test-cases/valid/empty-nodes.conllu
|
|
138
|
+
tests/test-cases/valid/layered-features.conllu
|
|
139
|
+
tests/test-cases/valid/maximal-empty-node.conllu
|
|
140
|
+
tests/test-cases/valid/minimal-empty-node.conllu
|
|
141
|
+
tests/test-cases/valid/multiple-features.conllu
|
|
142
|
+
tests/test-cases/valid/nmod-obl.conllu
|
|
143
|
+
tests/test-cases/valid/tanl.conllu
|
|
144
|
+
tests/test-cases/valid/whitespace.conllu
|