Skip to main content

Lazy loading Python package

Project description

So Lazy

Build Status Coverage Status PyPI PyPI - Python Version Apache V2 License

Lazy loading Python package.

Install

pip install so-lazy

Usage

Function

from so_lazy import lazy

_data = None

@lazy()
def get_data():
    return _data

def _lazy_loader():
    if _data is None:
        _data = load_expensive_data()

if data_needed:
    data = get_data()

Class

from so_lazy import lazy

class Example:

  def __init__(self):
      self._data = None

  @lazy()
  def __len__(self):
      return len(self._data)

  @lazy()
  def __getitem__(self, index):
      return self._data[index]

  def _lazy_loader():
      if self._data is None:
          self._data = load_expensive_data()

example = Example()

if data_needed:
    data = example[3]

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

so_lazy-0.0.2.tar.gz (4.1 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page