Metadata-Version: 1.1
Name: Repack
Version: 0.1.1
Summary: Repack is a collection of well known Python utilities nicely packed together.
Home-page: https://github.com/alexpereverzyev/repack
Author: Alex Pereverzyev
Author-email: pereverzev.alex@gmail.com
License: MIT
Description: 
        .. image:: https://travis-ci.org/AlexPereverzyev/repack.svg
           :target: https://travis-ci.org/AlexPereverzyev/repack
        
        ==================
        Welcome to Repack!
        ==================
        
        Repack is a collection of well known utilities nicely packed together.
        To illustrate the idea, imagine, you need to pass an object via URL query
        string, with Repack it looks like::
            
            import repack
        
            token1 = (repack
                        .json_encode()
                        .bytify()
                        .deflate()
                        .base64_encode()
                        .url_encode()        
                        .converter()
                        .send({'id': 10001, 'desc':'this is a token' }))
        
        But normally, you would do::
        
            import json
            import zlib
            import base64
            import urllib.parse
            
            string = json.dumps({'id': 10001, 'desc':'this is a token' })
            stream = bytes(string, 'utf-8')
            stream = zlib.compress(stream)
            string = base64.b64encode(stream)
            token1 = urllib.parse.quote(string)
        
        Feel the difference :) Also you want it to be lasy, so you can make a converter
        once and use it later::
        
            urlit = (repack
                        .json_encode()
                        .bytify()
                        .deflate()
                        .base64_encode()
                        .url_encode()        
                        .converter())
                        
        Like this::
        
            token1 = urlit.send({'id': 10001, 'desc':'this is a token' })
            
        Or like this::
        
            token2 = urlit.send('another token lol')    
            token3 = urlit.send('one more yay')
            token4 = urlit.send('yay!!!')
        
        You can chain the utilities as filter, meaning, values interpreted as `False`
        will not pass::
        
            with (repack
                    .reverse()
                    .printout()
                    .filter()) as f:
                    
                f.send('olleH')
                f.send(None)
                f.send('!dlroW')
                f.send(None)
                
        Prints::
        
            Hello
            World!
            
        Another example is iterator, which allows to set source later::
        
            with (repack
                    .trim()
                    .integer()
                    .iterator()) as iterator:
                    
                results = []
                for v in iterator.send(iter(['1 ','\t2', '\n3'])):
                    results.append(v)
                
        Results in::
        
            [1, 2, 3]
        
        Or vice versa, using accumulator::
        
            with (repack
                    .trim()
                    .integer()
                    .accumulator()) as acc:
                
                acc.send('1 ')
                acc.send('\t2')
                acc.send('\n3')
                
                results = []
                for v in acc:
                    results.append(v)
        
        The package is under development. Everyone is welcome to contribute.
        For TODOs, please see the current TODO list in the root folder.
        
        Requirements
        ============
        
        - Python 3.4.2
        
        Install
        =======
        
        sudo pip install repack 
        
        Extension
        =========
        
        As easy as adding more filters to `filters/__init__.py` or more flows
        to `flows/__init__.py`.
Platform: Mac OS
Platform: Linux
Platform: Windows
Classifier: Environment :: Console
Classifier: Environment :: Web Environment
Classifier: Development Status :: 4 - Beta
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3.4
Classifier: License :: OSI Approved :: MIT License
Classifier: Intended Audience :: Developers
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires: json
Requires: pickle
Requires: re
Requires: base64
Requires: html
Requires: urllib
Requires: cgi
Requires: binascii
Requires: zlib
Requires: lzma
Requires: time
Requires: hashlib
Requires: hmac
