diff --git a/ocrd-tool.json b/ocrd-tool.json index 318676b..8551644 120000 --- a/ocrd-tool.json +++ b/ocrd-tool.json @@ -1 +1 @@ -qurator/tsvtools/ocrd-tool.json \ No newline at end of file +src/qurator/tsvtools/ocrd-tool.json \ No newline at end of file diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..c9a4cd5 --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,41 @@ +[build-system] +requires = ["setuptools>=61.0.0", "wheel"] + +[project] +name = "qurator_tsvtools" +authors = [ + {name = "Kai Labusch", email = "Kai.Labusch@sbb.spk-berlin.de"}, +] +description = "Working with QURATOR TSV, especially for neat" +readme = "README.md" +license = {text = "Apache License 2.0"} +requires-python = ">=3.6" +keywords = ["qurator"] + +dynamic = ["version", "dependencies"] + +# https://pypi.org/classifiers/ +classifiers = [ + 'Intended Audience :: Science/Research', + 'License :: OSI Approved :: Apache Software License', + 'Programming Language :: Python :: 3', + 'Topic :: Scientific/Engineering :: Artificial Intelligence', +] + +[project.scripts] +extract-doc-links = "qurator.tsvtools.cli:extract_document_links" +annotate-tsv = "qurator.tsvtools.cli:annotate_tsv" +ocrd-neat-export = "qurator.tsvtools.ocrd_cli:export_cli" +ocrd-neat-import = "qurator.tsvtools.ocrd_cli:import_cli" +page2tsv = "qurator.tsvtools.cli:page2tsv_cli" +tsv2page = "qurator.tsvtools.cli:tsv2page_cli" +alto2tsv = "qurator.tsvtools.cli:alto2tsv_cli" +tsv2tsv = "qurator.tsvtools.cli:tsv2tsv" +make-page2tsv-commands = "qurator.tsvtools.cli:make_page2tsv_commands" + +[project.urls] +Homepage = "https://github.com/qurator-spk/page2tsv" +Repository = "https://github.com/qurator-spk/page2tsv.git" + +[tool.setuptools.dynamic] +dependencies = {file = ["requirements.txt"]} diff --git a/qurator/__init__.py b/qurator/__init__.py deleted file mode 100644 index 8d17c21..0000000 --- a/qurator/__init__.py +++ /dev/null @@ -1,2 +0,0 @@ -__import__('pkg_resources').declare_namespace(__name__) - diff --git a/setup.py b/setup.py deleted file mode 100644 index 9c55e3b..0000000 --- a/setup.py +++ /dev/null @@ -1,49 +0,0 @@ -from io import open -from json import load -from setuptools import find_packages, setup - -with open('requirements.txt') as fp: - install_requires = fp.read() -with open('ocrd-tool.json') as fj: - version = load(fj)['version'] - -setup( - name="qurator_tsvtools", - version=version, - author="Kai Labusch", - author_email="qurator@sbb.spk-berlin.de", - description="Working with QURATOR TSV, especially for neat", - long_description=open("README.md", "r", encoding='utf-8').read(), - long_description_content_type="text/markdown", - keywords='qurator', - license='Apache License 2.0', - url="https://github.com/qurator-spk/neath", - packages=find_packages(exclude=["*.tests", "*.tests.*", - "tests.*", "tests"]), - install_requires=install_requires, - namespace_packages=['qurator'], - package_data={ - '': ['*.json'] - }, - entry_points={ - 'console_scripts': [ - "extract-doc-links=qurator.tsvtools.cli:extract_document_links", - "annotate-tsv=qurator.tsvtools.cli:annotate_tsv", - "ocrd-neat-export=qurator.tsvtools.ocrd_cli:export_cli", - "ocrd-neat-import=qurator.tsvtools.ocrd_cli:import_cli", - "page2tsv=qurator.tsvtools.cli:page2tsv_cli", - "tsv2page=qurator.tsvtools.cli:tsv2page_cli", - "alto2tsv=qurator.tsvtools.cli:alto2tsv_cli", - "tsv2tsv=qurator.tsvtools.cli:tsv2tsv", - "make-page2tsv-commands=qurator.tsvtools.cli:make_page2tsv_commands" - ] - }, - python_requires='>=3.6.0', - tests_require=['pytest'], - classifiers=[ - 'Intended Audience :: Science/Research', - 'License :: OSI Approved :: Apache Software License', - 'Programming Language :: Python :: 3', - 'Topic :: Scientific/Engineering :: Artificial Intelligence', - ], -) diff --git a/qurator/tsvtools/__init__.py b/src/qurator/tsvtools/__init__.py similarity index 100% rename from qurator/tsvtools/__init__.py rename to src/qurator/tsvtools/__init__.py diff --git a/qurator/tsvtools/cli.py b/src/qurator/tsvtools/cli.py similarity index 100% rename from qurator/tsvtools/cli.py rename to src/qurator/tsvtools/cli.py diff --git a/qurator/tsvtools/ocr.py b/src/qurator/tsvtools/ocr.py similarity index 100% rename from qurator/tsvtools/ocr.py rename to src/qurator/tsvtools/ocr.py diff --git a/qurator/tsvtools/ocrd-tool.json b/src/qurator/tsvtools/ocrd-tool.json similarity index 100% rename from qurator/tsvtools/ocrd-tool.json rename to src/qurator/tsvtools/ocrd-tool.json diff --git a/qurator/tsvtools/ocrd_cli.py b/src/qurator/tsvtools/ocrd_cli.py similarity index 100% rename from qurator/tsvtools/ocrd_cli.py rename to src/qurator/tsvtools/ocrd_cli.py diff --git a/qurator/tsvtools/ocrd_processors.py b/src/qurator/tsvtools/ocrd_processors.py similarity index 97% rename from qurator/tsvtools/ocrd_processors.py rename to src/qurator/tsvtools/ocrd_processors.py index 20e169c..7b0bb5f 100644 --- a/qurator/tsvtools/ocrd_processors.py +++ b/src/qurator/tsvtools/ocrd_processors.py @@ -1,13 +1,12 @@ from json import loads from pathlib import Path -from pkg_resources import resource_string from re import sub as re_sub import pandas as pd from PIL import Image from ocrd import Processor -from ocrd_utils import getLogger, make_file_id, assert_file_grp_cardinality, MIMETYPE_PAGE +from ocrd_utils import getLogger, make_file_id, assert_file_grp_cardinality, MIMETYPE_PAGE, resource_string from ocrd_models import OcrdExif from ocrd_models.constants import NAMESPACES as NS from ocrd_models.ocrd_page import TextEquivType, to_xml @@ -15,7 +14,7 @@ from ocrd_modelfactory import page_from_file from .cli import page2tsv -OCRD_TOOL = loads(resource_string(__name__, 'ocrd-tool.json')) +OCRD_TOOL = loads(resource_string('qurator.tsvtools', 'ocrd-tool.json')) class OcrdNeatExportProcessor(Processor):