From 6742918441a2c7a46558bbd5cbc4004c806e39b3 Mon Sep 17 00:00:00 2001
From: Alexandra Hobbs <ahobbs@contractor.usgs.gov>
Date: Wed, 19 Mar 2025 17:15:40 -0600
Subject: [PATCH] Fix broken imports related to the __init__.py changes for /ws
 endpoints

---
 geomagio/algorithm/AverageAlgorithm.py       |  4 ++--
 geomagio/algorithm/SpikesAlgorithm.py        |  5 ++---
 geomagio/api/ws/data.py                      | 15 +++++++++------
 geomagio/api/ws/filter.py                    | 10 ++++++----
 geomagio/processing/derived.py               | 18 ++++++++----------
 geomagio/processing/factory.py               |  3 ++-
 geomagio/processing/filters.py               | 12 +++++++-----
 geomagio/processing/flag_spikes.py           |  4 ++--
 geomagio/processing/magproc.py               | 15 +++++++++------
 test/algorithm_test/AverageAlgorithm_test.py |  2 +-
 test/edge_test/mseed_FDSN_test_clients.py    |  2 +-
 11 files changed, 49 insertions(+), 41 deletions(-)

diff --git a/geomagio/algorithm/AverageAlgorithm.py b/geomagio/algorithm/AverageAlgorithm.py
index 9d867aff4..5862bd12a 100644
--- a/geomagio/algorithm/AverageAlgorithm.py
+++ b/geomagio/algorithm/AverageAlgorithm.py
@@ -6,8 +6,8 @@ from __future__ import absolute_import
 
 from .Algorithm import Algorithm
 from .AlgorithmException import AlgorithmException
-from ..ObservatoryMetadata import ObservatoryMetadata
-from .. import TimeseriesUtility
+from geomagio.ObservatoryMetadata import ObservatoryMetadata
+from geomagio import TimeseriesUtility
 import numpy
 import obspy.core
 
diff --git a/geomagio/algorithm/SpikesAlgorithm.py b/geomagio/algorithm/SpikesAlgorithm.py
index b73a90132..60497f0f1 100644
--- a/geomagio/algorithm/SpikesAlgorithm.py
+++ b/geomagio/algorithm/SpikesAlgorithm.py
@@ -7,9 +7,8 @@ from typing import List, Optional
 from enum import Enum
 
 from .MetadataAlgorithm import MetadataAlgorithm
-from ..metadata import Metadata
-from ..metadata.flag.Flag import ArtificialDisturbance, ArtificialDisturbanceType
-from ..metadata import MetadataCategory
+from geomagio.api.db.models.metadata import Metadata, MetadataCategory
+from geomagio.metadata.flag.Flag import ArtificialDisturbance, ArtificialDisturbanceType
 
 
 class SpikesMode(str, Enum):
diff --git a/geomagio/api/ws/data.py b/geomagio/api/ws/data.py
index d2dfc6967..2e5b89c5d 100644
--- a/geomagio/api/ws/data.py
+++ b/geomagio/api/ws/data.py
@@ -5,11 +5,14 @@ from fastapi import APIRouter, Depends, Query, Request
 from obspy import UTCDateTime, Stream
 from starlette.responses import Response
 
