Amazing Printer
It's an attempt to port the Ruby's awesome_print to Python.
Install
pip install amazing-printer
Usage
from amazing_printer import ap
ap(object, options = {})
# Options:
# sort_keys - boolean, set to sort the dictionary keys, default is False.
# indent - integer, set the width of indentation, default is 4 spaces.
# multiple_lines - boolean, set to print the fields for dict or list in multiple lines, default is True.
# color - dict, set the color for different literals, default is
# {
# 'str': 'yellow',
# 'list': 'blue',
# 'tuple': 'green',
# 'none': 'red',
# }
# supported colors: 'yellow', 'blue', 'green', 'red', 'black', 'magenta', 'cyan', 'white'
Contributing
- Fork & clone the repository
$ git clone git@github.com:<your-github-handle>/amazing_printer.git
$ cd amazing_printer
- Create a virtual environment and activate it' This project uses Pipenv. Follow the instruction here to install.
$ pipenv shell --three
- Install dependencies
# Install dependencies for development purpose.
$ pipenv install --dev
-
Make your awesome changes
-
Run test and coverage
# Run test
(env) $ pytest
# Run test with coverage report
(env) $ pytest --cov=amazing_printer amazing_printer/tests/
# Run specific test
(env) $ pytest -k "TestFormatter"
- Run test for multiple environments Make sure you have installed multiple versions of Python. Recommended way of managing Python version using Pyenv
(env) $ tox
- Make your pull request
License
Copyright (c) 2019 Kher Yee, Ting
Released under the MIT license. See LICENSE file for details.