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 details)

Uploaded Source

File details

Details for the file so_lazy-0.0.2.tar.gz.

File metadata

  • Download URL: so_lazy-0.0.2.tar.gz
  • Upload date:
  • Size: 4.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.1.0 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.7.1

File hashes

Hashes for so_lazy-0.0.2.tar.gz
Algorithm Hash digest
SHA256 7d542785436a12940458235f03958294257030406c7fbc32bcd13d903d266993
MD5 8251f918543b871282f3defa155123bc
BLAKE2b-256 e4e710566a350230d61e689528ffaa4568a3ea9d7663f59e6e32425776634470

See more details on using hashes here.

Supported by

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