From f832ea565ac7c50649aea57dbf86eee5f1353019 Mon Sep 17 00:00:00 2001 From: allegroai <> Date: Tue, 5 Jan 2021 16:28:49 +0200 Subject: [PATCH] Use apiserver namespace --- apiserver/__init__.py | 0 apiserver/apierrors/autogen/generator.py | 2 +- apiserver/apimodels/__init__.py | 4 +- apiserver/apimodels/auth.py | 8 ++-- apiserver/apimodels/base.py | 2 +- apiserver/apimodels/events.py | 10 ++--- apiserver/apimodels/models.py | 6 +-- apiserver/apimodels/projects.py | 4 +- apiserver/apimodels/queues.py | 2 +- apiserver/apimodels/tasks.py | 8 ++-- apiserver/apimodels/users.py | 2 +- apiserver/apimodels/workers.py | 2 +- apiserver/app_sequence.py | 18 ++++---- apiserver/bll/auth/__init__.py | 24 +++++------ apiserver/bll/event/debug_images_iterator.py | 18 ++++---- apiserver/bll/event/event_bll.py | 28 ++++++------- apiserver/bll/event/event_metrics.py | 14 +++---- apiserver/bll/event/log_events_iterator.py | 6 +-- apiserver/bll/event/scalar_key.py | 6 +-- apiserver/bll/model/__init__.py | 4 +- apiserver/bll/organization/__init__.py | 12 +++--- apiserver/bll/project/project_bll.py | 8 ++-- apiserver/bll/query/builder.py | 2 +- apiserver/bll/queue/queue_bll.py | 16 +++---- apiserver/bll/queue/queue_metrics.py | 14 +++---- apiserver/bll/redis_cache_manager.py | 4 +- apiserver/bll/statistics/resource_monitor.py | 2 +- apiserver/bll/statistics/stats_reporter.py | 24 +++++------ apiserver/bll/task/hyperparams.py | 12 +++--- .../bll/task/non_responsive_tasks_watchdog.py | 10 ++--- apiserver/bll/task/param_utils.py | 8 ++-- apiserver/bll/task/task_bll.py | 34 +++++++-------- apiserver/bll/task/utils.py | 14 +++---- apiserver/bll/user/__init__.py | 8 ++-- apiserver/bll/util.py | 4 +- apiserver/bll/workers/__init__.py | 28 ++++++------- apiserver/bll/workers/stats.py | 12 +++--- apiserver/config/info.py | 4 +- apiserver/database/__init__.py | 2 +- apiserver/database/errors.py | 2 +- apiserver/database/model/__init__.py | 8 ++-- apiserver/database/model/auth.py | 8 ++-- apiserver/database/model/base.py | 16 +++---- apiserver/database/model/company.py | 6 +-- apiserver/database/model/model.py | 18 ++++---- apiserver/database/model/model_labels.py | 2 +- apiserver/database/model/project.py | 8 ++-- apiserver/database/model/queue.py | 12 +++--- apiserver/database/model/settings.py | 4 +- apiserver/database/model/task/metrics.py | 2 +- apiserver/database/model/task/output.py | 4 +- apiserver/database/model/task/task.py | 14 +++---- apiserver/database/model/user.py | 8 ++-- apiserver/database/model/version.py | 4 +- apiserver/database/projection.py | 4 +- apiserver/database/props.py | 4 +- apiserver/elastic/initialize.py | 6 +-- apiserver/es_factory.py | 2 +- apiserver/mongo/initialize/__init__.py | 8 ++-- apiserver/mongo/initialize/migration.py | 10 ++--- apiserver/mongo/initialize/pre_populate.py | 22 +++++----- apiserver/mongo/initialize/user.py | 8 ++-- apiserver/mongo/initialize/util.py | 10 ++--- apiserver/mongo/migrations/0.12.1.py | 2 +- apiserver/mongo/migrations/0.14.0.py | 2 +- apiserver/mongo/migrations/0.16.0.py | 4 +- apiserver/redis_manager.py | 4 +- apiserver/schema.py | 4 +- apiserver/server.py | 6 +-- apiserver/service_repo/apicall.py | 8 ++-- apiserver/service_repo/auth/auth.py | 14 +++---- apiserver/service_repo/auth/fixed_user.py | 4 +- .../service_repo/auth/payload/payload.py | 2 +- apiserver/service_repo/auth/payload/token.py | 6 +-- apiserver/service_repo/endpoint.py | 4 +- apiserver/service_repo/schema_validator.py | 4 +- apiserver/service_repo/service_repo.py | 12 +++--- apiserver/service_repo/validators.py | 14 +++---- apiserver/services/auth.py | 20 ++++----- apiserver/services/debug.py | 2 +- apiserver/services/events.py | 14 +++---- apiserver/services/models.py | 36 ++++++++-------- apiserver/services/organization.py | 8 ++-- apiserver/services/projects.py | 32 +++++++------- apiserver/services/queues.py | 14 +++---- apiserver/services/server/__init__.py | 20 ++++----- apiserver/services/tasks.py | 42 +++++++++---------- apiserver/services/users.py | 26 ++++++------ apiserver/services/utils.py | 12 +++--- apiserver/services/workers.py | 12 +++--- apiserver/sync.py | 2 +- apiserver/tests/api_client.py | 8 ++-- apiserver/tests/automated/__init__.py | 4 +- .../tests/automated/test_entity_ordering.py | 2 +- apiserver/tests/automated/test_models.py | 4 +- .../tests/automated/test_project_tags.py | 2 +- apiserver/tests/automated/test_projection.py | 6 +-- .../tests/automated/test_projects_edit.py | 8 ++-- apiserver/tests/automated/test_queues.py | 4 +- apiserver/tests/automated/test_tags.py | 10 ++--- apiserver/tests/automated/test_task_events.py | 6 +-- .../tests/automated/test_task_hyperparams.py | 6 +-- .../tests/automated/test_tasks_delete.py | 4 +- apiserver/tests/automated/test_tasks_diff.py | 4 +- apiserver/tests/automated/test_tasks_edit.py | 8 ++-- apiserver/tests/automated/test_users.py | 4 +- apiserver/tests/automated/test_workers.py | 6 +-- apiserver/tools.py | 4 +- apiserver/updates.py | 8 ++-- apiserver/utilities/parameter_key_escaper.py | 2 +- 110 files changed, 503 insertions(+), 503 deletions(-) create mode 100644 apiserver/__init__.py diff --git a/apiserver/__init__.py b/apiserver/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/apiserver/apierrors/autogen/generator.py b/apiserver/apierrors/autogen/generator.py index d6592f4..e5468e0 100644 --- a/apiserver/apierrors/autogen/generator.py +++ b/apiserver/apierrors/autogen/generator.py @@ -26,7 +26,7 @@ def cls_name(name): class Generator(object): _base_class_name = 'BaseError' - _base_class_module = 'apierrors.base' + _base_class_module = 'apiserver.apierrors.base' def __init__(self, path, format_pep8=True, use_md5=True): self._use_md5 = use_md5 diff --git a/apiserver/apimodels/__init__.py b/apiserver/apimodels/__init__.py index 1d6e030..dd1a090 100644 --- a/apiserver/apimodels/__init__.py +++ b/apiserver/apimodels/__init__.py @@ -12,8 +12,8 @@ from jsonmodels.validators import Enum as EnumValidator from luqum.parser import parser, ParseError from validators import email as email_validator, domain as domain_validator -from apierrors import errors -from utilities.json import loads, dumps +from apiserver.apierrors import errors +from apiserver.utilities.json import loads, dumps def make_default(field_cls, default_value): diff --git a/apiserver/apimodels/auth.py b/apiserver/apimodels/auth.py index eadf5a7..66f4ed2 100644 --- a/apiserver/apimodels/auth.py +++ b/apiserver/apimodels/auth.py @@ -2,10 +2,10 @@ from jsonmodels.fields import IntField, StringField, BoolField, EmbeddedField, D from jsonmodels.models import Base from jsonmodels.validators import Max, Enum -from apimodels import ListField, EnumField -from config import config -from database.model.auth import Role -from database.utils import get_options +from apiserver.apimodels import ListField, EnumField +from apiserver.config import config +from apiserver.database.model.auth import Role +from apiserver.database.utils import get_options class GetTokenRequest(Base): diff --git a/apiserver/apimodels/base.py b/apiserver/apimodels/base.py index f1e8cb6..8d7099d 100644 --- a/apiserver/apimodels/base.py +++ b/apiserver/apimodels/base.py @@ -2,7 +2,7 @@ from jsonmodels import models, fields from jsonmodels.validators import Length from mongoengine.base import BaseDocument -from apimodels import DictField, ListField +from apiserver.apimodels import DictField, ListField class MongoengineFieldsDict(DictField): diff --git a/apiserver/apimodels/events.py b/apiserver/apimodels/events.py index 26a017e..f18d8d9 100644 --- a/apiserver/apimodels/events.py +++ b/apiserver/apimodels/events.py @@ -6,11 +6,11 @@ from jsonmodels.fields import StringField, BoolField from jsonmodels.models import Base from jsonmodels.validators import Length, Min, Max -from apimodels import ListField, IntField, ActualEnumField -from bll.event.event_metrics import EventType -from bll.event.scalar_key import ScalarKeyEnum -from config import config -from utilities.stringenum import StringEnum +from apiserver.apimodels import ListField, IntField, ActualEnumField +from apiserver.bll.event.event_metrics import EventType +from apiserver.bll.event.scalar_key import ScalarKeyEnum +from apiserver.config import config +from apiserver.utilities.stringenum import StringEnum class HistogramRequestBase(Base): diff --git a/apiserver/apimodels/models.py b/apiserver/apimodels/models.py index 14f6c9e..db74ab2 100644 --- a/apiserver/apimodels/models.py +++ b/apiserver/apimodels/models.py @@ -1,9 +1,9 @@ from jsonmodels import models, fields from six import string_types -from apimodels import ListField, DictField -from apimodels.base import UpdateResponse -from apimodels.tasks import PublishResponse as TaskPublishResponse +from apiserver.apimodels import ListField, DictField +from apiserver.apimodels.base import UpdateResponse +from apiserver.apimodels.tasks import PublishResponse as TaskPublishResponse class GetFrameworksRequest(models.Base): diff --git a/apiserver/apimodels/projects.py b/apiserver/apimodels/projects.py index 5201471..751217b 100644 --- a/apiserver/apimodels/projects.py +++ b/apiserver/apimodels/projects.py @@ -1,7 +1,7 @@ from jsonmodels import models, fields -from apimodels import ListField -from apimodels.organization import TagsRequest +from apiserver.apimodels import ListField +from apiserver.apimodels.organization import TagsRequest class ProjectReq(models.Base): diff --git a/apiserver/apimodels/queues.py b/apiserver/apimodels/queues.py index eb40d9d..1b57260 100644 --- a/apiserver/apimodels/queues.py +++ b/apiserver/apimodels/queues.py @@ -2,7 +2,7 @@ from jsonmodels import validators from jsonmodels.fields import StringField, IntField, BoolField, FloatField from jsonmodels.models import Base -from apimodels import ListField +from apiserver.apimodels import ListField class GetDefaultResp(Base): diff --git a/apiserver/apimodels/tasks.py b/apiserver/apimodels/tasks.py index aa16939..99b3935 100644 --- a/apiserver/apimodels/tasks.py +++ b/apiserver/apimodels/tasks.py @@ -5,10 +5,10 @@ from jsonmodels import models from jsonmodels.fields import StringField, BoolField, IntField, EmbeddedField from jsonmodels.validators import Enum, Length -from apimodels import DictField, ListField -from apimodels.base import UpdateResponse -from database.model.task.task import TaskType -from database.utils import get_options +from apiserver.apimodels import DictField, ListField +from apiserver.apimodels.base import UpdateResponse +from apiserver.database.model.task.task import TaskType +from apiserver.database.utils import get_options class ArtifactTypeData(models.Base): diff --git a/apiserver/apimodels/users.py b/apiserver/apimodels/users.py index b022a64..e23ea7b 100644 --- a/apiserver/apimodels/users.py +++ b/apiserver/apimodels/users.py @@ -1,7 +1,7 @@ from jsonmodels.fields import StringField from jsonmodels.models import Base -from apimodels import DictField +from apiserver.apimodels import DictField class CreateRequest(Base): diff --git a/apiserver/apimodels/workers.py b/apiserver/apimodels/workers.py index dead953..85b593d 100644 --- a/apiserver/apimodels/workers.py +++ b/apiserver/apimodels/workers.py @@ -12,7 +12,7 @@ from jsonmodels.fields import ( ) from jsonmodels.models import Base -from apimodels import make_default, ListField, EnumField, JsonSerializableMixin +from apiserver.apimodels import make_default, ListField, EnumField, JsonSerializableMixin DEFAULT_TIMEOUT = 10 * 60 diff --git a/apiserver/app_sequence.py b/apiserver/app_sequence.py index 0b98322..7a5163e 100644 --- a/apiserver/app_sequence.py +++ b/apiserver/app_sequence.py @@ -4,20 +4,20 @@ from hashlib import md5 from flask import Flask from semantic_version import Version -import database -from bll.statistics.stats_reporter import StatisticsReporter -from config import config, info -from elastic.initialize import init_es_data, check_elastic_empty, ElasticConnectionError -from mongo.initialize import ( +from apiserver import database +from apiserver.bll.statistics.stats_reporter import StatisticsReporter +from apiserver.config import config, info +from apiserver.elastic.initialize import init_es_data, check_elastic_empty, ElasticConnectionError +from apiserver.mongo.initialize import ( init_mongo_data, pre_populate_data, check_mongo_empty, get_last_server_version, ) -from service_repo import ServiceRepo -from sync import distributed_lock -from updates import check_updates_thread -from utilities.threads_manager import ThreadsManager +from apiserver.service_repo import ServiceRepo +from apiserver.sync import distributed_lock +from apiserver.updates import check_updates_thread +from apiserver.utilities.threads_manager import ThreadsManager log = config.logger(__file__) diff --git a/apiserver/bll/auth/__init__.py b/apiserver/bll/auth/__init__.py index f83cb8d..3e53ae0 100644 --- a/apiserver/bll/auth/__init__.py +++ b/apiserver/bll/auth/__init__.py @@ -1,17 +1,17 @@ from datetime import datetime -import database -from apierrors import errors -from apimodels.auth import GetTokenResponse, CreateUserRequest, Credentials as CredModel -from apimodels.users import CreateRequest as Users_CreateRequest -from bll.user import UserBLL -from config import config -from config.info import get_version, get_build_number -from database.errors import translate_errors_context -from database.model.auth import User, Role, Credentials -from database.model.company import Company -from service_repo import APICall, ServiceRepo -from service_repo.auth import Identity, Token, get_client_id, get_secret_key +from apiserver import database +from apiserver.apierrors import errors +from apiserver.apimodels.auth import GetTokenResponse, CreateUserRequest, Credentials as CredModel +from apiserver.apimodels.users import CreateRequest as Users_CreateRequest +from apiserver.bll.user import UserBLL +from apiserver.config import config +from apiserver.config.info import get_version, get_build_number +from apiserver.database.errors import translate_errors_context +from apiserver.database.model.auth import User, Role, Credentials +from apiserver.database.model.company import Company +from apiserver.service_repo import APICall, ServiceRepo +from apiserver.service_repo.auth import Identity, Token, get_client_id, get_secret_key log = config.logger("AuthBLL") diff --git a/apiserver/bll/event/debug_images_iterator.py b/apiserver/bll/event/debug_images_iterator.py index a98a85e..82866b5 100644 --- a/apiserver/bll/event/debug_images_iterator.py +++ b/apiserver/bll/event/debug_images_iterator.py @@ -13,15 +13,15 @@ from jsonmodels.fields import StringField, ListField, IntField from jsonmodels.models import Base from redis import StrictRedis -from apierrors import errors -from apimodels import JsonSerializableMixin -from bll.event.event_metrics import EventMetrics -from bll.redis_cache_manager import RedisCacheManager -from config import config -from database.errors import translate_errors_context -from database.model.task.metrics import MetricEventStats -from database.model.task.task import Task -from timing_context import TimingContext +from apiserver.apierrors import errors +from apiserver.apimodels import JsonSerializableMixin +from apiserver.bll.event.event_metrics import EventMetrics +from apiserver.bll.redis_cache_manager import RedisCacheManager +from apiserver.config import config +from apiserver.database.errors import translate_errors_context +from apiserver.database.model.task.metrics import MetricEventStats +from apiserver.database.model.task.task import Task +from apiserver.timing_context import TimingContext class VariantScrollState(Base): diff --git a/apiserver/bll/event/event_bll.py b/apiserver/bll/event/event_bll.py index a56b143..cbbe588 100644 --- a/apiserver/bll/event/event_bll.py +++ b/apiserver/bll/event/event_bll.py @@ -10,20 +10,20 @@ from elasticsearch import helpers from mongoengine import Q from nested_dict import nested_dict -import database.utils as dbutils -import es_factory -from apierrors import errors -from bll.event.debug_images_iterator import DebugImagesIterator -from bll.event.event_metrics import EventMetrics, EventType -from bll.event.log_events_iterator import LogEventsIterator, TaskEventsResult -from bll.task import TaskBLL -from config import config -from database.errors import translate_errors_context -from database.model.task.task import Task, TaskStatus -from redis_manager import redman -from timing_context import TimingContext -from tools import safe_get -from utilities.dicts import flatten_nested_items +from apiserver.database import utils as dbutils +from apiserver import es_factory +from apiserver.apierrors import errors +from apiserver.bll.event.debug_images_iterator import DebugImagesIterator +from apiserver.bll.event.event_metrics import EventMetrics, EventType +from apiserver.bll.event.log_events_iterator import LogEventsIterator, TaskEventsResult +from apiserver.bll.task import TaskBLL +from apiserver.config import config +from apiserver.database.errors import translate_errors_context +from apiserver.database.model.task.task import Task, TaskStatus +from apiserver.redis_manager import redman +from apiserver.timing_context import TimingContext +from apiserver.tools import safe_get +from apiserver.utilities.dicts import flatten_nested_items # noinspection PyTypeChecker EVENT_TYPES = set(map(attrgetter("value"), EventType)) diff --git a/apiserver/bll/event/event_metrics.py b/apiserver/bll/event/event_metrics.py index 7b0892c..a6c52f7 100644 --- a/apiserver/bll/event/event_metrics.py +++ b/apiserver/bll/event/event_metrics.py @@ -10,13 +10,13 @@ from typing import Sequence, Tuple from elasticsearch import Elasticsearch from mongoengine import Q -from apierrors import errors -from bll.event.scalar_key import ScalarKey, ScalarKeyEnum -from config import config -from database.errors import translate_errors_context -from database.model.task.task import Task -from timing_context import TimingContext -from tools import safe_get +from apiserver.apierrors import errors +from apiserver.bll.event.scalar_key import ScalarKey, ScalarKeyEnum +from apiserver.config import config +from apiserver.database.errors import translate_errors_context +from apiserver.database.model.task.task import Task +from apiserver.timing_context import TimingContext +from apiserver.tools import safe_get log = config.logger(__file__) diff --git a/apiserver/bll/event/log_events_iterator.py b/apiserver/bll/event/log_events_iterator.py index 70a79c2..8e634af 100644 --- a/apiserver/bll/event/log_events_iterator.py +++ b/apiserver/bll/event/log_events_iterator.py @@ -3,9 +3,9 @@ from typing import Optional, Tuple, Sequence import attr from elasticsearch import Elasticsearch -from bll.event.event_metrics import EventMetrics -from database.errors import translate_errors_context -from timing_context import TimingContext +from apiserver.bll.event.event_metrics import EventMetrics +from apiserver.database.errors import translate_errors_context +from apiserver.timing_context import TimingContext @attr.s(auto_attribs=True) diff --git a/apiserver/bll/event/scalar_key.py b/apiserver/bll/event/scalar_key.py index fb63ab5..6bae606 100644 --- a/apiserver/bll/event/scalar_key.py +++ b/apiserver/bll/event/scalar_key.py @@ -4,9 +4,9 @@ Module for polymorphism over different types of X axes in scalar aggregations from abc import ABC, abstractmethod from enum import auto -from utilities.stringenum import StringEnum -from bll.util import extract_properties_to_lists -from config import config +from apiserver.utilities.stringenum import StringEnum +from apiserver.bll.util import extract_properties_to_lists +from apiserver.config import config log = config.logger(__file__) diff --git a/apiserver/bll/model/__init__.py b/apiserver/bll/model/__init__.py index 6fa58d4..34278ec 100644 --- a/apiserver/bll/model/__init__.py +++ b/apiserver/bll/model/__init__.py @@ -2,8 +2,8 @@ from typing import Optional, Sequence from mongoengine import Q -from database.model.model import Model -from database.utils import get_company_or_none_constraint +from apiserver.database.model.model import Model +from apiserver.database.utils import get_company_or_none_constraint class ModelBLL: diff --git a/apiserver/bll/organization/__init__.py b/apiserver/bll/organization/__init__.py index b5a85bf..9471b73 100644 --- a/apiserver/bll/organization/__init__.py +++ b/apiserver/bll/organization/__init__.py @@ -6,12 +6,12 @@ from typing import Sequence, Union, Type, Dict from mongoengine import Q from redis import Redis -from config import config -from database.model.base import GetMixin -from database.model.model import Model -from database.model.task.task import Task -from redis_manager import redman -from utilities import json +from apiserver.config import config +from apiserver.database.model.base import GetMixin +from apiserver.database.model.model import Model +from apiserver.database.model.task.task import Task +from apiserver.redis_manager import redman +from apiserver.utilities import json log = config.logger(__file__) _settings_prefix = "services.organization" diff --git a/apiserver/bll/project/project_bll.py b/apiserver/bll/project/project_bll.py index dcb577d..0efac99 100644 --- a/apiserver/bll/project/project_bll.py +++ b/apiserver/bll/project/project_bll.py @@ -2,10 +2,10 @@ from typing import Sequence, Optional from mongoengine import Q -from config import config -from database.model.model import Model -from database.model.task.task import Task -from timing_context import TimingContext +from apiserver.config import config +from apiserver.database.model.model import Model +from apiserver.database.model.task.task import Task +from apiserver.timing_context import TimingContext log = config.logger(__file__) diff --git a/apiserver/bll/query/builder.py b/apiserver/bll/query/builder.py index 8de2008..66d0258 100644 --- a/apiserver/bll/query/builder.py +++ b/apiserver/bll/query/builder.py @@ -1,6 +1,6 @@ from typing import Optional, Sequence, Iterable, Union -from config import config +from apiserver.config import config log = config.logger(__file__) diff --git a/apiserver/bll/queue/queue_bll.py b/apiserver/bll/queue/queue_bll.py index 95f3b31..6d8ffe7 100644 --- a/apiserver/bll/queue/queue_bll.py +++ b/apiserver/bll/queue/queue_bll.py @@ -4,14 +4,14 @@ from typing import Callable, Sequence, Optional, Tuple from elasticsearch import Elasticsearch -import database -import es_factory -from apierrors import errors -from bll.queue.queue_metrics import QueueMetrics -from bll.workers import WorkerBLL -from config import config -from database.errors import translate_errors_context -from database.model.queue import Queue, Entry +from apiserver import database +from apiserver import es_factory +from apiserver.apierrors import errors +from apiserver.bll.queue.queue_metrics import QueueMetrics +from apiserver.bll.workers import WorkerBLL +from apiserver.config import config +from apiserver.database.errors import translate_errors_context +from apiserver.database.model.queue import Queue, Entry log = config.logger(__file__) diff --git a/apiserver/bll/queue/queue_metrics.py b/apiserver/bll/queue/queue_metrics.py index ad76f9f..febc1b0 100644 --- a/apiserver/bll/queue/queue_metrics.py +++ b/apiserver/bll/queue/queue_metrics.py @@ -5,13 +5,13 @@ from typing import Sequence import elasticsearch.helpers from elasticsearch import Elasticsearch -import es_factory -from apierrors.errors import bad_request -from bll.query import Builder as QueryBuilder -from config import config -from database.errors import translate_errors_context -from database.model.queue import Queue, Entry -from timing_context import TimingContext +from apiserver import es_factory +from apiserver.apierrors.errors import bad_request +from apiserver.bll.query import Builder as QueryBuilder +from apiserver.config import config +from apiserver.database.errors import translate_errors_context +from apiserver.database.model.queue import Queue, Entry +from apiserver.timing_context import TimingContext log = config.logger(__file__) diff --git a/apiserver/bll/redis_cache_manager.py b/apiserver/bll/redis_cache_manager.py index 6aac68b..406e762 100644 --- a/apiserver/bll/redis_cache_manager.py +++ b/apiserver/bll/redis_cache_manager.py @@ -3,8 +3,8 @@ from typing import Optional, TypeVar, Generic, Type, Callable from redis import StrictRedis -import database -from timing_context import TimingContext +from apiserver import database +from apiserver.timing_context import TimingContext T = TypeVar("T") diff --git a/apiserver/bll/statistics/resource_monitor.py b/apiserver/bll/statistics/resource_monitor.py index 12f024e..d7e3634 100644 --- a/apiserver/bll/statistics/resource_monitor.py +++ b/apiserver/bll/statistics/resource_monitor.py @@ -6,7 +6,7 @@ from time import sleep import attr import psutil -from utilities.threads_manager import ThreadsManager +from apiserver.utilities.threads_manager import ThreadsManager class ResourceMonitor(Thread): diff --git a/apiserver/bll/statistics/stats_reporter.py b/apiserver/bll/statistics/stats_reporter.py index 8feef9f..6910d5c 100644 --- a/apiserver/bll/statistics/stats_reporter.py +++ b/apiserver/bll/statistics/stats_reporter.py @@ -11,18 +11,18 @@ import requests from requests.adapters import HTTPAdapter from requests.packages.urllib3.util.retry import Retry -from bll.query import Builder as QueryBuilder -from bll.util import get_server_uuid -from bll.workers import WorkerStats, WorkerBLL -from config import config -from config.info import get_deployment_type -from database.model import Company, User -from database.model.queue import Queue -from database.model.task.task import Task -from tools import safe_get -from utilities.json import dumps -from utilities.threads_manager import ThreadsManager -from version import __version__ as current_version +from apiserver.bll.query import Builder as QueryBuilder +from apiserver.bll.util import get_server_uuid +from apiserver.bll.workers import WorkerStats, WorkerBLL +from apiserver.config import config +from apiserver.config.info import get_deployment_type +from apiserver.database.model import Company, User +from apiserver.database.model.queue import Queue +from apiserver.database.model.task.task import Task +from apiserver.tools import safe_get +from apiserver.utilities.json import dumps +from apiserver.utilities.threads_manager import ThreadsManager +from apiserver.version import __version__ as current_version from .resource_monitor import ResourceMonitor log = config.logger(__file__) diff --git a/apiserver/bll/task/hyperparams.py b/apiserver/bll/task/hyperparams.py index 17289d4..b8e5fc2 100644 --- a/apiserver/bll/task/hyperparams.py +++ b/apiserver/bll/task/hyperparams.py @@ -5,17 +5,17 @@ from typing import Sequence, Dict from boltons import iterutils -from apierrors import errors -from apimodels.tasks import ( +from apiserver.apierrors import errors +from apiserver.apimodels.tasks import ( HyperParamKey, HyperParamItem, ReplaceHyperparams, Configuration, ) -from bll.task import TaskBLL -from config import config -from database.model.task.task import ParamsItem, Task, ConfigurationItem, TaskStatus -from utilities.parameter_key_escaper import ParameterKeyEscaper +from apiserver.bll.task import TaskBLL +from apiserver.config import config +from apiserver.database.model.task.task import ParamsItem, Task, ConfigurationItem, TaskStatus +from apiserver.utilities.parameter_key_escaper import ParameterKeyEscaper log = config.logger(__file__) task_bll = TaskBLL() diff --git a/apiserver/bll/task/non_responsive_tasks_watchdog.py b/apiserver/bll/task/non_responsive_tasks_watchdog.py index b0c2b4a..580a933 100644 --- a/apiserver/bll/task/non_responsive_tasks_watchdog.py +++ b/apiserver/bll/task/non_responsive_tasks_watchdog.py @@ -1,11 +1,11 @@ from datetime import timedelta, datetime from time import sleep -from apierrors import errors -from bll.task import ChangeStatusRequest -from config import config -from database.model.task.task import TaskStatus, Task -from utilities.threads_manager import ThreadsManager +from apiserver.apierrors import errors +from apiserver.bll.task import ChangeStatusRequest +from apiserver.config import config +from apiserver.database.model.task.task import TaskStatus, Task +from apiserver.utilities.threads_manager import ThreadsManager log = config.logger(__file__) diff --git a/apiserver/bll/task/param_utils.py b/apiserver/bll/task/param_utils.py index 0b212e2..cb2a40b 100644 --- a/apiserver/bll/task/param_utils.py +++ b/apiserver/bll/task/param_utils.py @@ -3,10 +3,10 @@ from typing import Sequence, Tuple import dpath -from apierrors import errors -from database.model.task.task import Task -from tools import safe_get -from utilities.parameter_key_escaper import ParameterKeyEscaper +from apiserver.apierrors import errors +from apiserver.database.model.task.task import Task +from apiserver.tools import safe_get +from apiserver.utilities.parameter_key_escaper import ParameterKeyEscaper hyperparams_default_section = "Args" diff --git a/apiserver/bll/task/task_bll.py b/apiserver/bll/task/task_bll.py index adb48bf..847f0f6 100644 --- a/apiserver/bll/task/task_bll.py +++ b/apiserver/bll/task/task_bll.py @@ -11,18 +11,18 @@ import six from mongoengine import Q from six import string_types -import database.utils as dbutils -import es_factory -from apierrors import errors -from apimodels.tasks import Artifact as ApiArtifact -from bll.organization import OrgBLL, Tags -from config import config -from database.errors import translate_errors_context -from database.model.model import Model -from database.model.project import Project -from database.model.task.metrics import EventStats, MetricEventStats -from database.model.task.output import Output -from database.model.task.task import ( +import apiserver.database.utils as dbutils +from apiserver import es_factory +from apiserver.apierrors import errors +from apiserver.apimodels.tasks import Artifact as ApiArtifact +from apiserver.bll.organization import OrgBLL, Tags +from apiserver.config import config +from apiserver.database.errors import translate_errors_context +from apiserver.database.model.model import Model +from apiserver.database.model.project import Project +from apiserver.database.model.task.metrics import EventStats, MetricEventStats +from apiserver.database.model.task.output import Output +from apiserver.database.model.task.task import ( Task, TaskStatus, TaskStatusMessage, @@ -31,11 +31,11 @@ from database.model.task.task import ( Artifact, external_task_types, ) -from database.utils import get_company_or_none_constraint, id as create_id -from service_repo import APICall -from timing_context import TimingContext -from utilities.dicts import deep_merge -from utilities.parameter_key_escaper import ParameterKeyEscaper +from apiserver.database.utils import get_company_or_none_constraint, id as create_id +from apiserver.service_repo import APICall +from apiserver.timing_context import TimingContext +from apiserver.utilities.dicts import deep_merge +from apiserver.utilities.parameter_key_escaper import ParameterKeyEscaper from .param_utils import params_prepare_for_save from .utils import ChangeStatusRequest, validate_status_change diff --git a/apiserver/bll/task/utils.py b/apiserver/bll/task/utils.py index c0580be..fb3464f 100644 --- a/apiserver/bll/task/utils.py +++ b/apiserver/bll/task/utils.py @@ -4,13 +4,13 @@ from typing import TypeVar, Callable, Tuple, Sequence import attr import six -from apierrors import errors -from database.errors import translate_errors_context -from database.model.project import Project -from database.model.task.task import Task, TaskStatus, TaskSystemTags -from database.utils import get_options -from timing_context import TimingContext -from utilities.attrs import typed_attrs +from apiserver.apierrors import errors +from apiserver.database.errors import translate_errors_context +from apiserver.database.model.project import Project +from apiserver.database.model.task.task import Task, TaskStatus, TaskSystemTags +from apiserver.database.utils import get_options +from apiserver.timing_context import TimingContext +from apiserver.utilities.attrs import typed_attrs valid_statuses = get_options(TaskStatus) diff --git a/apiserver/bll/user/__init__.py b/apiserver/bll/user/__init__.py index 9e15b08..ceb3b71 100644 --- a/apiserver/bll/user/__init__.py +++ b/apiserver/bll/user/__init__.py @@ -1,7 +1,7 @@ -from apierrors import errors -from apimodels.users import CreateRequest -from database.errors import translate_errors_context -from database.model.user import User +from apiserver.apierrors import errors +from apiserver.apimodels.users import CreateRequest +from apiserver.database.errors import translate_errors_context +from apiserver.database.model.user import User class UserBLL: diff --git a/apiserver/bll/util.py b/apiserver/bll/util.py index 0991f42..ed83b8d 100644 --- a/apiserver/bll/util.py +++ b/apiserver/bll/util.py @@ -2,8 +2,8 @@ import functools from operator import itemgetter from typing import Sequence, Optional, Callable, Tuple, Dict, Any, Set -from database.model import AttributedDocument -from database.model.settings import Settings +from apiserver.database.model import AttributedDocument +from apiserver.database.model.settings import Settings def extract_properties_to_lists( diff --git a/apiserver/bll/workers/__init__.py b/apiserver/bll/workers/__init__.py index fdf2416..6e7e50a 100644 --- a/apiserver/bll/workers/__init__.py +++ b/apiserver/bll/workers/__init__.py @@ -5,10 +5,10 @@ from typing import Sequence, Set, Optional import attr import elasticsearch.helpers -import es_factory -from apierrors import APIError -from apierrors.errors import bad_request, server_error -from apimodels.workers import ( +from apiserver import es_factory +from apiserver.apierrors import APIError +from apiserver.apierrors.errors import bad_request, server_error +from apiserver.apimodels.workers import ( DEFAULT_TIMEOUT, IdNameEntry, WorkerEntry, @@ -17,16 +17,16 @@ from apimodels.workers import ( QueueEntry, MachineStats, ) -from config import config -from database.errors import translate_errors_context -from database.model.auth import User -from database.model.company import Company -from database.model.project import Project -from database.model.queue import Queue -from database.model.task.task import Task -from redis_manager import redman -from timing_context import TimingContext -from tools import safe_get +from apiserver.config import config +from apiserver.database.errors import translate_errors_context +from apiserver.database.model.auth import User +from apiserver.database.model.company import Company +from apiserver.database.model.project import Project +from apiserver.database.model.queue import Queue +from apiserver.database.model.task.task import Task +from apiserver.redis_manager import redman +from apiserver.timing_context import TimingContext +from apiserver.tools import safe_get from .stats import WorkerStats log = config.logger(__file__) diff --git a/apiserver/bll/workers/stats.py b/apiserver/bll/workers/stats.py index ecf7442..34630f1 100644 --- a/apiserver/bll/workers/stats.py +++ b/apiserver/bll/workers/stats.py @@ -3,12 +3,12 @@ from typing import Optional, Sequence from boltons.iterutils import bucketize -from apierrors.errors import bad_request -from apimodels.workers import AggregationType, GetStatsRequest, StatItem -from bll.query import Builder as QueryBuilder -from config import config -from database.errors import translate_errors_context -from timing_context import TimingContext +from apiserver.apierrors.errors import bad_request +from apiserver.apimodels.workers import AggregationType, GetStatsRequest, StatItem +from apiserver.bll.query import Builder as QueryBuilder +from apiserver.config import config +from apiserver.database.errors import translate_errors_context +from apiserver.timing_context import TimingContext log = config.logger(__file__) diff --git a/apiserver/config/info.py b/apiserver/config/info.py index a970d89..ba6f002 100644 --- a/apiserver/config/info.py +++ b/apiserver/config/info.py @@ -1,9 +1,9 @@ from functools import lru_cache from os import getenv from pathlib import Path -from version import __version__ -from config import config +from apiserver.config import config +from apiserver.version import __version__ root = Path(__file__).parent.parent diff --git a/apiserver/database/__init__.py b/apiserver/database/__init__.py index f2aa574..78209f3 100644 --- a/apiserver/database/__init__.py +++ b/apiserver/database/__init__.py @@ -8,7 +8,7 @@ from jsonmodels.fields import StringField from mongoengine import register_connection from mongoengine.connection import get_connection -from config import config +from apiserver.config import config from .defs import Database from .utils import get_items diff --git a/apiserver/database/errors.py b/apiserver/database/errors.py index 45196d6..6ddb320 100644 --- a/apiserver/database/errors.py +++ b/apiserver/database/errors.py @@ -17,7 +17,7 @@ from mongoengine.errors import ( ) from pymongo.errors import PyMongoError, NotMasterError -from apierrors import errors +from apiserver.apierrors import errors class MakeGetAllQueryError(Exception): diff --git a/apiserver/database/model/__init__.py b/apiserver/database/model/__init__.py index 8f34979..52049ff 100644 --- a/apiserver/database/model/__init__.py +++ b/apiserver/database/model/__init__.py @@ -2,10 +2,10 @@ from enum import Enum from mongoengine import Document, StringField -from apierrors import errors -from database.model.base import DbModelMixin, ABSTRACT_FLAG -from database.model.company import Company -from database.model.user import User +from apiserver.apierrors import errors +from apiserver.database.model.base import DbModelMixin, ABSTRACT_FLAG +from apiserver.database.model.company import Company +from apiserver.database.model.user import User class AttributedDocument(DbModelMixin, Document): diff --git a/apiserver/database/model/auth.py b/apiserver/database/model/auth.py index 406ae9d..f599afd 100644 --- a/apiserver/database/model/auth.py +++ b/apiserver/database/model/auth.py @@ -6,10 +6,10 @@ from mongoengine import ( DateTimeField, ) -from database import Database, strict -from database.model import DbModelMixin -from database.model.base import AuthDocument -from database.utils import get_options +from apiserver.database import Database, strict +from apiserver.database.model import DbModelMixin +from apiserver.database.model.base import AuthDocument +from apiserver.database.utils import get_options class Entities(object): diff --git a/apiserver/database/model/base.py b/apiserver/database/model/base.py index 8b78595..b1d3391 100644 --- a/apiserver/database/model/base.py +++ b/apiserver/database/model/base.py @@ -8,14 +8,14 @@ from dateutil.parser import parse as parse_datetime from mongoengine import Q, Document, ListField, StringField from pymongo.command_cursor import CommandCursor -from apierrors import errors -from apierrors.base import BaseError -from config import config -from database.errors import MakeGetAllQueryError -from database.projection import project_dict, ProjectionHelper -from database.props import PropsMixin -from database.query import RegexQ, RegexWrapper -from database.utils import ( +from apiserver.apierrors import errors +from apiserver.apierrors.base import BaseError +from apiserver.config import config +from apiserver.database.errors import MakeGetAllQueryError +from apiserver.database.projection import project_dict, ProjectionHelper +from apiserver.database.props import PropsMixin +from apiserver.database.query import RegexQ, RegexWrapper +from apiserver.database.utils import ( get_company_or_none_constraint, get_fields_choices, field_does_not_exist, diff --git a/apiserver/database/model/company.py b/apiserver/database/model/company.py index 4eaf26b..91d32da 100644 --- a/apiserver/database/model/company.py +++ b/apiserver/database/model/company.py @@ -8,9 +8,9 @@ from mongoengine import ( DateTimeField, ) -from database import Database, strict -from database.fields import StrippedStringField -from database.model import DbModelMixin +from apiserver.database import Database, strict +from apiserver.database.fields import StrippedStringField +from apiserver.database.model import DbModelMixin class ReportStatsOption(EmbeddedDocument): diff --git a/apiserver/database/model/model.py b/apiserver/database/model/model.py index 8de275c..a5fb950 100644 --- a/apiserver/database/model/model.py +++ b/apiserver/database/model/model.py @@ -1,14 +1,14 @@ from mongoengine import Document, StringField, DateTimeField, BooleanField -from database import Database, strict -from database.fields import StrippedStringField, SafeDictField, SafeSortedListField -from database.model import DbModelMixin -from database.model.base import GetMixin -from database.model.model_labels import ModelLabels -from database.model.company import Company -from database.model.project import Project -from database.model.task.task import Task -from database.model.user import User +from apiserver.database import Database, strict +from apiserver.database.fields import StrippedStringField, SafeDictField, SafeSortedListField +from apiserver.database.model import DbModelMixin +from apiserver.database.model.base import GetMixin +from apiserver.database.model.model_labels import ModelLabels +from apiserver.database.model.company import Company +from apiserver.database.model.project import Project +from apiserver.database.model.task.task import Task +from apiserver.database.model.user import User class Model(DbModelMixin, Document): diff --git a/apiserver/database/model/model_labels.py b/apiserver/database/model/model_labels.py index 7b6f4e6..37f1d6f 100644 --- a/apiserver/database/model/model_labels.py +++ b/apiserver/database/model/model_labels.py @@ -1,4 +1,4 @@ -from database.fields import NoneType, UnionField, SafeMapField +from apiserver.database.fields import NoneType, UnionField, SafeMapField class ModelLabels(SafeMapField): diff --git a/apiserver/database/model/project.py b/apiserver/database/model/project.py index 6165811..5f456f7 100644 --- a/apiserver/database/model/project.py +++ b/apiserver/database/model/project.py @@ -1,9 +1,9 @@ from mongoengine import StringField, DateTimeField, IntField -from database import Database, strict -from database.fields import StrippedStringField, SafeSortedListField -from database.model import AttributedDocument -from database.model.base import GetMixin +from apiserver.database import Database, strict +from apiserver.database.fields import StrippedStringField, SafeSortedListField +from apiserver.database.model import AttributedDocument +from apiserver.database.model.base import GetMixin class Project(AttributedDocument): diff --git a/apiserver/database/model/queue.py b/apiserver/database/model/queue.py index 29b122e..f75a990 100644 --- a/apiserver/database/model/queue.py +++ b/apiserver/database/model/queue.py @@ -6,12 +6,12 @@ from mongoengine import ( EmbeddedDocumentListField, ) -from database import Database, strict -from database.fields import StrippedStringField, SafeSortedListField -from database.model import DbModelMixin -from database.model.base import ProperDictMixin, GetMixin -from database.model.company import Company -from database.model.task.task import Task +from apiserver.database import Database, strict +from apiserver.database.fields import StrippedStringField, SafeSortedListField +from apiserver.database.model import DbModelMixin +from apiserver.database.model.base import ProperDictMixin, GetMixin +from apiserver.database.model.company import Company +from apiserver.database.model.task.task import Task class Entry(EmbeddedDocument, ProperDictMixin): diff --git a/apiserver/database/model/settings.py b/apiserver/database/model/settings.py index 3424350..6819a75 100644 --- a/apiserver/database/model/settings.py +++ b/apiserver/database/model/settings.py @@ -3,8 +3,8 @@ from typing import Any, Optional, Sequence, Tuple from mongoengine import Document, StringField, DynamicField, Q from mongoengine.errors import NotUniqueError -from database import Database, strict -from database.model import DbModelMixin +from apiserver.database import Database, strict +from apiserver.database.model import DbModelMixin class SettingKeys: diff --git a/apiserver/database/model/task/metrics.py b/apiserver/database/model/task/metrics.py index 64c3a25..3ac1152 100644 --- a/apiserver/database/model/task/metrics.py +++ b/apiserver/database/model/task/metrics.py @@ -6,7 +6,7 @@ from mongoengine import ( EmbeddedDocumentField, ) -from database.fields import SafeMapField +from apiserver.database.fields import SafeMapField class MetricEvent(EmbeddedDocument): diff --git a/apiserver/database/model/task/output.py b/apiserver/database/model/task/output.py index b5e2742..898b7df 100644 --- a/apiserver/database/model/task/output.py +++ b/apiserver/database/model/task/output.py @@ -1,7 +1,7 @@ from mongoengine import EmbeddedDocument, StringField -from database.fields import StrippedStringField -from database.utils import get_options +from apiserver.database.fields import StrippedStringField +from apiserver.database.utils import get_options class Result(object): diff --git a/apiserver/database/model/task/task.py b/apiserver/database/model/task/task.py index 77e95fa..63f66d5 100644 --- a/apiserver/database/model/task/task.py +++ b/apiserver/database/model/task/task.py @@ -8,8 +8,8 @@ from mongoengine import ( LongField, ) -from database import Database, strict -from database.fields import ( +from apiserver.database import Database, strict +from apiserver.database.fields import ( StrippedStringField, SafeMapField, SafeDictField, @@ -17,11 +17,11 @@ from database.fields import ( EmbeddedDocumentSortedListField, SafeSortedListField, ) -from database.model import AttributedDocument -from database.model.base import ProperDictMixin, GetMixin -from database.model.model_labels import ModelLabels -from database.model.project import Project -from database.utils import get_options +from apiserver.database.model import AttributedDocument +from apiserver.database.model.base import ProperDictMixin, GetMixin +from apiserver.database.model.model_labels import ModelLabels +from apiserver.database.model.project import Project +from apiserver.database.utils import get_options from .metrics import MetricEvent, MetricEventStats from .output import Output diff --git a/apiserver/database/model/user.py b/apiserver/database/model/user.py index e6031f5..18329c1 100644 --- a/apiserver/database/model/user.py +++ b/apiserver/database/model/user.py @@ -1,9 +1,9 @@ from mongoengine import Document, StringField, DynamicField -from database import Database, strict -from database.model import DbModelMixin -from database.model.base import GetMixin -from database.model.company import Company +from apiserver.database import Database, strict +from apiserver.database.model import DbModelMixin +from apiserver.database.model.base import GetMixin +from apiserver.database.model.company import Company class User(DbModelMixin, Document): diff --git a/apiserver/database/model/version.py b/apiserver/database/model/version.py index 2c001d9..33db9e3 100644 --- a/apiserver/database/model/version.py +++ b/apiserver/database/model/version.py @@ -1,7 +1,7 @@ from mongoengine import Document, DateTimeField, StringField -from database import Database, strict -from database.model import DbModelMixin +from apiserver.database import Database, strict +from apiserver.database.model import DbModelMixin class Version(DbModelMixin, Document): diff --git a/apiserver/database/projection.py b/apiserver/database/projection.py index a5d77f3..ba614f7 100644 --- a/apiserver/database/projection.py +++ b/apiserver/database/projection.py @@ -5,8 +5,8 @@ from typing import Sequence, Dict, Callable, Tuple, Any, Type import dpath.path -from apierrors import errors -from database.props import PropsMixin +from apiserver.apierrors import errors +from apiserver.database.props import PropsMixin SEP = "." diff --git a/apiserver/database/props.py b/apiserver/database/props.py index a61dc0b..4eb03c9 100644 --- a/apiserver/database/props.py +++ b/apiserver/database/props.py @@ -8,12 +8,12 @@ import six from mongoengine import EmbeddedDocumentField, EmbeddedDocumentListField from mongoengine.base import get_document, BaseField -from database.fields import ( +from apiserver.database.fields import ( LengthRangeEmbeddedDocumentListField, UniqueEmbeddedDocumentListField, EmbeddedDocumentSortedListField, ) -from database.utils import get_fields, get_fields_attr +from apiserver.database.utils import get_fields, get_fields_attr class PropsMixin(object): diff --git a/apiserver/elastic/initialize.py b/apiserver/elastic/initialize.py index 91f8826..23d1f25 100644 --- a/apiserver/elastic/initialize.py +++ b/apiserver/elastic/initialize.py @@ -5,9 +5,9 @@ from typing import Type, Optional, Sequence, Any, Union import urllib3.exceptions from elasticsearch import Elasticsearch, exceptions -import es_factory -from config import config -from elastic.apply_mappings import apply_mappings_to_cluster +from apiserver import es_factory +from apiserver.config import config +from apiserver.elastic.apply_mappings import apply_mappings_to_cluster log = config.logger(__file__) diff --git a/apiserver/es_factory.py b/apiserver/es_factory.py index e039cdc..c53755c 100644 --- a/apiserver/es_factory.py +++ b/apiserver/es_factory.py @@ -4,7 +4,7 @@ from os import getenv from boltons.iterutils import first from elasticsearch import Elasticsearch, Transport -from config import config +from apiserver.config import config log = config.logger(__file__) diff --git a/apiserver/mongo/initialize/__init__.py b/apiserver/mongo/initialize/__init__.py index 40abe97..370bd5b 100644 --- a/apiserver/mongo/initialize/__init__.py +++ b/apiserver/mongo/initialize/__init__.py @@ -1,10 +1,10 @@ from pathlib import Path from typing import Sequence, Union -from config import config -from config.info import get_default_company -from database.model.auth import Role -from service_repo.auth.fixed_user import FixedUser +from apiserver.config import config +from apiserver.config.info import get_default_company +from apiserver.database.model.auth import Role +from apiserver.service_repo.auth.fixed_user import FixedUser from .migration import _apply_migrations, check_mongo_empty, get_last_server_version from .pre_populate import PrePopulate from .user import ensure_fixed_user, _ensure_auth_user, _ensure_backend_user diff --git a/apiserver/mongo/initialize/migration.py b/apiserver/mongo/initialize/migration.py index b3e3bc5..0c259cb 100644 --- a/apiserver/mongo/initialize/migration.py +++ b/apiserver/mongo/initialize/migration.py @@ -6,9 +6,9 @@ from pathlib import Path from mongoengine.connection import get_db from semantic_version import Version -import database.utils -from database import Database -from database.model.version import Version as DatabaseVersion +from apiserver.database import utils +from apiserver.database import Database +from apiserver.database.model.version import Version as DatabaseVersion migration_dir = Path(__file__).resolve().parent.with_name("migrations") @@ -16,7 +16,7 @@ migration_dir = Path(__file__).resolve().parent.with_name("migrations") def check_mongo_empty() -> bool: return not all( get_db(alias).collection_names() - for alias in database.utils.get_options(Database) + for alias in utils.get_options(Database) ) @@ -82,7 +82,7 @@ def _apply_migrations(log: Logger): ) DatabaseVersion( - id=database.utils.id(), + id=utils.id(), num=script.stem, created=datetime.utcnow(), desc="Applied on server startup", diff --git a/apiserver/mongo/initialize/pre_populate.py b/apiserver/mongo/initialize/pre_populate.py index 3844608..c729dd6 100644 --- a/apiserver/mongo/initialize/pre_populate.py +++ b/apiserver/mongo/initialize/pre_populate.py @@ -31,21 +31,21 @@ from boltons.iterutils import chunked_iter from furl import furl from mongoengine import Q -from bll.event import EventBLL -from bll.task.param_utils import ( +from apiserver.bll.event import EventBLL +from apiserver.bll.task.param_utils import ( split_param_name, hyperparams_default_section, hyperparams_legacy_type, ) -from config import config -from config.info import get_default_company -from database.model import EntityVisibility -from database.model.model import Model -from database.model.project import Project -from database.model.task.task import Task, ArtifactModes, TaskStatus -from database.utils import get_options -from tools import safe_get -from utilities import json +from apiserver.config import config +from apiserver.config.info import get_default_company +from apiserver.database.model import EntityVisibility +from apiserver.database.model.model import Model +from apiserver.database.model.project import Project +from apiserver.database.model.task.task import Task, ArtifactModes, TaskStatus +from apiserver.database.utils import get_options +from apiserver.tools import safe_get +from apiserver.utilities import json from .user import _ensure_backend_user diff --git a/apiserver/mongo/initialize/user.py b/apiserver/mongo/initialize/user.py index dc34e19..adfd375 100644 --- a/apiserver/mongo/initialize/user.py +++ b/apiserver/mongo/initialize/user.py @@ -3,10 +3,10 @@ from logging import Logger import attr -from database.model.auth import Role -from database.model.auth import User as AuthUser, Credentials -from database.model.user import User -from service_repo.auth.fixed_user import FixedUser +from apiserver.database.model.auth import Role +from apiserver.database.model.auth import User as AuthUser, Credentials +from apiserver.database.model.user import User +from apiserver.service_repo.auth.fixed_user import FixedUser def _ensure_auth_user(user_data: dict, company_id: str, log: Logger, revoke: bool = False): diff --git a/apiserver/mongo/initialize/util.py b/apiserver/mongo/initialize/util.py index e90c8fc..d9315de 100644 --- a/apiserver/mongo/initialize/util.py +++ b/apiserver/mongo/initialize/util.py @@ -1,11 +1,11 @@ from logging import Logger from uuid import uuid4 -from bll.queue import QueueBLL -from config import config -from database.model.company import Company -from database.model.queue import Queue -from database.model.settings import Settings, SettingKeys +from apiserver.bll.queue import QueueBLL +from apiserver.config import config +from apiserver.database.model.company import Company +from apiserver.database.model.queue import Queue +from apiserver.database.model.settings import Settings, SettingKeys log = config.logger(__file__) diff --git a/apiserver/mongo/migrations/0.12.1.py b/apiserver/mongo/migrations/0.12.1.py index 38e4efc..5c789d6 100644 --- a/apiserver/mongo/migrations/0.12.1.py +++ b/apiserver/mongo/migrations/0.12.1.py @@ -1,6 +1,6 @@ from pymongo.database import Database, Collection -from database.utils import partition_tags +from apiserver.database.utils import partition_tags def migrate_backend(db: Database): diff --git a/apiserver/mongo/migrations/0.14.0.py b/apiserver/mongo/migrations/0.14.0.py index 4d478f3..c8be217 100644 --- a/apiserver/mongo/migrations/0.14.0.py +++ b/apiserver/mongo/migrations/0.14.0.py @@ -2,7 +2,7 @@ import hashlib from pymongo.database import Database, Collection -from service_repo.auth.fixed_user import FixedUser +from apiserver.service_repo.auth.fixed_user import FixedUser def _get_ids(): diff --git a/apiserver/mongo/migrations/0.16.0.py b/apiserver/mongo/migrations/0.16.0.py index 4de4dcb..ab20f2a 100644 --- a/apiserver/mongo/migrations/0.16.0.py +++ b/apiserver/mongo/migrations/0.16.0.py @@ -1,11 +1,11 @@ from pymongo.database import Database, Collection -from bll.task.param_utils import ( +from apiserver.bll.task.param_utils import ( hyperparams_legacy_type, hyperparams_default_section, split_param_name, ) -from tools import safe_get +from apiserver.tools import safe_get def migrate_backend(db: Database): diff --git a/apiserver/redis_manager.py b/apiserver/redis_manager.py index 8b85c68..8a5744a 100644 --- a/apiserver/redis_manager.py +++ b/apiserver/redis_manager.py @@ -6,8 +6,8 @@ from boltons.iterutils import first from redis import StrictRedis from redis.sentinel import Sentinel, SentinelConnectionPool -from apierrors.errors.server_error import ConfigError, GeneralError -from config import config +from apiserver.apierrors.errors.server_error import ConfigError, GeneralError +from apiserver.config import config log = config.logger(__file__) diff --git a/apiserver/schema.py b/apiserver/schema.py index 2b3321c..f1dc4de 100644 --- a/apiserver/schema.py +++ b/apiserver/schema.py @@ -11,8 +11,8 @@ import attr from boltons.dictutils import subdict from pyhocon import ConfigFactory -from config import config -from utilities.partial_version import PartialVersion +from apiserver.config import config +from apiserver.utilities.partial_version import PartialVersion HERE = Path(__file__) diff --git a/apiserver/server.py b/apiserver/server.py index 5410008..b7ba8c7 100644 --- a/apiserver/server.py +++ b/apiserver/server.py @@ -4,9 +4,9 @@ from flask import Flask from flask_compress import Compress from flask_cors import CORS -from app_routes import register_routes -from app_sequence import AppSequence -from config import config +from apiserver.app_routes import register_routes +from apiserver.app_sequence import AppSequence +from apiserver.config import config app = Flask(__name__, static_url_path="/static") CORS(app, **config.get("apiserver.cors")) diff --git a/apiserver/service_repo/apicall.py b/apiserver/service_repo/apicall.py index db8c03d..e81c319 100644 --- a/apiserver/service_repo/apicall.py +++ b/apiserver/service_repo/apicall.py @@ -6,10 +6,10 @@ from typing import Type, Optional from jsonmodels import models from six import string_types -import database -from timing_context import TimingContext, TimingStats -from utilities import json -from utilities.partial_version import PartialVersion +from apiserver import database +from apiserver.timing_context import TimingContext, TimingStats +from apiserver.utilities import json +from apiserver.utilities.partial_version import PartialVersion from .auth import Identity from .auth import Payload as AuthPayload from .errors import CallParsingError diff --git a/apiserver/service_repo/auth/auth.py b/apiserver/service_repo/auth/auth.py index d2c2483..b6d70f4 100644 --- a/apiserver/service_repo/auth/auth.py +++ b/apiserver/service_repo/auth/auth.py @@ -4,13 +4,13 @@ from datetime import datetime import jwt from mongoengine import Q -from apierrors import errors -from config import config -from database.errors import translate_errors_context -from database.model.auth import User, Entities, Credentials -from database.model.company import Company -from database.utils import get_options -from timing_context import TimingContext +from apiserver.apierrors import errors +from apiserver.config import config +from apiserver.database.errors import translate_errors_context +from apiserver.database.model.auth import User, Entities, Credentials +from apiserver.database.model.company import Company +from apiserver.database.utils import get_options +from apiserver.timing_context import TimingContext from .fixed_user import FixedUser from .identity import Identity from .payload import Payload, Token, Basic, AuthType diff --git a/apiserver/service_repo/auth/fixed_user.py b/apiserver/service_repo/auth/fixed_user.py index b814864..089d4e3 100644 --- a/apiserver/service_repo/auth/fixed_user.py +++ b/apiserver/service_repo/auth/fixed_user.py @@ -4,8 +4,8 @@ from typing import Sequence, Optional import attr -from config import config -from config.info import get_default_company +from apiserver.config import config +from apiserver.config.info import get_default_company class FixedUsersError(Exception): diff --git a/apiserver/service_repo/auth/payload/payload.py b/apiserver/service_repo/auth/payload/payload.py index 3814fc1..ed11780 100644 --- a/apiserver/service_repo/auth/payload/payload.py +++ b/apiserver/service_repo/auth/payload/payload.py @@ -1,4 +1,4 @@ -from apierrors import errors +from apiserver.apierrors import errors from ..identity import Identity from ..dictable import Dictable diff --git a/apiserver/service_repo/auth/payload/token.py b/apiserver/service_repo/auth/payload/token.py index fb63662..f3da02b 100644 --- a/apiserver/service_repo/auth/payload/token.py +++ b/apiserver/service_repo/auth/payload/token.py @@ -2,9 +2,9 @@ import jwt from datetime import datetime, timedelta -from apierrors import errors -from config import config -from database.model.auth import Role +from apiserver.apierrors import errors +from apiserver.config import config +from apiserver.database.model.auth import Role from .auth_type import AuthType from .payload import Payload diff --git a/apiserver/service_repo/endpoint.py b/apiserver/service_repo/endpoint.py index 38e6a1a..93b061c 100644 --- a/apiserver/service_repo/endpoint.py +++ b/apiserver/service_repo/endpoint.py @@ -4,8 +4,8 @@ from boltons.iterutils import remap from jsonmodels import models from jsonmodels.errors import FieldNotSupported -from schema import schema -from utilities.partial_version import PartialVersion +from apiserver.schema import schema +from apiserver.utilities.partial_version import PartialVersion from .apicall import APICall from .schema_validator import SchemaValidator diff --git a/apiserver/service_repo/schema_validator.py b/apiserver/service_repo/schema_validator.py index e37f881..2090cb4 100644 --- a/apiserver/service_repo/schema_validator.py +++ b/apiserver/service_repo/schema_validator.py @@ -6,8 +6,8 @@ import fastjsonschema import jsonschema from boltons.iterutils import remap -from apierrors import errors -from config import config +from apiserver.apierrors import errors +from apiserver.config import config log = config.logger(__file__) diff --git a/apiserver/service_repo/service_repo.py b/apiserver/service_repo/service_repo.py index 19b77f8..1b5a5e2 100644 --- a/apiserver/service_repo/service_repo.py +++ b/apiserver/service_repo/service_repo.py @@ -6,12 +6,12 @@ from typing import cast, Iterable, List, MutableMapping, Optional, Tuple import jsonmodels.models -import timing_context -from apierrors import APIError -from apierrors.errors.bad_request import RequestPathHasInvalidVersion -from api_version import __version__ as _api_version_ -from config import config -from utilities.partial_version import PartialVersion +from apiserver import timing_context +from apiserver.apierrors import APIError +from apiserver.apierrors.errors.bad_request import RequestPathHasInvalidVersion +from apiserver.api_version import __version__ as _api_version_ +from apiserver.config import config +from apiserver.utilities.partial_version import PartialVersion from .apicall import APICall from .endpoint import Endpoint from .errors import MalformedPathError, InvalidVersionError, CallFailedError diff --git a/apiserver/service_repo/validators.py b/apiserver/service_repo/validators.py index 50eab99..a404049 100644 --- a/apiserver/service_repo/validators.py +++ b/apiserver/service_repo/validators.py @@ -1,13 +1,13 @@ import fastjsonschema import jsonmodels.errors -from apierrors import errors, APIError -from config import config -from database.model import Company -from database.model.auth import Role, User -from service_repo import APICall -from service_repo.apicall import MissingIdentity -from service_repo.endpoint import Endpoint +from apiserver.apierrors import errors, APIError +from apiserver.config import config +from apiserver.database.model import Company +from apiserver.database.model.auth import Role, User +from apiserver.service_repo import APICall +from apiserver.service_repo.apicall import MissingIdentity +from apiserver.service_repo.endpoint import Endpoint from .auth import get_auth_func, Identity, authorize_impersonation, Payload from .errors import CallParsingError diff --git a/apiserver/services/auth.py b/apiserver/services/auth.py index 7229c02..abc8f17 100644 --- a/apiserver/services/auth.py +++ b/apiserver/services/auth.py @@ -1,5 +1,5 @@ -from apierrors import errors -from apimodels.auth import ( +from apiserver.apierrors import errors +from apiserver.apimodels.auth import ( GetTokenResponse, GetTokenForUserRequest, GetTokenRequest, @@ -14,14 +14,14 @@ from apimodels.auth import ( RevokeCredentialsRequest, EditUserReq, ) -from apimodels.base import UpdateResponse -from bll.auth import AuthBLL -from config import config, info -from database.errors import translate_errors_context -from database.model.auth import User -from service_repo import APICall, endpoint -from service_repo.auth import Token -from service_repo.auth.fixed_user import FixedUser +from apiserver.apimodels.base import UpdateResponse +from apiserver.bll.auth import AuthBLL +from apiserver.config import config, info +from apiserver.database.errors import translate_errors_context +from apiserver.database.model.auth import User +from apiserver.service_repo import APICall, endpoint +from apiserver.service_repo.auth import Token +from apiserver.service_repo.auth.fixed_user import FixedUser log = config.logger(__file__) diff --git a/apiserver/services/debug.py b/apiserver/services/debug.py index 504a1c8..afbc978 100644 --- a/apiserver/services/debug.py +++ b/apiserver/services/debug.py @@ -1,4 +1,4 @@ -from service_repo import APICall, endpoint +from apiserver.service_repo import APICall, endpoint @endpoint("debug.ping") diff --git a/apiserver/services/events.py b/apiserver/services/events.py index 6ad3e1c..dfdc52f 100644 --- a/apiserver/services/events.py +++ b/apiserver/services/events.py @@ -2,8 +2,8 @@ import itertools from collections import defaultdict from operator import itemgetter -from apierrors import errors -from apimodels.events import ( +from apiserver.apierrors import errors +from apiserver.apimodels.events import ( MultiTaskScalarMetricsIterHistogramRequest, ScalarMetricsIterHistogramRequest, DebugImagesRequest, @@ -14,11 +14,11 @@ from apimodels.events import ( LogEventsRequest, LogOrderEnum, ) -from bll.event import EventBLL -from bll.event.event_metrics import EventMetrics -from bll.task import TaskBLL -from service_repo import APICall, endpoint -from utilities import json +from apiserver.bll.event import EventBLL +from apiserver.bll.event.event_metrics import EventMetrics +from apiserver.bll.task import TaskBLL +from apiserver.service_repo import APICall, endpoint +from apiserver.utilities import json task_bll = TaskBLL() event_bll = EventBLL() diff --git a/apiserver/services/models.py b/apiserver/services/models.py index 5429866..dbd1e6c 100644 --- a/apiserver/services/models.py +++ b/apiserver/services/models.py @@ -3,11 +3,11 @@ from typing import Sequence from mongoengine import Q, EmbeddedDocument -import database -from apierrors import errors -from apierrors.errors.bad_request import InvalidModelId -from apimodels.base import UpdateResponse, MakePublicRequest -from apimodels.models import ( +from apiserver import database +from apiserver.apierrors import errors +from apiserver.apierrors.errors.bad_request import InvalidModelId +from apiserver.apimodels.base import UpdateResponse, MakePublicRequest +from apiserver.apimodels.models import ( CreateModelRequest, CreateModelResponse, PublishModelRequest, @@ -15,23 +15,23 @@ from apimodels.models import ( ModelTaskPublishResponse, GetFrameworksRequest, ) -from bll.model import ModelBLL -from bll.organization import OrgBLL, Tags -from bll.task import TaskBLL -from config import config -from database.errors import translate_errors_context -from database.model import validate_id -from database.model.model import Model -from database.model.project import Project -from database.model.task.task import Task, TaskStatus -from database.utils import ( +from apiserver.bll.model import ModelBLL +from apiserver.bll.organization import OrgBLL, Tags +from apiserver.bll.task import TaskBLL +from apiserver.config import config +from apiserver.database.errors import translate_errors_context +from apiserver.database.model import validate_id +from apiserver.database.model.model import Model +from apiserver.database.model.project import Project +from apiserver.database.model.task.task import Task, TaskStatus +from apiserver.database.utils import ( parse_from_call, get_company_or_none_constraint, filter_fields, ) -from service_repo import APICall, endpoint -from services.utils import conform_tag_fields, conform_output_tags -from timing_context import TimingContext +from apiserver.service_repo import APICall, endpoint +from apiserver.services.utils import conform_tag_fields, conform_output_tags +from apiserver.timing_context import TimingContext log = config.logger(__file__) org_bll = OrgBLL() diff --git a/apiserver/services/organization.py b/apiserver/services/organization.py index ebbb1ee..890c7eb 100644 --- a/apiserver/services/organization.py +++ b/apiserver/services/organization.py @@ -1,9 +1,9 @@ from collections import defaultdict -from apimodels.organization import TagsRequest -from bll.organization import OrgBLL, Tags -from service_repo import endpoint, APICall -from services.utils import get_tags_filter_dictionary, get_tags_response +from apiserver.apimodels.organization import TagsRequest +from apiserver.bll.organization import OrgBLL, Tags +from apiserver.service_repo import endpoint, APICall +from apiserver.services.utils import get_tags_filter_dictionary, get_tags_response org_bll = OrgBLL() diff --git a/apiserver/services/projects.py b/apiserver/services/projects.py index a23bdfe..3511369 100644 --- a/apiserver/services/projects.py +++ b/apiserver/services/projects.py @@ -6,31 +6,31 @@ from operator import itemgetter import dpath from mongoengine import Q -import database -from apierrors import errors -from apierrors.errors.bad_request import InvalidProjectId -from apimodels.base import UpdateResponse, MakePublicRequest -from apimodels.projects import ( +from apiserver import database +from apiserver.apierrors import errors +from apiserver.apierrors.errors.bad_request import InvalidProjectId +from apiserver.apimodels.base import UpdateResponse, MakePublicRequest +from apiserver.apimodels.projects import ( GetHyperParamReq, ProjectReq, ProjectTagsRequest, ) -from bll.organization import OrgBLL, Tags -from bll.task import TaskBLL -from database.errors import translate_errors_context -from database.model import EntityVisibility -from database.model.model import Model -from database.model.project import Project -from database.model.task.task import Task, TaskStatus -from database.utils import parse_from_call, get_options, get_company_or_none_constraint -from service_repo import APICall, endpoint -from services.utils import ( +from apiserver.bll.organization import OrgBLL, Tags +from apiserver.bll.task import TaskBLL +from apiserver.database.errors import translate_errors_context +from apiserver.database.model import EntityVisibility +from apiserver.database.model.model import Model +from apiserver.database.model.project import Project +from apiserver.database.model.task.task import Task, TaskStatus +from apiserver.database.utils import parse_from_call, get_options, get_company_or_none_constraint +from apiserver.service_repo import APICall, endpoint +from apiserver.services.utils import ( conform_tag_fields, conform_output_tags, get_tags_filter_dictionary, get_tags_response, ) -from timing_context import TimingContext +from apiserver.timing_context import TimingContext org_bll = OrgBLL() task_bll = TaskBLL() diff --git a/apiserver/services/queues.py b/apiserver/services/queues.py index 469704e..7e43ad1 100644 --- a/apiserver/services/queues.py +++ b/apiserver/services/queues.py @@ -1,5 +1,5 @@ -from apimodels.base import UpdateResponse -from apimodels.queues import ( +from apiserver.apimodels.base import UpdateResponse +from apiserver.apimodels.queues import ( GetDefaultResp, CreateRequest, DeleteRequest, @@ -12,11 +12,11 @@ from apimodels.queues import ( GetMetricsResponse, QueueMetrics, ) -from bll.queue import QueueBLL -from bll.util import extract_properties_to_lists -from bll.workers import WorkerBLL -from service_repo import APICall, endpoint -from services.utils import conform_tag_fields, conform_output_tags, conform_tags +from apiserver.bll.queue import QueueBLL +from apiserver.bll.util import extract_properties_to_lists +from apiserver.bll.workers import WorkerBLL +from apiserver.service_repo import APICall, endpoint +from apiserver.services.utils import conform_tag_fields, conform_output_tags, conform_tags worker_bll = WorkerBLL() queue_bll = QueueBLL(worker_bll) diff --git a/apiserver/services/server/__init__.py b/apiserver/services/server/__init__.py index 6d7919b..d005505 100644 --- a/apiserver/services/server/__init__.py +++ b/apiserver/services/server/__init__.py @@ -2,16 +2,16 @@ from datetime import datetime from pyhocon.config_tree import NoneValue -from apierrors import errors -from apimodels.server import ReportStatsOptionRequest, ReportStatsOptionResponse -from bll.statistics.stats_reporter import StatisticsReporter -from config import config -from config.info import get_version, get_build_number, get_commit_number -from database.errors import translate_errors_context -from database.model import Company -from database.model.company import ReportStatsOption -from database.model.settings import Settings, SettingKeys -from service_repo import ServiceRepo, APICall, endpoint +from apiserver.apierrors import errors +from apiserver.apimodels.server import ReportStatsOptionRequest, ReportStatsOptionResponse +from apiserver.bll.statistics.stats_reporter import StatisticsReporter +from apiserver.config import config +from apiserver.config.info import get_version, get_build_number, get_commit_number +from apiserver.database.errors import translate_errors_context +from apiserver.database.model import Company +from apiserver.database.model.company import ReportStatsOption +from apiserver.database.model.settings import Settings, SettingKeys +from apiserver.service_repo import ServiceRepo, APICall, endpoint @endpoint("server.get_stats") diff --git a/apiserver/services/tasks.py b/apiserver/services/tasks.py index 330134c..c3f1c8a 100644 --- a/apiserver/services/tasks.py +++ b/apiserver/services/tasks.py @@ -10,10 +10,10 @@ from mongoengine import EmbeddedDocument, Q from mongoengine.queryset.transform import COMPARISON_OPERATORS from pymongo import UpdateOne -from apierrors import errors, APIError -from apierrors.errors.bad_request import InvalidTaskId -from apimodels.base import UpdateResponse, IdResponse, MakePublicRequest -from apimodels.tasks import ( +from apiserver.apierrors import errors, APIError +from apiserver.apierrors.errors.bad_request import InvalidTaskId +from apiserver.apimodels.base import UpdateResponse, IdResponse, MakePublicRequest +from apiserver.apimodels.tasks import ( StartedResponse, ResetResponse, PublishRequest, @@ -40,38 +40,38 @@ from apimodels.tasks import ( DeleteConfigurationRequest, GetConfigurationNamesRequest, ) -from bll.event import EventBLL -from bll.organization import OrgBLL, Tags -from bll.queue import QueueBLL -from bll.task import ( +from apiserver.bll.event import EventBLL +from apiserver.bll.organization import OrgBLL, Tags +from apiserver.bll.queue import QueueBLL +from apiserver.bll.task import ( TaskBLL, ChangeStatusRequest, update_project_time, split_by, ) -from bll.task.hyperparams import HyperParams -from bll.task.non_responsive_tasks_watchdog import NonResponsiveTasksWatchdog -from bll.task.param_utils import ( +from apiserver.bll.task.hyperparams import HyperParams +from apiserver.bll.task.non_responsive_tasks_watchdog import NonResponsiveTasksWatchdog +from apiserver.bll.task.param_utils import ( params_prepare_for_save, params_unprepare_from_saved, escape_paths, ) -from bll.util import SetFieldsResolver -from database.errors import translate_errors_context -from database.model.model import Model -from database.model.task.output import Output -from database.model.task.task import ( +from apiserver.bll.util import SetFieldsResolver +from apiserver.database.errors import translate_errors_context +from apiserver.database.model.model import Model +from apiserver.database.model.task.output import Output +from apiserver.database.model.task.task import ( Task, TaskStatus, Script, DEFAULT_LAST_ITERATION, Execution, ) -from database.utils import get_fields, parse_from_call -from service_repo import APICall, endpoint -from services.utils import conform_tag_fields, conform_output_tags, validate_tags -from timing_context import TimingContext -from utilities.partial_version import PartialVersion +from apiserver.database.utils import get_fields, parse_from_call +from apiserver.service_repo import APICall, endpoint +from apiserver.services.utils import conform_tag_fields, conform_output_tags, validate_tags +from apiserver.timing_context import TimingContext +from apiserver.utilities.partial_version import PartialVersion task_fields = set(Task.get_fields()) task_script_fields = set(get_fields(Script)) diff --git a/apiserver/services/users.py b/apiserver/services/users.py index d240b8d..58453bb 100644 --- a/apiserver/services/users.py +++ b/apiserver/services/users.py @@ -5,19 +5,19 @@ import dpath from boltons.iterutils import remap from mongoengine import Q -from apierrors import errors -from apimodels.base import UpdateResponse -from apimodels.users import CreateRequest, SetPreferencesRequest -from bll.project import ProjectBLL -from bll.user import UserBLL -from config import config -from database.errors import translate_errors_context -from database.model.auth import Role -from database.model.company import Company -from database.model.user import User -from database.utils import parse_from_call -from service_repo import APICall, endpoint -from utilities.json import loads, dumps +from apiserver.apierrors import errors +from apiserver.apimodels.base import UpdateResponse +from apiserver.apimodels.users import CreateRequest, SetPreferencesRequest +from apiserver.bll.project import ProjectBLL +from apiserver.bll.user import UserBLL +from apiserver.config import config +from apiserver.database.errors import translate_errors_context +from apiserver.database.model.auth import Role +from apiserver.database.model.company import Company +from apiserver.database.model.user import User +from apiserver.database.utils import parse_from_call +from apiserver.service_repo import APICall, endpoint +from apiserver.utilities.json import loads, dumps log = config.logger(__file__) project_bll = ProjectBLL() diff --git a/apiserver/services/utils.py b/apiserver/services/utils.py index 48147c8..82983a0 100644 --- a/apiserver/services/utils.py +++ b/apiserver/services/utils.py @@ -1,11 +1,11 @@ from typing import Union, Sequence, Tuple -from apierrors import errors -from apimodels.organization import Filter -from database.model.base import GetMixin -from database.utils import partition_tags -from service_repo import APICall -from utilities.partial_version import PartialVersion +from apiserver.apierrors import errors +from apiserver.apimodels.organization import Filter +from apiserver.database.model.base import GetMixin +from apiserver.database.utils import partition_tags +from apiserver.service_repo import APICall +from apiserver.utilities.partial_version import PartialVersion def get_tags_filter_dictionary(input_: Filter) -> dict: diff --git a/apiserver/services/workers.py b/apiserver/services/workers.py index 6ef9f82..3522db9 100644 --- a/apiserver/services/workers.py +++ b/apiserver/services/workers.py @@ -4,8 +4,8 @@ from typing import Optional, Sequence, Union from boltons.iterutils import bucketize -from apierrors.errors import bad_request -from apimodels.workers import ( +from apiserver.apierrors.errors import bad_request +from apiserver.apimodels.workers import ( WorkerRequest, StatusReportRequest, GetAllRequest, @@ -23,10 +23,10 @@ from apimodels.workers import ( GetActivityReportResponse, ActivityReportSeries, ) -from bll.util import extract_properties_to_lists -from bll.workers import WorkerBLL -from config import config -from service_repo import APICall, endpoint +from apiserver.bll.util import extract_properties_to_lists +from apiserver.bll.workers import WorkerBLL +from apiserver.config import config +from apiserver.service_repo import APICall, endpoint log = config.logger(__file__) diff --git a/apiserver/sync.py b/apiserver/sync.py index a3e2fc8..1f5799e 100644 --- a/apiserver/sync.py +++ b/apiserver/sync.py @@ -2,7 +2,7 @@ import time from contextlib import contextmanager from time import sleep -from redis_manager import redman +from apiserver.redis_manager import redman _redis = redman.connection("apiserver") diff --git a/apiserver/tests/api_client.py b/apiserver/tests/api_client.py index 600b363..f4c1746 100644 --- a/apiserver/tests/api_client.py +++ b/apiserver/tests/api_client.py @@ -4,18 +4,18 @@ import os import time from contextlib import contextmanager from typing import Sequence +from typing import Union, Tuple, Type import requests import six -from boltons.typeutils import issubclass from boltons.iterutils import remap +from boltons.typeutils import issubclass +from pyhocon import ConfigFactory from requests.adapters import HTTPAdapter from requests.auth import HTTPBasicAuth from requests.packages.urllib3.util.retry import Retry -from typing import Union, Tuple, Type -from apierrors.base import BaseError -from pyhocon import ConfigFactory +from apiserver.apierrors.base import BaseError config = ConfigFactory.parse_file("api_client.conf") diff --git a/apiserver/tests/automated/__init__.py b/apiserver/tests/automated/__init__.py index d6b8f8d..1b98b41 100644 --- a/apiserver/tests/automated/__init__.py +++ b/apiserver/tests/automated/__init__.py @@ -5,8 +5,8 @@ from functools import partial from typing import Iterable from unittest import TestCase -from tests.api_client import APIClient -from config import config +from apiserver.tests.api_client import APIClient +from apiserver.config import config log = config.logger(__file__) diff --git a/apiserver/tests/automated/test_entity_ordering.py b/apiserver/tests/automated/test_entity_ordering.py index 87f4cc7..611fa62 100644 --- a/apiserver/tests/automated/test_entity_ordering.py +++ b/apiserver/tests/automated/test_entity_ordering.py @@ -3,7 +3,7 @@ from time import sleep from typing import Sequence, Mapping -from tests.automated import TestService +from apiserver.tests.automated import TestService class TestEntityOrdering(TestService): diff --git a/apiserver/tests/automated/test_models.py b/apiserver/tests/automated/test_models.py index 126a5f4..2140aa6 100644 --- a/apiserver/tests/automated/test_models.py +++ b/apiserver/tests/automated/test_models.py @@ -1,5 +1,5 @@ -from apierrors.errors.bad_request import InvalidModelId -from tests.automated import TestService +from apiserver.apierrors.errors.bad_request import InvalidModelId +from apiserver.tests.automated import TestService MODEL_CANNOT_BE_UPDATED_CODES = (400, 203) TASK_CANNOT_BE_UPDATED_CODES = (400, 110) diff --git a/apiserver/tests/automated/test_project_tags.py b/apiserver/tests/automated/test_project_tags.py index 7e85b38..d53c893 100644 --- a/apiserver/tests/automated/test_project_tags.py +++ b/apiserver/tests/automated/test_project_tags.py @@ -1,4 +1,4 @@ -from tests.automated import TestService +from apiserver.tests.automated import TestService class TestProjectTags(TestService): diff --git a/apiserver/tests/automated/test_projection.py b/apiserver/tests/automated/test_projection.py index 32142fa..e9e7e08 100644 --- a/apiserver/tests/automated/test_projection.py +++ b/apiserver/tests/automated/test_projection.py @@ -1,6 +1,6 @@ -from config import config -from database.model.task.task import TaskStatus -from tests.automated import TestService +from apiserver.config import config +from apiserver.database.model.task.task import TaskStatus +from apiserver.tests.automated import TestService log = config.logger(__file__) diff --git a/apiserver/tests/automated/test_projects_edit.py b/apiserver/tests/automated/test_projects_edit.py index 49863cf..dbaf05c 100644 --- a/apiserver/tests/automated/test_projects_edit.py +++ b/apiserver/tests/automated/test_projects_edit.py @@ -1,7 +1,7 @@ -from apierrors.errors.bad_request import InvalidProjectId -from apierrors.errors.forbidden import NoWritePermission -from config import config -from tests.automated import TestService +from apiserver.apierrors.errors.bad_request import InvalidProjectId +from apiserver.apierrors.errors.forbidden import NoWritePermission +from apiserver.config import config +from apiserver.tests.automated import TestService log = config.logger(__file__) diff --git a/apiserver/tests/automated/test_queues.py b/apiserver/tests/automated/test_queues.py index cd9c9d4..e2c36c1 100644 --- a/apiserver/tests/automated/test_queues.py +++ b/apiserver/tests/automated/test_queues.py @@ -4,8 +4,8 @@ from typing import Sequence from future.backports.datetime import timedelta -from tests.api_client import AttrDict -from tests.automated import TestService, utc_now_tz_aware +from apiserver.tests.api_client import AttrDict +from apiserver.tests.automated import TestService, utc_now_tz_aware class TestQueues(TestService): diff --git a/apiserver/tests/automated/test_tags.py b/apiserver/tests/automated/test_tags.py index 889b802..6a849fa 100644 --- a/apiserver/tests/automated/test_tags.py +++ b/apiserver/tests/automated/test_tags.py @@ -2,11 +2,11 @@ from datetime import datetime from time import sleep from typing import Sequence -from apierrors.errors import bad_request -from database.utils import partition_tags -from tests.api_client import APIClient, AttrDict -from tests.automated import TestService -from config import config +from apiserver.apierrors.errors import bad_request +from apiserver.database.utils import partition_tags +from apiserver.tests.api_client import APIClient, AttrDict +from apiserver.tests.automated import TestService +from apiserver.config import config log = config.logger(__file__) diff --git a/apiserver/tests/automated/test_task_events.py b/apiserver/tests/automated/test_task_events.py index 752325a..9059f86 100644 --- a/apiserver/tests/automated/test_task_events.py +++ b/apiserver/tests/automated/test_task_events.py @@ -10,9 +10,9 @@ from typing import Sequence, Optional, Tuple from boltons.iterutils import first -import es_factory -from apierrors.errors.bad_request import EventsNotAdded -from tests.automated import TestService +from apiserver import es_factory +from apiserver.apierrors.errors.bad_request import EventsNotAdded +from apiserver.tests.automated import TestService class TestTaskEvents(TestService): diff --git a/apiserver/tests/automated/test_task_hyperparams.py b/apiserver/tests/automated/test_task_hyperparams.py index 528cdd5..104cd21 100644 --- a/apiserver/tests/automated/test_task_hyperparams.py +++ b/apiserver/tests/automated/test_task_hyperparams.py @@ -3,9 +3,9 @@ from typing import Sequence, List, Tuple from boltons import iterutils -from apierrors.errors.bad_request import InvalidTaskStatus -from tests.api_client import APIClient -from tests.automated import TestService +from apiserver.apierrors.errors.bad_request import InvalidTaskStatus +from apiserver.tests.api_client import APIClient +from apiserver.tests.automated import TestService class TestTasksHyperparams(TestService): diff --git a/apiserver/tests/automated/test_tasks_delete.py b/apiserver/tests/automated/test_tasks_delete.py index 5e4e86b..eefb9b2 100644 --- a/apiserver/tests/automated/test_tasks_delete.py +++ b/apiserver/tests/automated/test_tasks_delete.py @@ -1,7 +1,7 @@ from parameterized import parameterized -from config import config -from tests.automated import TestService +from apiserver.config import config +from apiserver.tests.automated import TestService log = config.logger(__file__) diff --git a/apiserver/tests/automated/test_tasks_diff.py b/apiserver/tests/automated/test_tasks_diff.py index 716aa14..0a54f6e 100644 --- a/apiserver/tests/automated/test_tasks_diff.py +++ b/apiserver/tests/automated/test_tasks_diff.py @@ -1,5 +1,5 @@ -from config import config -from tests.automated import TestService +from apiserver.config import config +from apiserver.tests.automated import TestService log = config.logger(__file__) diff --git a/apiserver/tests/automated/test_tasks_edit.py b/apiserver/tests/automated/test_tasks_edit.py index b9b0b3b..a799231 100644 --- a/apiserver/tests/automated/test_tasks_edit.py +++ b/apiserver/tests/automated/test_tasks_edit.py @@ -1,7 +1,7 @@ -from apierrors.errors.bad_request import InvalidModelId, ValidationError, InvalidTaskId -from apierrors.errors.forbidden import NoWritePermission -from config import config -from tests.automated import TestService +from apiserver.apierrors.errors.bad_request import InvalidModelId, ValidationError, InvalidTaskId +from apiserver.apierrors.errors.forbidden import NoWritePermission +from apiserver.config import config +from apiserver.tests.automated import TestService log = config.logger(__file__) diff --git a/apiserver/tests/automated/test_users.py b/apiserver/tests/automated/test_users.py index 9dc2440..31b8d64 100644 --- a/apiserver/tests/automated/test_users.py +++ b/apiserver/tests/automated/test_users.py @@ -1,8 +1,8 @@ from typing import Sequence from uuid import uuid4 -from config import config -from tests.automated import TestService +from apiserver.config import config +from apiserver.tests.automated import TestService log = config.logger(__file__) diff --git a/apiserver/tests/automated/test_workers.py b/apiserver/tests/automated/test_workers.py index 1489d92..2a3945d 100644 --- a/apiserver/tests/automated/test_workers.py +++ b/apiserver/tests/automated/test_workers.py @@ -4,9 +4,9 @@ from datetime import timedelta from operator import attrgetter from typing import Sequence -from apierrors.errors import bad_request -from tests.automated import TestService, utc_now_tz_aware -from config import config +from apiserver.apierrors.errors import bad_request +from apiserver.tests.automated import TestService, utc_now_tz_aware +from apiserver.config import config log = config.logger(__file__) diff --git a/apiserver/tools.py b/apiserver/tools.py index 1c1ac64..9895c71 100644 --- a/apiserver/tools.py +++ b/apiserver/tools.py @@ -6,12 +6,12 @@ from humanfriendly import parse_timespan def setup(): - from database import initialize + from apiserver.database import initialize initialize() def gen_token(args): - from bll.auth import AuthBLL + from apiserver.bll.auth import AuthBLL resp = AuthBLL.get_token_for_user(args.user_id, args.company_id, parse_timespan(args.expiration)) print('Token:\n%s' % resp.token) diff --git a/apiserver/updates.py b/apiserver/updates.py index 52d1cd6..e0b0f19 100644 --- a/apiserver/updates.py +++ b/apiserver/updates.py @@ -7,10 +7,10 @@ import attr import requests from semantic_version import Version -from config import config -from config.info import get_version -from database.model.settings import Settings -from utilities.threads_manager import ThreadsManager +from apiserver.config import config +from apiserver.config.info import get_version +from apiserver.database.model.settings import Settings +from apiserver.utilities.threads_manager import ThreadsManager log = config.logger(__name__) diff --git a/apiserver/utilities/parameter_key_escaper.py b/apiserver/utilities/parameter_key_escaper.py index 6a69c84..759bb64 100644 --- a/apiserver/utilities/parameter_key_escaper.py +++ b/apiserver/utilities/parameter_key_escaper.py @@ -1,6 +1,6 @@ from boltons.dictutils import OneToOne -from apierrors import errors +from apiserver.apierrors import errors class ParameterKeyEscaper: