# Left this file for backward-compatibility before 0.2.99 from scrapling.core.utils import log # A lightweight approach to create lazy loader for each import for backward compatibility # This will reduces initial memory footprint significantly (only loads what's used) def __getattr__(name): if name == "Fetcher": from scrapling.fetchers import Fetcher as cls log.warning( "This import is deprecated now and it will be removed with v0.3. Use `from scrapling.fetchers import Fetcher` instead" ) return cls elif name == "AsyncFetcher": from scrapling.fetchers import AsyncFetcher as cls log.warning( "This import is deprecated now and it will be removed with v0.3. Use `from scrapling.fetchers import AsyncFetcher` instead" ) return cls elif name == "StealthyFetcher": from scrapling.fetchers import StealthyFetcher as cls log.warning( "This import is deprecated now and it will be removed with v0.3. Use `from scrapling.fetchers import StealthyFetcher` instead" ) return cls elif name == "PlayWrightFetcher": from scrapling.fetchers import PlayWrightFetcher as cls log.warning( "This import is deprecated now and it will be removed with v0.3. Use `from scrapling.fetchers import PlayWrightFetcher` instead" ) return cls else: raise AttributeError(f"module 'scrapling' has no attribute '{name}'")