Helpers for creation of nicer repr() and str().
Project description
This module exposes a few functions and a class decorator to make the task of writing __repr__() and __str__() for custom classes much easier. It will display a list of nicely formatted (attr, val) pairs with custmizable separator and formatting for each pair.
Let’s look at an example:
from rr import pretty
class foo(object):
__str__ = pretty.str
__repr__ = pretty.repr
__info__ = pretty.info(["x", "y", "z"])
def __init__(self, x, y, z):
self.x = x
self.y = y
self.z = z
f = foo(1, 2, 3)
print repr(f) # see for yourself :)
print str(f)
Now, let’s do the same, only this time we’ll use the klass() class decorator:
from rr import pretty
@pretty.klass
class foo(object):
def __init__(self, x, y, z):
self.x = x
self.y = y
self.z = z
f = foo(1, 2, 3)
print repr(f) # see for yourself :)
print str(f)
We even left out the attribute list, and pretty.info() (which is what pretty.klass() uses behind the scenes) builds it for us. That’s it! You get nice __repr__() and __str__() methods for free.
Installation
>From PyPI (“stable” release):
pip install rr.pretty
>From the Git repo:
git clone https://github.com/2xR/rr.pretty.git
pip install ./rr.pretty
Contributing
Contributions are welcome through github pull requests (tests would be nice to have… :P)
And if you’re using the library and would like to say “thanks!” and/or keep me working on it, why not buy me a beer?
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
Built Distribution
Hashes for rr.pretty-0.1.0-py2-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e671cedd08b3350780baafde3cef73efd30c61f1c0b98d0fa78bdf47036e4b5c |
|
MD5 | 15e9ec99fb2ef82ac0e9422bcc90d3d1 |
|
BLAKE2b-256 | 9a369540cce35610f41dc33f76b98fb000d53f298eccaf6402a38c9e37a20c67 |