From fa959332cbb4e06f8a8dfe45e512c49d32707407 Mon Sep 17 00:00:00 2001 From: Julius Unverfehrt Date: Thu, 8 Feb 2024 15:02:30 +0100 Subject: [PATCH] chore(build): fix broken build logic Standardizes project structure so the dockerbuild works --- Dockerfile | 12 ++++++------ pyproject.toml | 2 +- scripts/annotate_pdf.py | 9 +++------ {cv_analysis => src/cv_analysis}/__init__.py | 0 {cv_analysis => src/cv_analysis}/config.py | 2 +- .../cv_analysis}/figure_detection/__init__.py | 0 .../figure_detection/figure_detection.py | 0 .../cv_analysis}/figure_detection/figures.py | 0 .../cv_analysis}/figure_detection/text.py | 0 {cv_analysis => src/cv_analysis}/layout_parsing.py | 0 {cv_analysis => src/cv_analysis}/locations.py | 0 .../cv_analysis}/redaction_detection.py | 0 {cv_analysis => src/cv_analysis}/server/__init__.py | 0 {cv_analysis => src/cv_analysis}/server/pipeline.py | 0 {cv_analysis => src/cv_analysis}/table_parsing.py | 0 {cv_analysis => src/cv_analysis}/utils/__init__.py | 0 {cv_analysis => src/cv_analysis}/utils/banner.py | 0 .../cv_analysis}/utils/connect_rects.py | 0 {cv_analysis => src/cv_analysis}/utils/display.py | 0 {cv_analysis => src/cv_analysis}/utils/draw.py | 0 {cv_analysis => src/cv_analysis}/utils/filters.py | 0 {cv_analysis => src/cv_analysis}/utils/open_pdf.py | 0 .../cv_analysis}/utils/postprocessing.py | 0 .../cv_analysis}/utils/preprocessing.py | 0 {cv_analysis => src/cv_analysis}/utils/structures.py | 0 .../cv_analysis}/utils/test_metrics.py | 0 {cv_analysis => src/cv_analysis}/utils/utils.py | 0 .../cv_analysis}/utils/visual_logging.py | 0 src/serve.py | 1 - 29 files changed, 11 insertions(+), 15 deletions(-) rename {cv_analysis => src/cv_analysis}/__init__.py (100%) rename {cv_analysis => src/cv_analysis}/config.py (80%) rename {cv_analysis => src/cv_analysis}/figure_detection/__init__.py (100%) rename {cv_analysis => src/cv_analysis}/figure_detection/figure_detection.py (100%) rename {cv_analysis => src/cv_analysis}/figure_detection/figures.py (100%) rename {cv_analysis => src/cv_analysis}/figure_detection/text.py (100%) rename {cv_analysis => src/cv_analysis}/layout_parsing.py (100%) rename {cv_analysis => src/cv_analysis}/locations.py (100%) rename {cv_analysis => src/cv_analysis}/redaction_detection.py (100%) rename {cv_analysis => src/cv_analysis}/server/__init__.py (100%) rename {cv_analysis => src/cv_analysis}/server/pipeline.py (100%) rename {cv_analysis => src/cv_analysis}/table_parsing.py (100%) rename {cv_analysis => src/cv_analysis}/utils/__init__.py (100%) rename {cv_analysis => src/cv_analysis}/utils/banner.py (100%) rename {cv_analysis => src/cv_analysis}/utils/connect_rects.py (100%) rename {cv_analysis => src/cv_analysis}/utils/display.py (100%) rename {cv_analysis => src/cv_analysis}/utils/draw.py (100%) rename {cv_analysis => src/cv_analysis}/utils/filters.py (100%) rename {cv_analysis => src/cv_analysis}/utils/open_pdf.py (100%) rename {cv_analysis => src/cv_analysis}/utils/postprocessing.py (100%) rename {cv_analysis => src/cv_analysis}/utils/preprocessing.py (100%) rename {cv_analysis => src/cv_analysis}/utils/structures.py (100%) rename {cv_analysis => src/cv_analysis}/utils/test_metrics.py (100%) rename {cv_analysis => src/cv_analysis}/utils/utils.py (100%) rename {cv_analysis => src/cv_analysis}/utils/visual_logging.py (100%) diff --git a/Dockerfile b/Dockerfile index afff95c..70ad3f6 100644 --- a/Dockerfile +++ b/Dockerfile @@ -19,10 +19,10 @@ ENV PATH="$POETRY_HOME/bin:$PATH" RUN curl -sSL https://install.python-poetry.org | python3 - -COPY ./data ./data -COPY ./cv_analysis ./cv_analysis -COPY ./scripts ./scripts -COPY pyproject.toml poetry.lock ./src ./ +COPY ./src ./src +COPY ./config ./config +COPY pyproject.toml poetry.lock ./ + RUN ls -hal RUN echo "${USERNAME} ${TOKEN} ${PYPI_REGISTRY_RED} ${POETRY_SOURCE_REF_RED} " @@ -33,9 +33,9 @@ RUN poetry config virtualenvs.create false && \ poetry config http-basic.${POETRY_SOURCE_REF_RESEARCH} ${USERNAME} ${TOKEN} && \ poetry config repositories.${POETRY_SOURCE_REF_RED} ${PYPI_REGISTRY_RED} && \ poetry config http-basic.${POETRY_SOURCE_REF_RED} ${USERNAME} ${TOKEN} && \ - poetry install --without=test -vv --no-interaction --no-root + poetry install --without=test -vv --no-interaction EXPOSE 5000 EXPOSE 8080 -CMD [ "python", "serve.py"] +CMD [ "python", "src/serve.py"] diff --git a/pyproject.toml b/pyproject.toml index 1fca6d1..658af61 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ version = "2.0.0" description = "" authors = [] readme = "README.md" -packages = [{ include = "cv_analysis" }] +packages = [{ include = "cv_analysis", from = "src" }] [tool.poetry.dependencies] python = ">=3.10,<3.11" diff --git a/scripts/annotate_pdf.py b/scripts/annotate_pdf.py index e65f0a1..ea6ddf0 100644 --- a/scripts/annotate_pdf.py +++ b/scripts/annotate_pdf.py @@ -1,16 +1,13 @@ import argparse import timeit -from time import process_time -from itertools import starmap -from pathlib import Path - from PIL import Image -from funcy import lmap - from cv_analysis.figure_detection.figure_detection import detect_figures from cv_analysis.layout_parsing import parse_layout from cv_analysis.table_parsing import parse_tables from cv_analysis.utils.draw import draw_rectangles +from funcy import lmap +from itertools import starmap +from pathlib import Path from pdf2img.conversion import convert_pages_to_images diff --git a/cv_analysis/__init__.py b/src/cv_analysis/__init__.py similarity index 100% rename from cv_analysis/__init__.py rename to src/cv_analysis/__init__.py diff --git a/cv_analysis/config.py b/src/cv_analysis/config.py similarity index 80% rename from cv_analysis/config.py rename to src/cv_analysis/config.py index 48505f7..92532f7 100644 --- a/cv_analysis/config.py +++ b/src/cv_analysis/config.py @@ -4,6 +4,6 @@ from pyinfra.config.loader import load_settings def get_config(): - local_root_path = Path(__file__).parents[1] + local_root_path = Path(__file__).parents[2] settings = load_settings(root_path=local_root_path, settings_path="config") return settings diff --git a/cv_analysis/figure_detection/__init__.py b/src/cv_analysis/figure_detection/__init__.py similarity index 100% rename from cv_analysis/figure_detection/__init__.py rename to src/cv_analysis/figure_detection/__init__.py diff --git a/cv_analysis/figure_detection/figure_detection.py b/src/cv_analysis/figure_detection/figure_detection.py similarity index 100% rename from cv_analysis/figure_detection/figure_detection.py rename to src/cv_analysis/figure_detection/figure_detection.py diff --git a/cv_analysis/figure_detection/figures.py b/src/cv_analysis/figure_detection/figures.py similarity index 100% rename from cv_analysis/figure_detection/figures.py rename to src/cv_analysis/figure_detection/figures.py diff --git a/cv_analysis/figure_detection/text.py b/src/cv_analysis/figure_detection/text.py similarity index 100% rename from cv_analysis/figure_detection/text.py rename to src/cv_analysis/figure_detection/text.py diff --git a/cv_analysis/layout_parsing.py b/src/cv_analysis/layout_parsing.py similarity index 100% rename from cv_analysis/layout_parsing.py rename to src/cv_analysis/layout_parsing.py diff --git a/cv_analysis/locations.py b/src/cv_analysis/locations.py similarity index 100% rename from cv_analysis/locations.py rename to src/cv_analysis/locations.py diff --git a/cv_analysis/redaction_detection.py b/src/cv_analysis/redaction_detection.py similarity index 100% rename from cv_analysis/redaction_detection.py rename to src/cv_analysis/redaction_detection.py diff --git a/cv_analysis/server/__init__.py b/src/cv_analysis/server/__init__.py similarity index 100% rename from cv_analysis/server/__init__.py rename to src/cv_analysis/server/__init__.py diff --git a/cv_analysis/server/pipeline.py b/src/cv_analysis/server/pipeline.py similarity index 100% rename from cv_analysis/server/pipeline.py rename to src/cv_analysis/server/pipeline.py diff --git a/cv_analysis/table_parsing.py b/src/cv_analysis/table_parsing.py similarity index 100% rename from cv_analysis/table_parsing.py rename to src/cv_analysis/table_parsing.py diff --git a/cv_analysis/utils/__init__.py b/src/cv_analysis/utils/__init__.py similarity index 100% rename from cv_analysis/utils/__init__.py rename to src/cv_analysis/utils/__init__.py diff --git a/cv_analysis/utils/banner.py b/src/cv_analysis/utils/banner.py similarity index 100% rename from cv_analysis/utils/banner.py rename to src/cv_analysis/utils/banner.py diff --git a/cv_analysis/utils/connect_rects.py b/src/cv_analysis/utils/connect_rects.py similarity index 100% rename from cv_analysis/utils/connect_rects.py rename to src/cv_analysis/utils/connect_rects.py diff --git a/cv_analysis/utils/display.py b/src/cv_analysis/utils/display.py similarity index 100% rename from cv_analysis/utils/display.py rename to src/cv_analysis/utils/display.py diff --git a/cv_analysis/utils/draw.py b/src/cv_analysis/utils/draw.py similarity index 100% rename from cv_analysis/utils/draw.py rename to src/cv_analysis/utils/draw.py diff --git a/cv_analysis/utils/filters.py b/src/cv_analysis/utils/filters.py similarity index 100% rename from cv_analysis/utils/filters.py rename to src/cv_analysis/utils/filters.py diff --git a/cv_analysis/utils/open_pdf.py b/src/cv_analysis/utils/open_pdf.py similarity index 100% rename from cv_analysis/utils/open_pdf.py rename to src/cv_analysis/utils/open_pdf.py diff --git a/cv_analysis/utils/postprocessing.py b/src/cv_analysis/utils/postprocessing.py similarity index 100% rename from cv_analysis/utils/postprocessing.py rename to src/cv_analysis/utils/postprocessing.py diff --git a/cv_analysis/utils/preprocessing.py b/src/cv_analysis/utils/preprocessing.py similarity index 100% rename from cv_analysis/utils/preprocessing.py rename to src/cv_analysis/utils/preprocessing.py diff --git a/cv_analysis/utils/structures.py b/src/cv_analysis/utils/structures.py similarity index 100% rename from cv_analysis/utils/structures.py rename to src/cv_analysis/utils/structures.py diff --git a/cv_analysis/utils/test_metrics.py b/src/cv_analysis/utils/test_metrics.py similarity index 100% rename from cv_analysis/utils/test_metrics.py rename to src/cv_analysis/utils/test_metrics.py diff --git a/cv_analysis/utils/utils.py b/src/cv_analysis/utils/utils.py similarity index 100% rename from cv_analysis/utils/utils.py rename to src/cv_analysis/utils/utils.py diff --git a/cv_analysis/utils/visual_logging.py b/src/cv_analysis/utils/visual_logging.py similarity index 100% rename from cv_analysis/utils/visual_logging.py rename to src/cv_analysis/utils/visual_logging.py diff --git a/src/serve.py b/src/serve.py index 097f54b..028f23a 100644 --- a/src/serve.py +++ b/src/serve.py @@ -1,6 +1,5 @@ from sys import stdout -import IPython from kn_utils.logging import logger from pyinfra.examples import start_standard_queue_consumer from pyinfra.queue.callback import make_download_process_upload_callback