Repack is a collection of well known Python utilities nicely packed together.
Project description
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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file Repack-0.1.1.tar.gz
.
File metadata
- Download URL: Repack-0.1.1.tar.gz
- Upload date:
- Size: 7.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 482d57136577f26dccb5ff29a1ed240b841ec3155f8f2e36362b80df53efd0b7 |
|
MD5 | 8b5339f796ba8822ae59c33c77e52a04 |
|
BLAKE2b-256 | 573c3769da66435d45f881e99b3c439950e863e275b01f12dfe491886da5dfc3 |