Skip to main content

Color printing in python

Project description

CircleCI

codecov

A Light-weight python package for terminal output in color

Overview

Chalk allows you to print to your terminal in color. It also provides a simple logging handler and formatter for a more informative logging experience. Why print in black and white?

Installation

pip install pychalk

Usage

from __future__ import print_function
import chalk

print(chalk.red('foo'))
import chalk

white = chalk.Chalk('white')
white('foo', bold=True, underline=True)
# returns '\x1b[37;1;4mfoo\x1b[0m'

bold_white = white + chalk.utils.FontFormat('bold')
bold_white('foo')
# returns '\x1b[37;1mfoo\x1b[0m'

bold_white + 'foo'
# returns '\x1b[37;1mfoo'

bold_white + 'foo' + chalk.RESET
# returns '\x1b[37;1mfoo/x1b[0m'

Testing

Install pyenv

curl -L https://raw.githubusercontent.com/yyuu/pyenv-installer/master/bin/pyenv-installer | bash
pyenv install -s -v 2.7.14 \
&& pyenv install -s -v 3.5.4 \
&& pyenv install -s -v 3.6.3

Then install the development requirements… To help with this please use:

./bin/install

Then run the tests using tox.

source venv/bin/activate
tox
py27 develop-inst-noop: /home/anthony/git/chalk

...

Ran 37 tests in 0.009s

OK
py36 runtests: commands[1] | coverage report -m
Name                Stmts   Miss  Cover   Missing
-------------------------------------------------
chalk/__init__.py      18      0   100%
chalk/logging.py       28      0   100%
chalk/utils.py        124      0   100%
-------------------------------------------------
TOTAL                 170      0   100%
_________________________________________________________________________________________ summary _________________________________________________________________________________________
  py27: commands succeeded
  py35: commands succeeded
  py36: commands succeeded
  congratulations :)

Using Docker

Alternatively use a docker image with pyenv installed. This project uses anthonyalmarza/alpine-pyenv:cable which has pyenv setup with the latest versions of python 2.7, 3.5 and 3.6 (as of Dec 19th 2017).

First build the image and tag it as chalk

./bin/local/build

Then run the tests

./bin/local/test

Thank you

  • @billjohnston

  • @livibetter

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

pychalk-2.0.0.tar.gz (17.2 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page