Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions builders/server/benchmarks/bench_build.py
Original file line number Diff line number Diff line change
Expand Up @@ -93,16 +93,16 @@ def _run_standalone(days: int) -> None:
cur.execute(create_index)

# patch modules to use test db
import db.connection
import db.datasets
from runtime import config, loader
import core.db.connection
import core.db.datasets
from core.runtime import config, loader

@contextmanager
def _test_conn():
yield conn

db.connection.get_conn = _test_conn # type: ignore[assignment] # benchmark patching
db.datasets.get_conn = _test_conn # type: ignore[assignment] # benchmark patching
core.db.connection.get_conn = _test_conn # type: ignore[assignment] # benchmark patching
core.db.datasets.get_conn = _test_conn # type: ignore[assignment] # benchmark patching
config.SCRIPTS_DIR = scripts_dir
loader.SCRIPTS_DIR = scripts_dir

Expand Down
10 changes: 5 additions & 5 deletions builders/server/benchmarks/conftest.py
Original file line number Diff line number Diff line change
Expand Up @@ -66,21 +66,21 @@ def clean_db(db_conn):
@pytest.fixture(autouse=True)
def patch_db_conn(db_conn, monkeypatch):
"""Redirect all production DB calls to the test database."""
import db.connection
import db.datasets
import core.db.connection
import core.db.datasets

@contextmanager
def _test_conn():
yield db_conn

monkeypatch.setattr(db.connection, "get_conn", _test_conn)
monkeypatch.setattr(db.datasets, "get_conn", _test_conn)
monkeypatch.setattr(core.db.connection, "get_conn", _test_conn)
monkeypatch.setattr(core.db.datasets, "get_conn", _test_conn)


@pytest.fixture(autouse=True)
def real_scripts_dir(monkeypatch):
"""Point SCRIPTS_DIR to the real builders/scripts/ directory."""
from runtime import config, loader
from core.runtime import config, loader

monkeypatch.setattr(config, "SCRIPTS_DIR", REAL_SCRIPTS_DIR)
monkeypatch.setattr(loader, "SCRIPTS_DIR", REAL_SCRIPTS_DIR)
Expand Down
13 changes: 0 additions & 13 deletions builders/server/calendars/registry.py

This file was deleted.

File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,10 @@
import structlog
from fastapi import APIRouter, HTTPException, Query
from fastapi.responses import JSONResponse
from service.builder import NoValidTimestampsError, build_dataset, get_data
from service.catalog import list_datasets
from utils.semver import SemVer

from core.service.builder import NoValidTimestampsError, build_dataset, get_data
from core.service.catalog import list_datasets
from core.utils.semver import SemVer

logger = structlog.get_logger()

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
from datetime import datetime, timedelta

from calendars.interface import Calendar
from core.calendars.interface import Calendar


class AlwaysOpenCalendar(Calendar):
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
from datetime import datetime, timedelta

from calendars.interface import Calendar
from calendars.utils import is_midnight
from core.calendars.interface import Calendar
from core.calendars.utils import is_midnight


class EverydayCalendar(Calendar):
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
import exchange_calendars as xcals
import pandas as pd

from calendars.interface import Calendar
from calendars.utils import is_midnight
from core.calendars.interface import Calendar
from core.calendars.utils import is_midnight


class NyseDailyCalendar(Calendar):
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
from datetime import datetime, timedelta

from calendars.interface import Calendar
from calendars.utils import is_midnight
from core.calendars.interface import Calendar
from core.calendars.utils import is_midnight


class WeekdayCalendar(Calendar):
Expand Down
13 changes: 13 additions & 0 deletions builders/server/core/calendars/registry.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
from core.calendars.definitions.always_open import AlwaysOpenCalendar
from core.calendars.definitions.everyday import EverydayCalendar
from core.calendars.definitions.nyse_daily import NyseDailyCalendar
from core.calendars.definitions.weekday import WeekdayCalendar
from core.calendars.interface import Calendar

# registry mapping calendar name -> Calendar instance
CALENDARS_MAP: dict[str, Calendar] = {
"everyday": EverydayCalendar(),
"weekday": WeekdayCalendar(),
"always-open": AlwaysOpenCalendar(),
"nyse-daily": NyseDailyCalendar(),
}
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@
import structlog
from psycopg.rows import dict_row
from psycopg.types.json import Jsonb
from utils.semver import SemVer

from db.connection import get_conn
from core.db.connection import get_conn
from core.utils.semver import SemVer

logger = structlog.get_logger()

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,10 @@
from pathlib import Path

import structlog
from calendars.interface import Calendar
from calendars.registry import CALENDARS_MAP
from utils.semver import SemVer

from core.calendars.interface import Calendar
from core.calendars.registry import CALENDARS_MAP
from core.utils.semver import SemVer

logger = structlog.get_logger()

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,8 @@
from pathlib import Path

import structlog
from utils.semver import SemVer

from core.utils.semver import SemVer

logger = structlog.get_logger()

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,13 @@
from pathlib import Path

import structlog
from utils.semver import SemVer

