From 8d0fd6c911cb3cb740e4ad271e569bf42fab756c Mon Sep 17 00:00:00 2001 From: Mateusz Klimaszewski <mk.klimaszewski@gmail.com> Date: Mon, 11 Jan 2021 09:04:08 +0100 Subject: [PATCH] Add configuration files to packaged library and pip installation instructions. --- Makefile | 2 +- README.md | 5 ++--- .../config.graph.template.jsonnet | 0 config.template.jsonnet => combo/config.template.jsonnet | 0 combo/data/dataset.py | 5 ++++- combo/main.py | 5 +++-- docs/installation.md | 9 ++++----- setup.py | 3 ++- tests/test_main.py | 2 +- 9 files changed, 17 insertions(+), 14 deletions(-) rename config.graph.template.jsonnet => combo/config.graph.template.jsonnet (100%) rename config.template.jsonnet => combo/config.template.jsonnet (100%) diff --git a/Makefile b/Makefile index df0c483..af1b424 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 a9c2113..d48aa40 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 48b68b1..9aabe19 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 dc9a0d7..d1e0292 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 bf741f9..ed2ae3f 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 07cd2e3..d946c84 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 448e64d..107f681 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 -- GitLab