
Security News
New CVE Forecasting Tool Predicts 47,000 Disclosures in 2025
CVEForecast.org uses machine learning to project a record-breaking surge in vulnerability disclosures in 2025.
PyPrnt helps you to print a list (sequence container) or a dictionary (mapping object) in an organized table form.
Just try it out!
Don't use print()
anymore. Use prnt()
for the rest of your life :)
# If you have both Python 2 and 3,
pip3 install pyprnt
# If you only have Python 3,
pip install pyprnt
from pyprnt import prnt
creation = ["Adam", "Eve"]
menu = {
"Kimchi": 5000,
"Ice Cream": 100
}
print(creation)
prnt(creation) # Magic!
print(menu)
prnt(menu) # Magic!
prnt("Eat apple.") # Magic ignored for types other than list & dict
You should see this...
['Adam', 'Eve']
βββ¬βββββ
β0βAdamβ
β1βEve β
βββ΄βββββ
{'Kimchi': 5000, 'Ice Cream': 100}
βββββββββββ¬βββββ
βKimchi β5000β
βIce Creamβ100 β
βββββββββββ΄βββββ
Eat apple.
Wanna see more?
Check out the content of a block with ease.
block = {'index':1,'transaction':[{"sender":"Block_Reward","receipient":"30819f300d06092a864886f70d010101050003818d0030818902818100b9cadf2ca51ca6714cf645f015652a80b9b8fc7e1aafc888334ac6f4f7dc177465595ef713765b027ab97ca7929820d1afb54b64a03cb971f0f46582d5266568f78746d30c4a651b0a0cf14dacdd619f034b330f4c14f253c72496778ff921a1b907aa0e6201369bffb2bd2e0a059d034e711ef004a3100a8998c2786349579f0203010001","value":"5.0"},{"sender":"30819f300d06092a864886f70d010101050003818d0030818902818100b9cadf2ca51ca6714cf645f015652a80b9b8fc7e1aafc888334ac6f4f7dc177465595ef713765b027ab97ca7929820d1afb54b64a03cb971f0f46582d5266568f78746d30c4a651b0a0cf14dacdd619f034b330f4c14f253c72496778ff921a1b907aa0e6201369bffb2bd2e0a059d034e711ef004a3100a8998c2786349579f0203010001","receipient":"30819f300d06092a864886f70d010101050003818d0030818902818100ab65b338fc66d9fc4870b7319f3c21aaf5a0082bce02caf9e3de6dc159c9df91477786028e7380be451d2fb94ed83070e85b588b4ed9d540461d3256bd2aafd3ae0fefa92f82799064414d0ed9e667bc18ad0f48505a2ae9b790a4363fcbef4b526453f91e9572835feabb25aebe2ff38c9abff32b6140c39cb71f8cf0491b850203010001","value":5.0,"signature":"a3da555fe4afe5fc957d466161dbae8b7fbb02c22780cae6fd5a4bbdc3ad7b8753361f74948db662086209c4272ebdadf5b7a14216c18be7f1c3b86ddb3aa43267792f3edc99cc7294fa89bc95f90cfb0ecd2df73b0dde8520499836f86b57af79d837b3c3dc806a37d067ca4a55caee7883bec035fed0b2df40c910cdde99a2"}],'timestamp':'09/23/2019,16:08:19','previous_hash':'This_Is_Genesis_Block','hash':'00e63fb0a8474d78df37e0ba99816d526ba110fc16098ecae65358890975a645','nonce':222}
# print(block) - don't use this!
prnt(block, truncate=True) # Magic!
βββββββββββββββ¬βββββββββββββββββββββββββββββββββββ
βindex β1 β
βtransaction ββββ¬ββββββββββββββββββββββββββββββββ
β ββ0βββββββββββββ¬ββββββββββββββββββββ
β ββ ββsender βBlock_Reward βββ
β ββ ββreceipientβ30819f300d0609...βββ
β ββ ββvalue β5.0 βββ
β ββ βββββββββββββ΄ββββββββββββββββββββ
β ββ1βββββββββββββ¬ββββββββββββββββββββ
β ββ ββsender β30819f300d0609...βββ
β ββ ββreceipientβ30819f300d0609...βββ
β ββ ββvalue β5.0 βββ
β ββ ββsignature βa3da555fe4afe5...βββ
β ββ βββββββββββββ΄ββββββββββββββββββββ
β ββββ΄ββββββββββββββββββββββββββββββββ
βtimestamp β09/23/2019,16:08:19 β
βprevious_hashβThis_Is_Genesis_Block β
βhash β00e63fb0a8474d78df37e0ba99816d5...β
βnonce β222 β
βββββββββββββββ΄βββββββββββββββββββββββββββββββββββ
Isn't this amazing? Learn how to use this with a few more options
prnt(obj, enable=True, both=False, truncate=False, depth=-1, output=False, width=get_terminal_size(), sep=' ', end='\n', file=sys.stdout, flush=False)
Enable prnt()
form.
prnt(creation, enable=False)
['Adam', 'Eve']
Print in both original print()
form and prnt()
form.
prnt(creation, both=True)
['Adam', 'Eve']
βββ¬βββββ
β0βAdamβ
β1βEve β
βββ΄βββββ
Truncate output values if they exceed the maximum width of Terminal.
The maximum width of Terminal is 50 in this example.
# truncate = False
prnt(["abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz", 12345678910])
# truncate = True
prnt(["abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz", 12345678910], truncate=True)
βββ¬βββββββββββββββββββββββββββββββββββββββββββββββ
β0βabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstβ
β βuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnβ
β βopqrstuvwxyz β
β1β12345678910 β
βββ΄βββββββββββββββββββββββββββββββββββββββββββββββ
βββ¬βββββββββββββββββββββββββββββββββββββββββββββββ
β0βabcdefghijklmnopqrstuvwxyzabcdefghijklmnopq...β
β1β12345678910 β
βββ΄βββββββββββββββββββββββββββββββββββββββββββββββ
Set the depth of recursive prnt()
.
Depth should be either -1 or bigger than 0.
The contents beyond the depth will be printed as string.
prnt(block, depth=2)
βββββββββββββββ¬βββββββββββββββββββββββββββββββββββ
βindex β1 β
βtransaction ββββ¬ββββββββββββββββββββββββββββββββ
β ββ0β{'sender': 'Block_Reward', ...ββ
β ββ1β{'sender': '30819f300d06092...ββ
β ββββ΄ββββββββββββββββββββββββββββββββ
βtimestamp β09/23/2019,16:08:19 β
βprevious_hashβThis_Is_Genesis_Block β
βhash β00e63fb0a8474d78df37e0ba99816d5...β
βnonce β222 β
βββββββββββββββ΄βββββββββββββββββββββββββββββββββββ
Set the maximum width of Terminal.
Width should be bigger than 20.
prnt(["Kevin Kim is a developer."], width=20)
βββ¬βββββββββββββββββ
β0βKevin Kim is a dβ
β βeveloper. β
βββ΄βββββββββββββββββ
Get a return string for the printed content from prnt()
.
prnt()
will not print anything.
output_data = prnt(creation, output=True)
print(repr(output_data))
print(output_data)
'βββ¬βββββ\nβ0βAdamβ\nβ1βEve β\nβββ΄βββββ'
βββ¬βββββ
β0βAdamβ
β1βEve β
βββ΄βββββ
Default print()
parameter.
Put a separator between each input.
prnt("010", "8282", "8282", sep="-")
010-8282-8282
Default print()
parameter.
Put at the end of an output.
prnt(creation, end="")
prnt("The force is with me")
βββ¬βββββ
β0βAdamβ
β1βEve β
βββ΄βββββThe force is with me
Default print()
parameter.
Default print()
parameter.
Specify if the output is flushed (True) or buffered (False).
If the length of label part (index for list, key for dict) goes beyond the half size of your width,
the label will be truncated to the half size of your width in order to secure enough space for displaying values.
For example,
disease = {
"pneumonoultramicroscopicsilicovolcanoconiosis": "an invented long word said to mean a lung disease caused by inhaling very fine ash and sand dust."
}
prnt(disease)
ββββββββββββββββββββββββββ¬ββββββββββββββββββββββββ
βpneumonoultramicrosco...βan invented long word sβ
β βaid to mean a lung diseβ
β βase caused by inhaling β
β βvery fine ash and sand β
β βdust. β
ββββββββββββββββββββββββββ΄ββββββββββββββββββββββββ
FAQs
A Modern Python Pretty Printer
We found that pyprnt demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago.Β It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
CVEForecast.org uses machine learning to project a record-breaking surge in vulnerability disclosures in 2025.
Security News
Browserslist-rs now uses static data to reduce binary size by over 1MB, improving memory use and performance for Rust-based frontend tools.
Research
Security News
Eight new malicious Firefox extensions impersonate games, steal OAuth tokens, hijack sessions, and exploit browser permissions to spy on users.