from runtime.config import (
from core.runtime.config import (
DatasetConfig,
normalize_config,
validate_config,
)
from core.utils.semver import SemVer

logger = structlog.get_logger()

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,14 @@
from pathlib import Path

import structlog
from utils.retry import retry_with_backoff

from runtime.serialization import (
from core.runtime.serialization import (
WorkerError,
WorkerSuccess,
deserialize_output,
serialize_input,
)
from core.utils.retry import retry_with_backoff

logger = structlog.get_logger()

Expand All @@ -21,7 +21,7 @@
RETRY_INITIAL_DELAY = 2.0 # seconds
RETRY_BACKOFF_FACTOR = 2.0

WORKER_PATH = Path(__file__).parent.parent / "workers" / "subprocess_worker.py"
WORKER_PATH = Path(__file__).parent.parent.parent / "workers" / "subprocess_worker.py"


def run_builder(
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
from runtime.config import SchemaType
from core.runtime.config import SchemaType


class ValidationError(Exception):
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
from dataclasses import dataclass
from datetime import datetime

import db.datasets
import structlog
from runtime import registry
from utils.semver import SemVer

from service.orchestrator import run_build
from service.timestamps import NoValidTimestampsError, generate_timestamps
import core.db.datasets
from core.runtime import registry
from core.service.orchestrator import run_build
from core.service.timestamps import NoValidTimestampsError, generate_timestamps
from core.utils.semver import SemVer

logger = structlog.get_logger()

Expand Down Expand Up @@ -62,7 +62,7 @@ def get_data(
build_dataset(dataset_name, dataset_version, start, end)

total_num_rows = len(generate_timestamps(start, end, cfg.granularity, cfg.calendar))
data = db.datasets.get_rows_range(dataset_name, dataset_version, start, end)
data = core.db.datasets.get_rows_range(dataset_name, dataset_version, start, end)

logger.info(
"data fetched",
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
from dataclasses import dataclass

import db.datasets
from runtime.registry import iter_config_keys
import core.db.datasets
from core.runtime.registry import iter_config_keys


@dataclass
Expand All @@ -15,7 +15,7 @@ class DatasetInfo:

def list_datasets() -> list[DatasetInfo]:
"""Return all pre-loaded datasets annotated with whether they have DB rows."""
has_data = db.datasets.get_datasets_with_data()
has_data = core.db.datasets.get_datasets_with_data()
return sorted(
[
DatasetInfo(
Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
from dataclasses import dataclass
from datetime import datetime

from utils.semver import SemVer
from core.utils.semver import SemVer


@dataclass(frozen=True)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,10 @@
from datetime import datetime

import structlog
from utils.semver import SemVer

from service.scheduler import schedule_build
from service.worker import execute_job
from core.service.scheduler import schedule_build
from core.service.worker import execute_job
from core.utils.semver import SemVer

logger = structlog.get_logger()

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,10 +26,10 @@
from datetime import datetime

import structlog
from runtime import registry
from utils.semver import SemVer

from service.models import BuildPlan, JobDescriptor
from core.runtime import registry
from core.service.models import BuildPlan, JobDescriptor
from core.utils.semver import SemVer

logger = structlog.get_logger()

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

from datetime import datetime, timedelta

from calendars.interface import Calendar
from core.calendars.interface import Calendar


class NoValidTimestampsError(Exception):
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,13 +19,13 @@
from datetime import datetime
from pathlib import Path

import db.datasets
import structlog
from runtime import config, registry, runner, validator

from service.locks import get_build_lock
from service.models import JobDescriptor, JobResult
from service.timestamps import NoValidTimestampsError, generate_timestamps
import core.db.datasets
from core.runtime import config, registry, runner, validator
from core.service.locks import get_build_lock
from core.service.models import JobDescriptor, JobResult
from core.service.timestamps import NoValidTimestampsError, generate_timestamps

logger = structlog.get_logger()

Expand Down Expand Up @@ -90,7 +90,7 @@ def _execute(
# between the "check missing" read and "insert rows" write
with get_build_lock(job.dataset_name, str(job.dataset_version)):
existing = set(
db.datasets.get_existing_timestamps(
core.db.datasets.get_existing_timestamps(
job.dataset_name, job.dataset_version, job.start, job.end
)
)
Expand Down Expand Up @@ -143,7 +143,7 @@ def _execute(
rows.append((ts, result))

# bulk insert -- only reached if all timestamps succeeded
db.datasets.insert_rows(job.dataset_name, job.dataset_version, rows)
core.db.datasets.insert_rows(job.dataset_name, job.dataset_version, rows)
logger.info(
"inserted rows",
dataset=job.dataset_name,
Expand All @@ -166,14 +166,16 @@ def _fetch_dep_data(

for dep_name, dep_info in cfg.dependencies.items():
if dep_info.lookback_subtract is not None:
dep_rows = db.datasets.get_rows_range(
dep_rows = core.db.datasets.get_rows_range(
dep_name,
dep_info.version,
ts - dep_info.lookback_subtract,
ts,
)
else:
dep_rows = db.datasets.get_rows_timestamps(dep_name, dep_info.version, [ts])
dep_rows = core.db.datasets.get_rows_timestamps(
dep_name, dep_info.version, [ts]
)

if not dep_rows:
raise RuntimeError(
Expand Down
File renamed without changes.
File renamed without changes.
10 changes: 5 additions & 5 deletions builders/server/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,13 @@
from contextlib import asynccontextmanager

import structlog
from api.routes import router
from db.connection import close_pool, open_pool
from core.api.routes import router
from core.db.connection import close_pool, open_pool
from core.runtime.config import SCRIPTS_DIR
from core.runtime.registry import load_all_configs
from core.runtime.venv_management import setup_builder_venvs
from fastapi import FastAPI, Request, Response
from log_config import setup_logging as _setup_logging
from runtime.config import SCRIPTS_DIR
from runtime.registry import load_all_configs
from runtime.venv_management import setup_builder_venvs

_setup_logging()

Expand Down
Loading
Loading