Skip to main content

A Python module to add ANSI color and format codes to strings for terminal output

Project description

eRCaGuy_PyColors

For text formatting and colorization in the terminal.

A Python module to add ANSI color and format codes to strings for terminal output.

Installation

Install from PyPI (once published):

pip install eRCaGuy_PyColors

Or install from source:

git clone https://github.com/ElectricRCAircraftGuy/eRCaGuy_PyColors.git
cd eRCaGuy_PyColors
pip install .

For development (editable install):

pip install -e .

To install into a virtual environment:

# Create and activate a virtual environment
python3 -m venv ~/venvs/eRCaGuy_PyColors
. ~/venvs/eRCaGuy_PyColors/bin/activate

# To see if you're in a virtual environment, run:
echo "$VIRTUAL_ENV"
# If in a virtual environment, this will print the path to the virtual environment.
# Otherwise, it will print nothing.

# Now install as above. Ex: 
# Option 1: install from PyPI:
pip install eRCaGuy_PyColors
# Option 2: install from source: 
# - Inside of the `eRCaGuy_PyColors` repo: 
pip install .

Example usage in your Python program

# Recommended import style
import eRCaGuy_PyColors as colors
# OR (older style): 
# import eRCaGuy_PyColors.ansi_colors as colors

print(f"{colors.FGR}This text is green.{colors.END}")
print(f"{colors.FBB}This text is bright blue.{colors.END}")
print(f"{colors.FBR}This text is bright red.{colors.END}")

colors.print_green("This text is green.")
colors.print_blue("This text is bright blue.")
colors.print_red("This text is bright red.")
colors.print_yellow("This text is bright yellow.")

Test and run this program

Run the built-in tests:

python3 -m eRCaGuy_PyColors

Example run and output:

eRCaGuy_PyColors$ ./ansi_colors.py 
This text is green.
This text is bright blue.
This text is bright red.
This text is bright red.
This text is bright red.
This text is bright red.
This text is
  bright red.
This text is bright yellow.
This text is not colored.
This text is bright yellow again.
This text is green.

Screenshot:

Publishing to PyPI

See:

  1. https://packaging.python.org/en/latest/tutorials/packaging-projects/
  2. https://packaging.python.org/en/latest/guides/writing-pyproject-toml/

For maintainers, to publish a new version to PyPI:

  1. Install or upgrade twine:
    python3 -m pip install --upgrade twine build
    
  2. Update the version number in eRCaGuy_PyColors/__init__.py.
  3. Build the distribution packages according to the settings in pyproject.toml:
    time python3 -m build
    
  4. Test an upload to TestPyPI first (recommended):
    python3 -m twine upload --repository testpypi dist/*
    
  5. Test an installation in a virtual environment from TestPyPI:
    python3 -m venv ~/venvs/test_eRCaGuy_PyColors
    . ~/venvs/test_eRCaGuy_PyColors/bin/activate
    pip install --index-url https://test.pypi.org/simple/ --no-deps eRCaGuy_PyColors
    
    Test that it works as expected.
  6. Upload to PyPI using twine:
    python3 -m twine upload dist/*
    
  7. Test an installation in a virtual environment from PyPI:
    python3 -m venv ~/venvs/eRCaGuy_PyColors
    . ~/venvs/eRCaGuy_PyColors/bin/activate
    pip install eRCaGuy_PyColors
    
    Test that it works as expected.

References

  1. Borrowed from my file here: https://github.com/ElectricRCAircraftGuy/eRCaGuy_hello_world/blob/master/python/pandas_dataframe_iteration_vs_vectorization_vs_list_comprehension_speed_tests.py
  2. https://github.com/ElectricRCAircraftGuy/eRCaGuy_hello_world/blob/master/python/ansi_colors.py
  3. https://github.com/ElectricRCAircraftGuy/eRCaGuy_PathShortener/blob/main/ansi_colors.py <==
  4. My Bash ANSI format library here: https://github.com/ElectricRCAircraftGuy/eRCaGuy_hello_world/blob/master/bash/ansi_text_format_lib.sh
  5. https://en.wikipedia.org/wiki/ANSI_escape_code#3-bit_and_4-bit

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

ercaguy_pycolors-0.1.0.tar.gz (4.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ercaguy_pycolors-0.1.0-py3-none-any.whl (5.7 kB view details)

Uploaded Python 3

File details

Details for the file ercaguy_pycolors-0.1.0.tar.gz.

File metadata

  • Download URL: ercaguy_pycolors-0.1.0.tar.gz
  • Upload date:
  • Size: 4.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.12

File hashes

Hashes for ercaguy_pycolors-0.1.0.tar.gz
Algorithm Hash digest
SHA256 54c89673f285373270c5bd372c616272a3899d6b55ddef3b106ac6c82446b342
MD5 819c22dcd8b909a52d11f673d2c34409
BLAKE2b-256 3ac121a7cae150f194c25ce5b8bd6b1e30521b886dd6ea4b7b168812035b855f

See more details on using hashes here.

File details

Details for the file ercaguy_pycolors-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for ercaguy_pycolors-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b34dee588df414a57e54a2176e5fdf55e36e1800ccfe1bfe4bf6f93bbf3f95c4
MD5 63a0393fb6c4eca89e0c7fa0113b4f45
BLAKE2b-256 d307cfaf867389e27243aeccc108c74a06d6cd935440fa1e510ea84008e99012

See more details on using hashes here.

Supported by

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