Skip to content

Commit

Permalink
Refactor selectors module to use lazy imports
Browse files Browse the repository at this point in the history
- Move store import statements inside functions to prevent circular imports
- Improve module initialization by avoiding top-level store imports
- Maintain existing functionality while resolving potential import dependencies
  • Loading branch information
saleh-mir committed Feb 28, 2025
1 parent d91585c commit 5461304
Show file tree
Hide file tree
Showing 3 changed files with 8 additions and 3 deletions.
7 changes: 6 additions & 1 deletion jesse/services/selectors.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
from jesse.store import store
from typing import List, ValuesView, Optional, Any


Expand All @@ -14,6 +13,7 @@ def get_position(exchange: str, symbol: str) -> Any:
if exchange is None or symbol is None:
raise ValueError(f"exchange and symbol cannot be None. exchange: {exchange}, symbol: {symbol}")

from jesse.store import store
key = f'{exchange}-{symbol}'
return store.positions.storage.get(key, None)

Expand All @@ -22,21 +22,25 @@ def get_orders(exchange: str, symbol: str) -> List[Any]:
if exchange is None or symbol is None:
raise ValueError(f"exchange and symbol cannot be None. exchange: {exchange}, symbol: {symbol}")

from jesse.store import store
return store.orders.get_orders(exchange, symbol)


def get_time() -> int:
from jesse.store import store
return store.app.time


def get_starting_time() -> int:
from jesse.store import store
return store.app.starting_time


def get_exchange(name: str) -> Any:
if name is None:
raise ValueError(f"name cannot be None. name: {name}")

from jesse.store import store
return store.exchanges.storage.get(name, None)


Expand All @@ -49,6 +53,7 @@ def get_trading_exchange():


def get_all_exchanges() -> ValuesView[Any]:
from jesse.store import store
return store.exchanges.storage.values()


Expand Down
2 changes: 1 addition & 1 deletion jesse/version.py
Original file line number Diff line number Diff line change
@@ -1 +1 @@
__version__ = '1.7.4'
__version__ = '1.7.5'
2 changes: 1 addition & 1 deletion setup.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
from setuptools import setup, find_packages

# also change in version.py
VERSION = "1.7.4"
VERSION = "1.7.5"
DESCRIPTION = "A trading framework for cryptocurrencies"
with open("requirements.txt", "r", encoding="utf-8") as f:
REQUIRED_PACKAGES = f.read().splitlines()
Expand Down

0 comments on commit 5461304

Please sign in to comment.