diff --git a/cachier/core.py b/cachier/core.py index f0b9c22c..96cf393d 100644 --- a/cachier/core.py +++ b/cachier/core.py @@ -21,10 +21,10 @@ from typing import TYPE_CHECKING, Callable, Literal, Optional, TypedDict, Union from warnings import warn -from .base_core import RecalculationNeeded, _BaseCore -from .memory_core import _MemoryCore -from .mongo_core import _MongoCore -from .pickle_core import _PickleCore +from .cores.base import RecalculationNeeded, _BaseCore +from .cores.memory import _MemoryCore +from .cores.mongo import _MongoCore +from .cores.pickle import _PickleCore if TYPE_CHECKING: import pymongo.collection diff --git a/cachier/cores/__init__.py b/cachier/cores/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/cachier/base_core.py b/cachier/cores/base.py similarity index 100% rename from cachier/base_core.py rename to cachier/cores/base.py diff --git a/cachier/memory_core.py b/cachier/cores/memory.py similarity index 98% rename from cachier/memory_core.py rename to cachier/cores/memory.py index 2a7b6d7b..34d705f4 100644 --- a/cachier/memory_core.py +++ b/cachier/cores/memory.py @@ -3,7 +3,7 @@ import threading from datetime import datetime -from .base_core import _BaseCore +from .base import _BaseCore class _MemoryCore(_BaseCore): diff --git a/cachier/mongo_core.py b/cachier/cores/mongo.py similarity index 98% rename from cachier/mongo_core.py rename to cachier/cores/mongo.py index 7aa0d708..cc741a3b 100644 --- a/cachier/mongo_core.py +++ b/cachier/cores/mongo.py @@ -19,7 +19,7 @@ from pymongo.errors import OperationFailure from bson.binary import Binary # to save binary data to mongodb -from .base_core import _BaseCore, RecalculationNeeded +from .base import _BaseCore, RecalculationNeeded MONGO_SLEEP_DURATION_IN_SEC = 1 diff --git a/cachier/pickle_core.py b/cachier/cores/pickle.py similarity index 99% rename from cachier/pickle_core.py rename to cachier/cores/pickle.py index c76ffe77..4fb1c098 100644 --- a/cachier/pickle_core.py +++ b/cachier/cores/pickle.py @@ -17,7 +17,7 @@ # Alternative: https://github.com/WoLpH/portalocker -from .base_core import _BaseCore +from .base import _BaseCore class _PickleCore(_BaseCore): diff --git a/setup.py b/setup.py index 13f92050..63145eb6 100644 --- a/setup.py +++ b/setup.py @@ -1,4 +1,5 @@ """Setup file for the Cachier package.""" +from setuptools.config.expand import find_packages # This file is part of Cachier. # https://github.com/shaypal5/cachier @@ -30,7 +31,7 @@ author='Shay Palachy', author_email='shay.palachy@gmail.com', url='https://github.com/python-cachier/cachier', - packages=['cachier', 'cachier.scripts'], + packages=find_packages(exclude=['tests']), entry_points=''' [console_scripts] cachier=cachier.scripts.cli:cli diff --git a/tests/test_mongo_core.py b/tests/test_mongo_core.py index d0c613bb..317fc567 100644 --- a/tests/test_mongo_core.py +++ b/tests/test_mongo_core.py @@ -20,8 +20,8 @@ from pymongo_inmemory import MongoClient as InMemoryMongoClient from cachier import cachier -from cachier.base_core import RecalculationNeeded -from cachier.mongo_core import _MongoCore +from cachier.cores.base import RecalculationNeeded +from cachier.cores.mongo import _MongoCore # === Enables testing vs a real MongoDB instance === @@ -270,9 +270,9 @@ def mock_get_entry_by_key(self, key): # skipcq: PYL-R0201, PYL-W0613 return "key", None monkeypatch.setattr( - "cachier.mongo_core._MongoCore.get_entry", mock_get_entry) + "cachier.cores.mongo._MongoCore.get_entry", mock_get_entry) monkeypatch.setattr( - "cachier.mongo_core._MongoCore.get_entry_by_key", mock_get_entry_by_key + "cachier.cores.mongo._MongoCore.get_entry_by_key", mock_get_entry_by_key ) @cachier(mongetter=_test_mongetter) @@ -290,7 +290,7 @@ def mock_get_entry_2(self, args, kwargs): # skipcq: PYL-W0613 return "key", entry monkeypatch.setattr( - "cachier.mongo_core._MongoCore.get_entry", mock_get_entry_2) + "cachier.cores.mongo._MongoCore.get_entry", mock_get_entry_2) stale_after = datetime.timedelta(seconds=1)