Convert any colour, from RGB or hexadecimal format, to ANSI code.
Project description
🌀 ANSI Converter
Convert any colour to the ANSI format to write in colours in your terminal.
⌨️ Installation
Run this command to install ansiconverter
:
python -m pip install -U ansiconverter
To install for development:
git clone https://github.com/thomassamoth/ansiconverter.git
cd ansiconverter
pip install -e .[dev]
Tests
To ensure the installation of this package has been successful, you can run the tests.
- Make sure you have installed the
pytest
module. Otherwise, run:
pip install pytest
- After you downloaded the code and installed the package, run the tests by executing:
python -m pytest test/
💻 Usage
Converter module
⚠️ Warning
Some colour combinations between background and foreground are incompatible. The result can be slightly different from what is expected.
Convert from RGB colour to ANSI
# How to print a green text on a white background
from ansiconverter import RGBtoANSI
print(RGBtoANSI(text='Green text on a white background',foregound=[0, 255, 0], background=[255, 255, 255]))
Result:
Result:
Convert from hexadecimal to ANSI
# How to print a yellow text on a navy blue background, with hexadecimal values.
from ansiconverter import HEXtoANSI
print(HEXtoANSI('Some yellow text on blue background','#fdf31f', '000080'))
Result:
Result:
ℹ️ Note
Another little tool has been added to convert RGB to hexadecimal and vice versa. It can't be used to write in color in the terminal but could be useful for other applications.
Convert from hexadecimal to RGB
from ansiconverter import HEXtoRGB
print(HEXtoRGB("#0b38c1"))
Result :
[11, 59, 193]
Convert from RGB to hexadecimal
from ansiconverter import RGBtoHEX
print(RGBtoHEX([11, 59, 193]))
Result :
"#0b3bc1"
🎨 Styles module
Several text styles are available as well. You can even combine them with colours
Style | Method |
---|---|
bold | bold |
italic | italic |
fainted | faint |
underlined | underline |
bold & underlined | bold_and_underline |
strikethroughed | strikethrough |
reversed (colours inverted) | reverse |
from ansiconverter import bold
print(bold("Some text in bold"))
Replace .bold
in the example with any method above to get the desired style.
Combination of colours and styles
⚗️ It is possible to combine text styles with colours by doing so:
from ansiconverter import HEXtoANSI, bold
print(bold(HEXtoANSI('A yellow text in bold','#f6cf6c')))
Result:
N.B: the order between the style and the text format isn't important and you can switch them.
print(bold(HEXtoANSI('A yellow text in bold','#f6cf6c')))
will work the same as
print(HEXtoANSI(bold('A yellow text in bold'),'#f6cf6c'))
Note
This structure of this repository is based on a talk by Mark Smith, which is available here, and its linked repository
License
This repository is licensed under the MIT license. See the LICENSE file for more information.
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 Distribution
Built Distribution
File details
Details for the file ansiconverter-2.0.0.tar.gz
.
File metadata
- Download URL: ansiconverter-2.0.0.tar.gz
- Upload date:
- Size: 6.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 23566676eb5cdd81440844e1940ab5320ad8067fdbd4e00dab24d0401d616082 |
|
MD5 | 85e6bd5dfd9d33a34e85f502f07eea0c |
|
BLAKE2b-256 | 45d6fceb3613c3250600ab2360ee85903c83cf04a93f4aba197d1de762044045 |
File details
Details for the file ansiconverter-2.0.0-py3-none-any.whl
.
File metadata
- Download URL: ansiconverter-2.0.0-py3-none-any.whl
- Upload date:
- Size: 7.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6ad9649a80ae129617ee03c3e5661eefc99df61d14819658c60092705583564a |
|
MD5 | 0d55ac46992ddd1c596cbf705c06efbd |
|
BLAKE2b-256 | 47efc2d15ce88c5d31734bd510e6dfd50083a94bd75888a50a25fc39bf2df4da |