Poweful function that will help you with debugging.
Project description
Simple print
Powerful debugging & logging function.
Userful for bash
console messages (debug) & rabbitmq
proxy messages (logging).
https://github.com/Sobolev5/simple-print
For local development
Install
To install run:
pip install simple-print
Print variables
Function params:
c
color [grey, red, green, yellow, blue, magenta, cyan, white]
b
background [on_grey, on_red, on_green, on_yellow, on_blue, on_magenta, on_cyan]
a
attribute [bold, dark, underline, blink, reverse, concealed]
p
path [with path to file]
i
indent [indent 1..40]
s
string [return as string]
from simple_print import sprint
master = "yoda"
sprint(master)
sprint(master, c="blue")
sprint(master, c="blue", b="on_white")
sprint(master, c="blue", b="on_white", a="underline")
sprint(master, c="blue", b="on_white", a="bold", p=True)
my_string = sprint(master, s=True) # return as string
my_string = sprint(master, s=True, p=True) # return as string with path to file
Result:
p
param is False
by default, but you can override this behavior with SIMPLE_PRINT_PATH_TO_FILE=True
in your local environment.
Example with indent
For indent use i
param:
def test_indent():
fruits = ["lemon", "orange", "banana"]
sprint(fruits, c="green")
for fruit in fruits:
sprint(fruit, c="yellow", i=4)
Result:
Disable printing
Stop printing:
export DEBUG=False
Test
pytest test/test_print.py -s
For catch messages on production server
Install
To install run:
pip install simple-print[broker]
Add the following line at the top of your *.py file:
from simple_print import throw, catch
Now you can send messages to rabbitmq queue amq.direct
.simple_print
(by default):
throw({"tag":"tag", "msg":{"any_key":"any val"}, uri="amqp://admin:pass@0.0.0.0:5672/vhost") # default queue
throw({"exchange":"any_exchange", "routing_key":"any_key", "tag":"tag", "msg":{"any_key":"any val"}}, uri="amqp://admin:pass@0.0.0.0:5672/vhost") # with custom routing key
Catch last 10 messages from RabbitMQ:
catch(tag="tag", count=10, uri="amqp://admin:pass@0.0.0.0:5672/vhost") # default queue
catch(queue="queue", tag="tag", count=10, console=True, uri="amqp://admin:pass@0.0.0.0:5672/vhost") # custom queue
Test
pytest test/test_broker.py -s
TODO
Kafka support & PyQt support
Try my free time tracker
My free time tracker for developers Workhours.space.
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 Distributions
Built Distribution
Hashes for simple_print-1.4.6-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cdf6e86daea5f03d57b5646a4c0ab07660d6ae54d1fbfe12997ac215f9b525b9 |
|
MD5 | e57038fb66e55a2344801c7963a66cd7 |
|
BLAKE2b-256 | fed912c165accfe45a656d9d8534588cccd9e5598690d34a5d8a833783653b5b |