Metadata-Version: 2.1
Name: sparse-list
Version: 0.8.1
Summary: A list where most (>95%) values will be None (or default)
Home-page: https://github.com/johnsyweb/python_sparse_list
Author: Pete Johns
Author-email: paj+pypi@johnsy.com
Maintainer: Pete Johns
Maintainer-email: paj+pypi@johnsy.com
License: MIT
Download-URL: https://github.com/johnsyweb/python_sparse_list/tarball/0.8.1
Keywords: sparse,list,container,iterable
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.3
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Classifier: Topic :: Software Development
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Utilities
Requires-Dist: six

`Sparse List <https://pypi.org/project/sparse_list/>`__ |Build Status|
=========================================================================

Inspired by the post `Populating a sparse list with random
1's <http://stackoverflow.com/q/17522753/78845>`__ on
`StackOverflow <http://stackoverflow.com/>`__.

A "sparse list" is a list where most (say, more than 95% of) values will
be None (or some other default) and for reasons of memory efficiency you
don't wish to store these (cf. `Sparse
array <http://en.wikipedia.org/wiki/Sparse_array>`__).

This implementation has a similar interface to Python's built-in list
but stores the data in a dictionary to conserve memory.

Installation
------------

`sparse_list <https://pypi.org/project/sparse_list/>`__ is
available from `The Python Package Index (PyPI) <https://pypi.org/>`__ .

Installation is simply:

::

    $ pip install sparse_list

Usage
-----

See the
`unit-tests <https://github.com/johnsyweb/python_sparse_list/blob/master/test_sparse_list.py>`__!

Contributing
------------

1. Fork it
2. Create your feature branch (``git checkout -b my-new-feature``)
3. Commit your changes (``git commit -am 'Add some feature'``)
4. Ensure the tests pass for all Pythons in
   `.travis.yml <https://github.com/johnsyweb/python_sparse_list/blob/master/.travis.yml>`__
5. Push to the branch (``git push origin my-new-feature``)
6. Create new Pull Request

Thanks
------

If you find this stuff useful, please follow this repository on
`GitHub <https://github.com/johnsyweb/python_sparse_list>`__. If you
have something to say, you can contact
`johnsyweb <http://johnsy.com/about/>`__ on
`Twitter <http://twitter.com/johnsyweb/>`__ and
`GitHub <https://github.com/johnsyweb/>`__.


Many thanks
-----------

I'm grateful for contributions to what was a solo project (hooray for
`GitHub :octocat:) <http://github.com/>`__! If you'd like to thank the
contributors, you can find their details here:

https://github.com/johnsyweb/python_sparse_list/graphs/contributors

.. |Build Status| image:: https://travis-ci.org/johnsyweb/python_sparse_list.png
   :target: https://travis-ci.org/johnsyweb/python_sparse_list


