Metadata-Version: 1.1
Name: sqlitelist
Version: 0.1
Summary: SQLite3 wrapper with a list-like interface
Home-page: UNKNOWN
Author: deliro
Author-email: t4k.kitaetz@gmail.com
License: Apache 2.0
Description: ==========
        sqlitelist
        ==========
        sqlitelist is a SQLite3 wrapper with a python list-like interface. It comes with one purpose - to keep your data if it bigger than your RAM size.
        
        .. code-block:: python
        >>> from sqlitelist import open
        >>> with open('db') as lst:
        ...     lst.append('hello')
        ...     lst.extend(['world', {}])
        >>> print(len(lst))
        >>> for item in lst:
        >>>     print(item)
        
        
        ===================================
        There is some performance features
        ===================================
        
        .. code-block:: python
        >>> from sqlitelist import open
        >>> with open('db', journal_mode='MEMORY', autocommit=False) as lst:
        ...     for _ in range(1000):
        ...         lst.extend(['some', 'data', {'key': 'value', 'another key': 1}])
        ...     lst.commit()
        >>> # Do not forget to commit your changes if autocommit is off.
        >>> lst.flush()  # For flush all your data without removing a database file.
        
        
        ========
        Features
        ========
        Values can be any pickable objects.
        Support for slices (step and negative indices aren't supported [yet])
        
        .. code-block:: python
        >>> with open('db') as lst:
        ...     print(lst[1:200])
        ...     print(lst[:50])
        ...     print(lst[50:])
        
        Support for getting items by it's index
        
        .. code-block:: python
        >>> with open('db') as lst:
        ...     lst[5]
        ...     lst[-3]
        
        Support for pop, append and extend methods
        
        .. code-block:: python
        >>> with open('db') as lst:
        ...     lst.pop()
        ...     lst.pop(50)  # Pop the element in the 51th place
        
        Support for delete (indices and slices with no negative values)
        
        .. code-block:: python
        >>> with open('db') as lst:
        ...     del lst[0]
        ...     del lst[-50]
        ...     del lst[:50]
        ...     del lst[50:]
        
        
        Support for iteration (no multithreading support!)
        
        .. code-block:: python
        >>> with open('db') as lst:
        ...     for item in lst:
        ...         print(item)
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Natural Language :: English
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.3
Classifier: Programming Language :: Python :: 3.4
