A terminal string styling library
Project description
Simple Chalk
Note: This document is best viewed on github. Pypi's headers are all caps which presents inaccurate information"
Table of Contents
Intro
What is it?
A terminal string styling library for python. It implements a subset of Sindre Sorhus' chalk (which is for js).
e.g. chalk.green.bold("success")
prints like you'd expect in the console.
Why create it?
I am familiar with and enjoy the syntax of chalk. Anthonyalmarza's chalk deviates from that syntax and so I created my own.
I'm also new to python so this was a good way to learn.
Why the subset of features?
I only use chalk for very simple purposes so I left out things like 256 colors.
Install
$ pip install simple_chalk
Usage
from simple_chalk import chalk, green
# both of these are the same
print(chalk.green("success"))
print(green("success"))
# chained
print(green.bold("success"))
# assign combinations
success = green.bold.underline
print(success("we did it!"))
# last color wins
print(green.red("this is red"))
# background and foreground colors are separate
whyNot = green.bgWhite.red.bgGray
print(whyNot("this is red text with a gray background"))
Api
simple_chalk
exports the following
chalk
(string) => string
- A singleton that can be used instead of importing the colors and styles directly.
chalk
and all exported colors/styles are chainable callables. When called, they take a single string argument and return a string wrapped in the appropriate ascii color codes.
newChalk
() => Chalk
- You probably don't need this, but it creates a new chalk instance in case another library is misbehaving.
The following colors are exported
- black
- red
- green
- yellow
- blue
- magenta
- cyan
- white
- blackBright (also 'gray' and 'grey')
- redBright
- greenBright
- yellowBright
- blueBright
- magentaBright
- cyanBright
- whiteBright
Each color also has a camel-cased bg
equivalent. e.g. bgBlack
and bgYellowBright
Finally the following miscellaneous styles are exported
- bold
- dim
- underline
- hidden
Test
hub clone olsonpm/py_simple-chalk
cd py_simple-chalk
python runTests.py
Features included from js version of Chalk
- chainable api
- same color names (with added aliases)
Features omitted
** Features marked with *
are ones I'd pull in should someone create a PR.
- 256 colors and TrueColor support
- multiple arguments, and thus nested styles
- *color support detection
- *blue -> blueBright auto conversion on windows
- *ability to disable
- *modifiers other than the miscellaneous styles noted above.
e.g.
reset
,italic
,inverse
etc.
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.