Metadata-Version: 2.1
Name: iterlist
Version: 0.4
Summary: Treat an iterator as a list
Home-page: https://github.west.isilon.com/masenf/iterlist
Author: Ryan Haining
Author-email: haining.cpp@gmail.com
Maintainer: Masen Furer
Maintainer-email: m_github@0x26.net
License: UNKNOWN
Platform: UNKNOWN
Classifier: Intended Audience :: Developers
Classifier: Development Status :: 3 - Alpha
Classifier: Operating System :: OS Independent
Classifier: License :: OSI Approved :: BSD License
Requires-Python: >=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,<4
Description-Content-Type: text/markdown

# iterlist

Lazily evaluated lists in Python

An `iterlist.IterList` accepts a single iterable as its only constructor argument.

The `iterlist.IterList` behaves as a normal list, and will only
evaluate the iterable as needed to satisfy requests for element.

If there is a request for index `[5]`, then elements 0 - 5 will be
evaluated if they have not been yet. Certain operations like `len` and
negative indexing will force the list to be evaluated. This decision was made
to make the iterlist outwardly appear as much like a normal list as possible.

## Infinite Iterators

This implementation does not make any attempt to protect you from running out
of memory attempting to construct a list from an infinite iterator. A future
version may implement `InfiniteIterList`, which will not have support for any
operation which would require consuming the entire iterable.

# License

BSD 2-clause (inherited from lazylist)

# Prior Work

Apparently this is not a new idea...

Forked from: https://github.com/ryanhaining/lazylist (2014/10)

http://stupidpythonideas.blogspot.com/2014/07/lazy-python-lists.html (2014/07)

http://code.activestate.com/recipes/576410-lazy-lists/ (2008/08)

http://www.logarithmic.net/pfh/blog/01193268742 (unknown)


