Remove decorators/__init__.py to avoid cyclic dependency loops
ADD
plex_trakt_sync/__init__.py
plex_trakt_sync/__init__.py
MODIFY
plex_trakt_sync/commands/sync.py
plex_trakt_sync/commands/sync.py
from plex_trakt_sync.media import Media
from plex_trakt_sync.plex_api import PlexApi
from plex_trakt_sync.config import CONFIG
-from plex_trakt_sync.decorators import measure_time
+from plex_trakt_sync.decorators.measure_time import measure_time
from plex_trakt_sync.trakt_api import TraktApi
from plex_trakt_sync.trakt_list_util import TraktListUtil
from plex_trakt_sync.logging import logger

DELETE
plex_trakt_sync/decorators/__init__.py
-from .http_cache import http_cache
-from .measure_time import measure_time
-from .memoize import memoize
-from .nocache import nocache
-from .rate_limit import rate_limit
-from .time_limit import time_limit

MODIFY
plex_trakt_sync/factory.py
plex_trakt_sync/factory.py
-from plex_trakt_sync.decorators import memoize
+from plex_trakt_sync.decorators.memoize import memoize
class Factory:

MODIFY
plex_trakt_sync/plex_api.py
plex_trakt_sync/plex_api.py
from plexapi.library import MovieSection, ShowSection, LibrarySection
from plexapi.server import PlexServer
-from plex_trakt_sync.decorators import memoize, nocache
+from plex_trakt_sync.decorators.memoize import memoize
+from plex_trakt_sync.decorators.nocache import nocache
from plex_trakt_sync.config import CONFIG
from trakt.utils import timestamp

MODIFY
plex_trakt_sync/plex_server.py
plex_trakt_sync/plex_server.py
import plexapi.server
from plex_trakt_sync.config import CONFIG, PLEX_PLATFORM
-from plex_trakt_sync.decorators import nocache
+from plex_trakt_sync.decorators.nocache import nocache
from plex_trakt_sync.logging import logger

MODIFY
plex_trakt_sync/trakt_api.py
plex_trakt_sync/trakt_api.py
from trakt.sync import Scrobbler
from plex_trakt_sync.logging import logger
-from plex_trakt_sync.decorators import memoize, nocache, rate_limit, time_limit
+from plex_trakt_sync.decorators.memoize import memoize
+from plex_trakt_sync.decorators.nocache import nocache
+from plex_trakt_sync.decorators.rate_limit import rate_limit
+from plex_trakt_sync.decorators.time_limit import time_limit
from plex_trakt_sync.config import CONFIG
from plex_trakt_sync import pytrakt_extensions
from plex_trakt_sync.path import pytrakt_file

MODIFY
plex_trakt_sync/walker.py
plex_trakt_sync/walker.py
from typing import List
-from plex_trakt_sync.decorators import measure_time
+from plex_trakt_sync.decorators.measure_time import measure_time
from plex_trakt_sync.media import MediaFactory, Media
from plex_trakt_sync.plex_api import PlexApi

Remove decorators/__init__.py to avoid cyclic dependency loops