Skip to content

Commit

Permalink
Create ocrd_network package
Browse files Browse the repository at this point in the history
  • Loading branch information
joschrew committed Feb 24, 2023
1 parent 6c09711 commit b264652
Show file tree
Hide file tree
Showing 32 changed files with 74 additions and 36 deletions.
1 change: 1 addition & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ COPY ocrd_models ./ocrd_models
COPY ocrd_utils ./ocrd_utils
RUN mv ./ocrd_utils/ocrd_logging.conf /etc
COPY ocrd_validators/ ./ocrd_validators
COPY ocrd_network/ ./ocrd_network
COPY Makefile .
COPY README.md .
COPY LICENSE .
Expand Down
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ TESTDIR = tests

SPHINX_APIDOC =

BUILD_ORDER = ocrd_utils ocrd_models ocrd_modelfactory ocrd_validators ocrd
BUILD_ORDER = ocrd_utils ocrd_models ocrd_modelfactory ocrd_validators ocrd_network ocrd

FIND_VERSION = grep version= ocrd_utils/setup.py|grep -Po "([0-9ab]+\.?)+"

Expand Down
7 changes: 7 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@
* [ocrd_models](#ocrd_models)
* [ocrd_modelfactory](#ocrd_modelfactory)
* [ocrd_validators](#ocrd_validators)
* [ocrd_network](#ocrd_network)
* [ocrd](#ocrd)
* [bash library](#bash-library)
* [bashlib API](#bashlib-api)
Expand Down Expand Up @@ -122,6 +123,12 @@ Schemas and routines for validating BagIt, `ocrd-tool.json`, workspaces, METS, p

See [README for `ocrd_validators`](./ocrd_validators/README.md) for further information.

### ocrd_network

Tools for offering (web-)services with OCR-D

See [README for `ocrd_network`](./ocrd_network/README.md) for further information.

### ocrd

Depends on all of the above, also contains decorators and classes for creating OCR-D processors and CLIs.
Expand Down
2 changes: 1 addition & 1 deletion ocrd/ocrd/cli/processing_server.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
"""
import click
from ocrd_utils import initLogging
from ocrd.network import ProcessingServer
from ocrd_network import ProcessingServer
import logging


Expand Down
2 changes: 1 addition & 1 deletion ocrd/ocrd/cli/processing_worker.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
initLogging,
get_ocrd_tool_json
)
from ocrd.network.processing_worker import ProcessingWorker
from ocrd_network.processing_worker import ProcessingWorker


@click.command('processing-worker')
Expand Down
2 changes: 1 addition & 1 deletion ocrd/ocrd/decorators/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
from ocrd_utils import getLogger, initLogging, parse_json_string_with_comments
from ocrd_validators import WorkspaceValidator

from ocrd.network import ProcessingWorker
from ocrd_network import ProcessingWorker

from ..resolver import Resolver
from ..processor.base import run_processor
Expand Down
7 changes: 0 additions & 7 deletions ocrd/requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,4 @@ Deprecated == 1.2.0
memory-profiler >= 0.58.0
sparklines >= 0.4.2
python-magic
uvicorn>=0.17.6
fastapi>=0.78.0
docker
paramiko
frozendict~=2.3.4
pika>=1.2.0
beanie~=1.7
tensorflow
1 change: 1 addition & 0 deletions ocrd/setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
install_requires.append('ocrd_models == %s' % VERSION)
install_requires.append('ocrd_modelfactory == %s' % VERSION)
install_requires.append('ocrd_validators == %s' % VERSION)
install_requires.append('ocrd_network == %s' % VERSION)

setup(
name='ocrd',
Expand Down
5 changes: 5 additions & 0 deletions ocrd_network/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# ocrd_network

> OCR-D framework - web API
See also: https://github.com/OCR-D/core
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,5 @@

# Note: The Mets Server is still not placed on the architecture diagram and probably won't be a part of
# the network package. The reason, Mets Server is tightly coupled with the `OcrdWorkspace`.

# This package, currently, is under the `core/ocrd` package.
# It could also be a separate package on its own under `core` with the name `ocrd_network`.
from .processing_server import ProcessingServer
from .processing_worker import ProcessingWorker
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
from beanie import init_beanie
from motor.motor_asyncio import AsyncIOMotorClient

from ocrd.network.models.job import Job
from ocrd.network.models.workspace import Workspace
from ocrd_network.models.job import Job
from ocrd_network.models.workspace import Workspace


async def initiate_database(db_url: str):
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,15 +16,15 @@


from ocrd_utils import getLogger
from ocrd.network.deployment_config import *
from ocrd.network.deployment_utils import (
from ocrd_network.deployment_config import *
from ocrd_network.deployment_utils import (
create_docker_client,
create_ssh_client,
CustomDockerClient,
DeployType,
HostData,
)
from ocrd.network.rabbitmq_utils import RMQPublisher
from ocrd_network.rabbitmq_utils import RMQPublisher


class Deployer:
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
from typing import Dict

from ocrd.network.deployment_utils import DeployType
from ocrd_network.deployment_utils import DeployType

__all__ = [
'ProcessingServerConfig',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
from paramiko import AutoAddPolicy, SSHClient

from ocrd_utils import getLogger
from ocrd.network.deployment_config import *
from ocrd_network.deployment_config import *

__all__ = [
'DeployType'
Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -16,20 +16,20 @@
ParameterValidator,
ProcessingServerValidator
)
from ocrd.network.database import initiate_database
from ocrd.network.deployer import Deployer
from ocrd.network.deployment_config import ProcessingServerConfig
from ocrd.network.rabbitmq_utils import (
from ocrd_network.database import initiate_database
from ocrd_network.deployer import Deployer
from ocrd_network.deployment_config import ProcessingServerConfig
from ocrd_network.rabbitmq_utils import (
RMQPublisher,
OcrdProcessingMessage
)
from ocrd.network.models.job import (
from ocrd_network.models.job import (
Job,
JobInput,
JobOutput,
StateEnum
)
from ocrd.network.models.workspace import Workspace
from ocrd_network.models.workspace import Workspace


class ProcessingServer(FastAPI):
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,12 +23,12 @@
run_cli,
run_processor
)
from ocrd.network.helpers import (
from ocrd_network.helpers import (
verify_database_url,
verify_and_parse_rabbitmq_addr
)
from ocrd.network.models.job import StateEnum
from ocrd.network.rabbitmq_utils import (
from ocrd_network.models.job import StateEnum
from ocrd_network.rabbitmq_utils import (
OcrdProcessingMessage,
OcrdResultMessage,
RMQConsumer,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
)
from pika.adapters.blocking_connection import BlockingChannel

from ocrd.network.rabbitmq_utils.constants import (
from ocrd_network.rabbitmq_utils.constants import (
DEFAULT_EXCHANGER_NAME,
DEFAULT_EXCHANGER_TYPE,
DEFAULT_QUEUE,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,14 +9,14 @@

from pika import PlainCredentials

from ocrd.network.rabbitmq_utils.constants import (
from ocrd_network.rabbitmq_utils.constants import (
DEFAULT_QUEUE,
LOG_LEVEL,
RABBIT_MQ_HOST as HOST,
RABBIT_MQ_PORT as PORT,
RABBIT_MQ_VHOST as VHOST
)
from ocrd.network.rabbitmq_utils.connector import RMQConnector
from ocrd_network.rabbitmq_utils.connector import RMQConnector


class RMQConsumer(RMQConnector):
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
from datetime import datetime
from typing import Any, Dict, List, Optional
import yaml
from ocrd.network.models.job import Job
from ocrd_network.models.job import Job


class OcrdProcessingMessage:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
PlainCredentials
)

from ocrd.network.rabbitmq_utils.constants import (
from ocrd_network.rabbitmq_utils.constants import (
DEFAULT_EXCHANGER_NAME,
DEFAULT_ROUTER,
LOG_FORMAT,
Expand All @@ -21,7 +21,7 @@
RABBIT_MQ_PORT as PORT,
RABBIT_MQ_VHOST as VHOST
)
from ocrd.network.rabbitmq_utils.connector import RMQConnector
from ocrd_network.rabbitmq_utils.connector import RMQConnector


class RMQPublisher(RMQConnector):
Expand Down
File renamed without changes.
6 changes: 6 additions & 0 deletions ocrd_network/requirements.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
uvicorn>=0.17.6
fastapi>=0.78.0
docker
paramiko
pika>=1.2.0
beanie~=1.7
27 changes: 27 additions & 0 deletions ocrd_network/setup.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# -*- coding: utf-8 -*-
from setuptools import setup, find_packages

from ocrd_utils import VERSION

install_requires = open('requirements.txt').read().split('\n')
install_requires.append('ocrd_utils == %s' % VERSION)
install_requires.append('ocrd_validators == %s' % VERSION)

setup(
name='ocrd_network',
version=VERSION,
description='OCR-D framework - web API',
long_description=open('README.md').read(),
long_description_content_type='text/markdown',
author='Konstantin Baierer',
author_email='unixprog@gmail.com',
url='https://github.com/OCR-D/core',
license='Apache License 2.0',
packages=find_packages(exclude=('tests', 'docs')),
include_package_data=True,
install_requires=install_requires,
package_data={
'': ['*.yml', '*.xsd']
},
keywords=['OCR', 'OCR-D']
)
1 change: 1 addition & 0 deletions tox.ini
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ deps =
-rocrd_models/requirements.txt
-rocrd_modelfactory/requirements.txt
-rocrd_validators/requirements.txt
-rocrd_network/requirements.txt
-rocrd/requirements.txt
commands =
- make install test

0 comments on commit b264652

Please sign in to comment.