-from ... import TimeseriesFactory, TimeseriesUtility
-from ...DerivedTimeseriesFactory import DerivedTimeseriesFactory
-from ...edge import EdgeFactory, FDSNFactory, MiniSeedFactory
-from ...iaga2002 import IAGA2002Writer
-from ...imfjson import IMFJSONWriter
+from geomagio.TimeseriesFactory import TimeseriesFactory
+from geomagio import TimeseriesUtility
+from geomagio.DerivedTimeseriesFactory import DerivedTimeseriesFactory
+from geomagio.edge.EdgeFactory import EdgeFactory
+from geomagio.edge.FDSNFactory import FDSNFactory
+from geomagio.edge.MiniSeedFactory import MiniSeedFactory
+from geomagio.iaga2002.IAGA2002Writer import IAGA2002Writer
+from geomagio.imfjson.IMFJSONWriter import IMFJSONWriter
 from .Observatory import ASL_OBSERVATORY_INDEX
 from .DataApiQuery import (
     DEFAULT_ELEMENTS,
@@ -20,7 +23,7 @@ from .DataApiQuery import (
     DataHost,
 )
 
-from ...pydantic_utcdatetime import CustomUTCDateTimeType
+from geomagio.pydantic_utcdatetime import CustomUTCDateTimeType
 
 
 def get_data_factory(
diff --git a/geomagio/api/ws/filter.py b/geomagio/api/ws/filter.py
index 69516903b..341914a33 100644
--- a/geomagio/api/ws/filter.py
+++ b/geomagio/api/ws/filter.py
@@ -1,8 +1,11 @@
 from typing import List, Union, Optional
 from fastapi import Query
 from obspy import Stream
-from ... import TimeseriesUtility
+import logging as logger
+
 import numpy as np
+
+from geomagio import TimeseriesUtility
 from .DataApiQuery import (
     DEFAULT_ELEMENTS,
     DataHost,
@@ -11,10 +14,9 @@ from .DataApiQuery import (
     SamplingPeriod,
 )
 from .FilterApiQuery import FilterApiQuery
-from ...algorithm import FilterAlgorithm
-import logging as logger
+from geomagio.algorithm.FilterAlgorithm import FilterAlgorithm
 from .data import get_data_factory
-from ...pydantic_utcdatetime import CustomUTCDateTimeType
+from geomagio.pydantic_utcdatetime import CustomUTCDateTimeType
 
 
 def get_filter_data_query(
diff --git a/geomagio/processing/derived.py b/geomagio/processing/derived.py
index 5f45313c3..fe443ed04 100644
--- a/geomagio/processing/derived.py
+++ b/geomagio/processing/derived.py
@@ -1,15 +1,13 @@
-from typing import List, Optional
-
 import numpy
 
-from ..adjusted import AdjustedMatrix
-from ..algorithm import (
-    AdjustedAlgorithm,
-    AverageAlgorithm,
-    SqDistAlgorithm,
-)
-from ..Controller import Controller, get_realtime_interval
-from ..TimeseriesFactory import TimeseriesFactory
+from typing import List, Optional
+
+from geomagio.adjusted.AdjustedMatrix import AdjustedMatrix
+from geomagio.algorithm.AdjustedAlgorithm import AdjustedAlgorithm
+from geomagio.algorithm.AverageAlgorithm import AverageAlgorithm
+from geomagio.algorithm.SqDistAlgorithm import SqDistAlgorithm
+from geomagio.Controller import Controller, get_realtime_interval
+from geomagio.TimeseriesFactory import TimeseriesFactory
 from .factory import get_edge_factory, get_miniseed_factory
 
 
diff --git a/geomagio/processing/factory.py b/geomagio/processing/factory.py
index b857d68ce..18fbdc05b 100644
--- a/geomagio/processing/factory.py
+++ b/geomagio/processing/factory.py
@@ -1,6 +1,7 @@
 import os
 
-from ..edge import EdgeFactory, MiniSeedFactory
+from geomagio.edge.EdgeFactory import EdgeFactory
+from geomagio.edge.MiniSeedFactory import MiniSeedFactory
 
 
 def get_edge_factory(
diff --git a/geomagio/processing/filters.py b/geomagio/processing/filters.py
index 56ea3c01b..6e328c976 100644
--- a/geomagio/processing/filters.py
+++ b/geomagio/processing/filters.py
@@ -3,11 +3,13 @@ from typing import List, Optional
 
 from typer import Argument, Option, Typer
 
-from ..algorithm import Algorithm, FilterAlgorithm
-from ..Controller import Controller, get_realtime_interval
-from ..geomag_types import DataInterval
-from ..TimeseriesFactory import TimeseriesFactory
-from ..edge import EdgeFactory, MiniSeedFactory
+from geomagio.algorithm.Algorithm import Algorithm
+from geomagio.algorithm.FilterAlgorithm import FilterAlgorithm
+from geomagio.Controller import Controller, get_realtime_interval
+from geomagio.geomag_types import DataInterval
+from geomagio.TimeseriesFactory import TimeseriesFactory
+from geomagio.edge.EdgeFactory import EdgeFactory
+from geomagio.edge.MiniSeedFactory import MiniSeedFactory
 
 
 class DataFormat(str, Enum):
diff --git a/geomagio/processing/flag_spikes.py b/geomagio/processing/flag_spikes.py
index 7e84f042e..a18e12b27 100644
--- a/geomagio/processing/flag_spikes.py
+++ b/geomagio/processing/flag_spikes.py
@@ -4,8 +4,8 @@ from datetime import datetime
 import typer
 from typing import Optional
 
-from ..metadata import Metadata
-from ..algorithm.SpikesAlgorithm import SpikesAlgorithm, SpikesMode
+from geomagio.api.db.models.metadata import Metadata
+from geomagio.algorithm.SpikesAlgorithm import SpikesAlgorithm, SpikesMode
 
 
 def flag_spikes(
diff --git a/geomagio/processing/magproc.py b/geomagio/processing/magproc.py
index 7a3047099..d87ecb78c 100644
--- a/geomagio/processing/magproc.py
+++ b/geomagio/processing/magproc.py
@@ -8,12 +8,15 @@ from enum import Enum
 from obspy.core import UTCDateTime, Stream
 import typer
 
-from ..algorithm.FilterAlgorithm import FilterAlgorithm
-from ..edge import EdgeFactory
-from ..pcdcp import PCDCPFactory, PCDCP_FILE_PATTERN
-from ..metadata import Metadata, MetadataCategory, MetadataFactory
-from ..residual import CalFileFactory, Reading, WebAbsolutesFactory
-from ..Util import get_intervals
+from geomagio.algorithm.FilterAlgorithm import FilterAlgorithm
+from geomagio.edge.EdgeFactory import EdgeFactory
+from geomagio.pcdcp.PCDCPFactory import PCDCPFactory, PCDCP_FILE_PATTERN
+from geomagio.api.db.models.metadata import Metadata, MetadataCategory
+from geomagio.metadata.MetadataFactory import MetadataFactory
+from geomagio.residual.CalFileFactory import CalFileFactory
+from geomagio.residual.Reading import Reading
+from geomagio.residual.WebAbsolutesFactory import WebAbsolutesFactory
+from geomagio.Util import get_intervals
 
 
 class ReadingsFactory(str, Enum):
diff --git a/test/algorithm_test/AverageAlgorithm_test.py b/test/algorithm_test/AverageAlgorithm_test.py
index 75a723e70..35c5cb682 100644
--- a/test/algorithm_test/AverageAlgorithm_test.py
+++ b/test/algorithm_test/AverageAlgorithm_test.py
@@ -4,7 +4,7 @@ import numpy as np
 from numpy.testing import assert_array_equal, assert_equal
 
 from geomagio.algorithm.AverageAlgorithm import AverageAlgorithm
-from ..StreamConverter_test import __create_trace
+from test.StreamConverter_test import __create_trace
 
 
 def test_process():
diff --git a/test/edge_test/mseed_FDSN_test_clients.py b/test/edge_test/mseed_FDSN_test_clients.py
index dcad34d2a..50fbb5990 100644
--- a/test/edge_test/mseed_FDSN_test_clients.py
+++ b/test/edge_test/mseed_FDSN_test_clients.py
@@ -3,7 +3,7 @@ from obspy import Stream, UTCDateTime
 from obspy.clients.neic.client import Client
 
 from geomagio import TimeseriesUtility
-from geomagio.edge import FDSNSNCL
+from geomagio.edge.FDSNSNCL import FDSNSNCL
 
 
 class MockFDSNSeedClient(Client):
-- 
GitLab