**data_printer** - data printer and dumper
Project description
NAME
data_printer - data printer and dumper
VERSION
0.0.8
SYNOPSIS
from data_printer import p, np
import sys
from colored import fore, back, style
class A:
def __init__(self, **kw):
for k, v in kw.items():
setattr(self, k, v)
data = A(abc="acc", a=A(x=dict(p=10, r=[20, (2, 0.01)])), s='Строка\n', b=b'binary\n', r=r'\n')
# add ref to themselwes:
data.a.x['r'].append(data)
# print colored structure to sys.stdout
p(data)
# print colored structure to file stream
p(data, file=sys.stderr)
# print uncolored structure to file stream
p(data, file=sys.stderr, color=False)
# serialize structure to string
s = np(data)
# serialize structure to string without indexes: [6] -> [0] 6
s = np(data, indexes=False)
# serialize structure to colored string (colors as escape sequences)
s = np(data, color=True)
# default color scheme
p(data, color=dict(
bool = fore.LIGHT_BLUE,
none = fore.LIGHT_BLUE,
int = fore.LIGHT_YELLOW,
float = fore.LIGHT_YELLOW,
str = fore.LIGHT_GREEN,
bytes = fore.LIGHT_MAGENTA,
object = fore.LIGHT_RED,
any = fore.LIGHT_GRAY,
key = fore.LIGHT_CYAN,
ref = fore.RED,
punct = fore.WHITE,
))
# replace two colors
s = np(data, color=dict(
bool = fore.LIGHT_RED,
none = fore.LIGHT_YELLOW,
))
# print in perl-style (python - default) and without "[0] 7" in list "[7]".
p(data, sep="perl", indexes=False)
# print in node-style
p(data, sep="node")
# self-style
p(data, sep=dict(
kword=True,
oword=True,
kw=" => ",
kv=" => ",
object_open="bless {",
object_close="}, %n",
dict_open="{",
dict_close="}",
list_open="[",
list_close="]",
tuple_open="[",
tuple_close="]",
str='"%s"',
bytes='do { use bytes; "%s" }',
scalar='%n("%s")', # for datetime.datetime and others
none="undef",
true="1",
false="0"
))
# self-style with two and lambda on bytes
p(data, sep=dict(
str='"%s"',
bytes=lambda s: "".join(['Buffer.from(", ', ", ".join(["0x%X" % ch for ch in s]) ,')']),
))
# filters use for specific objects
import datetime
p([datetime.datetime.now()], filters={
datetime.datetime: lambda obj, ddp: ddp.echo("⎈ ", ddp.color.key).echo(repr(obj), ddp.color.any),
})
# print without newline on the end
p(data, end="")
DESCRIPTION
Data recursive printer. Serialize any python3 data to string or print in console or file.
Is colorised output.
Data printer check many references to one structure.
INSTALL
$ pip install data-printer
REQUIREMENTS
- colored
AUTHOR
Kosmina O. Yaroslav darviarush@mail.ru
LICENSE
MIT License
Copyright (c) 2020 Kosmina O. Yaroslav
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
data-printer-0.0.8.tar.gz
(6.0 kB
view details)
Built Distribution
File details
Details for the file data-printer-0.0.8.tar.gz
.
File metadata
- Download URL: data-printer-0.0.8.tar.gz
- Upload date:
- Size: 6.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 55292b14c49a2b2ba4441a068f2fe77abcda8f8956f4d5d2d694831f8eb5dbcb |
|
MD5 | 95d53ce96ffcef238d19b7aa0126a9f9 |
|
BLAKE2b-256 | 5ce13e63662d835af86346b65ab0ebdce9e818bbdde552a592d4824e309a8588 |
File details
Details for the file data_printer-0.0.8-py3-none-any.whl
.
File metadata
- Download URL: data_printer-0.0.8-py3-none-any.whl
- Upload date:
- Size: 6.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9253a914a15a7ba65f78f7b9ead786f20a8deeb0bba1b27a9e924e17f7380ffd |
|
MD5 | acc55a708f98681a6109a06fbf4a4658 |
|
BLAKE2b-256 | ee25af14e62213d964fed5600e3a55c06bd3b005cbf1bff85161617e85da6e92 |