Skip to main content

Create and interpret ANSI escape codes

Project description

ansiscape

CircleCI codecov Documentation Status

ansiscape is a Python package and CLI tool for creating and interpreting ANSI escape codes.

  • Support for named, 8-bit and 24-bit colours.
  • Create formatted strings with nested sequences and property reversions.
  • Convert embedded escape codes into explanatory dictionaries.
  • Write sequences as fully resolved strings and explanatory JSON.

Full documentation is published at ansiscape.readthedocs.io.

Installation

ansiscape requires Python 3.8 or later.

pip install ansiscape

Basic CLI usage

ansiscape on the command line will read from stdin and emit a JSON document describing the text and its escape codes.

For example:

ls --color | ansiscape
["ansiscape\nbuild.sh\ncoverage.xml\ndocs\nhtmlcov\nLICENSE\nlint.sh\nMANIFEST.in\nmkdocs.yml\nmypy.ini\nPipfile\nPipfile.lock\npyproject.toml\nREADME.md\nsetup.py\ntest-cli.sh\ntests\ntest.sh"]

Full documentation is published at ansiscape.readthedocs.io.

Basic Python usage

ansiscape provides a library of functions for formatting text.

For example, to make text bold:

from ansiscape import heavy

print(heavy("Hello, world!"))
Hello, world!

These functions can be nested to create complex formatted strings. Specific instructions can also be embedded:

from ansiscape import Interpretation, Sequence, heavy
from ansiscape.enums import MetaInterpretation, Weight

sequence = Sequence(
    Interpretation(weight=Weight.HEAVY),
    "Hello, world!",
    Interpretation(weight=MetaInterpretation.REVERT),
)

print(sequence)
Hello, world!

Full documentation is published at ansiscape.readthedocs.io.

👋 Hello!

Hello! I'm Cariad Eccleston and I'm an independent/freelance software engineer. If my work has value to you, please consider sponsoring.

If you ever raise a bug, request a feature or ask a question then mention that you're a sponsor and I'll respond as a priority. Thank you!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

ansiscape-1.1.2-py3-none-any.whl (32.2 kB view hashes)

Uploaded Python 3

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