diff --git a/Makefile b/Makefile index df0c4836a738746e334ca86483674a5049cb7a5d..af1b424d30f57dc8fb407c6434cfedd8b284a015 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,5 @@ clean: - rm -rf COMBO.egg-info + rm -rf combo.egg-info rm -rf .eggs rm -rf .pytest_cache diff --git a/README.md b/README.md index a9c21135005d9abf50f2234bedca817b7d180327..d48aa40c9b6e5cb9b43173c49eb5cf30f5402b1f 100644 --- a/README.md +++ b/README.md @@ -12,9 +12,8 @@ ## Quick start Clone this repository and install COMBO (we suggest creating a virtualenv/conda environment with Python 3.6+, as a bundle of required packages will be installed): ```bash -git clone https://gitlab.clarin-pl.eu/syntactic-tools/clarinbiz/combo.git -cd combo -python setup.py develop +pip install -U pip setuptools wheel +pip install --index-url https://pypi.clarin-pl.eu/simple combo ``` Run the following commands in your Python console to make predictions with a pre-trained model: ```python diff --git a/config.graph.template.jsonnet b/combo/config.graph.template.jsonnet similarity index 100% rename from config.graph.template.jsonnet rename to combo/config.graph.template.jsonnet diff --git a/config.template.jsonnet b/combo/config.template.jsonnet similarity index 100% rename from config.template.jsonnet rename to combo/config.template.jsonnet diff --git a/combo/data/dataset.py b/combo/data/dataset.py index 48b68b14e592dc6f98e3f62e8b5c3bd23899cb4c..9aabe1912896b8990bacea6d36699a5f3a4839f6 100644 --- a/combo/data/dataset.py +++ b/combo/data/dataset.py @@ -1,5 +1,6 @@ import copy import logging +import pathlib from typing import Union, List, Dict, Iterable, Optional, Any, Tuple import conllu @@ -79,7 +80,9 @@ class UniversalDependenciesDatasetReader(allen_data.DatasetReader): file_path = [file_path] if len(file_path.split(",")) == 0 else file_path.split(",") for conllu_file in file_path: - with open(conllu_file, "r") as file: + file = pathlib.Path(conllu_file) + assert conllu_file and file.exists(), f"File with path '{conllu_file}' does not exists!" + with file.open("r"): for annotation in conllu.parse_incr(file, fields=self.fields, field_parsers=self.field_parsers): yield self.text_to_instance(annotation) diff --git a/combo/main.py b/combo/main.py index dc9a0d702984febe10f93eae1548b5d19046797b..d1e02926971a541b1d01f7f44b59f82ce067eef9 100644 --- a/combo/main.py +++ b/combo/main.py @@ -1,6 +1,7 @@ """Main entry point.""" import logging import os +import pathlib import tempfile from typing import Dict @@ -31,7 +32,7 @@ flags.DEFINE_string(name="output_file", default="output.log", help="Predictions result file.") # Training flags -flags.DEFINE_list(name="training_data_path", default="./tests/fixtures/example.conllu", +flags.DEFINE_list(name="training_data_path", default=[], help="Training data path(s)") flags.DEFINE_alias(name="training_data", original_name="training_data_path") flags.DEFINE_list(name="validation_data_path", default="", @@ -62,7 +63,7 @@ flags.DEFINE_list(name="finetuning_training_data_path", default="", help="Training data path(s)") flags.DEFINE_list(name="finetuning_validation_data_path", default="", help="Validation data path(s)") -flags.DEFINE_string(name="config_path", default="config.template.jsonnet", +flags.DEFINE_string(name="config_path", default=str(pathlib.Path(__file__).parent / "config.template.jsonnet"), help="Config file path.") # Test after training flags diff --git a/docs/installation.md b/docs/installation.md index bf741f9c9c0a1030814e772c166e824b99114213..ed2ae3f5b8a4ee2fc0a82991b7577a1e3a512ce6 100644 --- a/docs/installation.md +++ b/docs/installation.md @@ -1,9 +1,8 @@ # Installation Clone this repository and install COMBO (we suggest using virtualenv/conda with Python 3.6+): ```bash -git clone https://gitlab.clarin-pl.eu/syntactic-tools/clarinbiz/combo.git -cd combo -python setup.py develop +pip install -U pip setuptools wheel +pip install --index-url https://pypi.clarin-pl.eu/simple combo combo --helpfull ``` @@ -11,8 +10,8 @@ combo --helpfull ```bash python -m venv venv source venv/bin/activate -pip install --upgrade pip -python setup.py develop +pip install -U pip setuptools wheel +pip install --index-url https://pypi.clarin-pl.eu/simple combo ``` ## Problems & solutions diff --git a/setup.py b/setup.py index 07cd2e37ec5187aa0c9819a6f50656c3ff534d3d..d946c8415fe8c218712fb8384f9b3b89bf9b6ee2 100644 --- a/setup.py +++ b/setup.py @@ -19,7 +19,7 @@ REQUIREMENTS = [ ] setup( - name='COMBO', + name='combo', version='1.0.0b1', author='Mateusz Klimaszewski', author_email='M.Klimaszewski@ii.pw.edu.pl', @@ -31,6 +31,7 @@ setup( setup_requires=['pytest-runner', 'pytest-pylint'], tests_require=['pytest', 'pylint'], python_requires='>=3.6', + package_data={'combo': ['config.graph.template.jsonnet', 'config.template.jsonnet']}, entry_points={'console_scripts': ['combo = combo.main:main']}, classifiers=[ 'Development Status :: 4 - Beta', diff --git a/tests/test_main.py b/tests/test_main.py index 448e64de4791a659fe53a494104b5fe4ac35fc75..107f68126c4460998b2eea473d7eb15b6746e402 100644 --- a/tests/test_main.py +++ b/tests/test_main.py @@ -41,7 +41,7 @@ class TrainingEndToEndTest(unittest.TestCase): "word_batch_size": "1", "use_tensorboard": "False" } - params = Params.from_file(os.path.join(self.PROJECT_ROOT, "config.template.jsonnet"), + params = Params.from_file(os.path.join(self.MODULE_ROOT, "config.template.jsonnet"), ext_vars=ext_vars) # when