Skip to main content
travisci PyPI Package latest release Supported versions Supported implementations Wheel packaging support Test line coverage

ansiwrap wraps text, like the standard textwrap module. But it also correctly wraps text that contains ANSI control sequences that colorize or style text.

Where textwrap is fooled by the raw string length of those control codes, ansiwrap is not; it understands that however much those codes affect color and display style, they have no logical length.

The API mirrors the wrap, fill, and shorten functions of textwrap. For example:

from __future__ import print_function
from colors import *     # ansicolors on PyPI
from ansiwrap import *

s = ' '.join([red('this string'),
              blue('is going on a bit long'),
              green('and may need to be'),
              color('shortened a bit', fg='purple')])

print('-- original string --')
print(s)
print('-- now filled --')
print(fill(s, 20))
print('-- now shortened / truncated --')
print(shorten(s, 20, placeholder='...'))

It also exports several other functions:

  • ansilen (giving the effective length of a string, ignoring ANSI control codes)

  • ansi_terminate_lines (propagates control codes though a list of strings/lines and terminates each line.)

  • strip_color (removes ANSI control codes from a string)

See also the enclosed demo.py.

https://content.screencast.com/users/jonathaneunice/folders/Jing/media/8db64be2-01cc-4da4-b46a-789c53c63b44/00000569.png

Metadata

Release files for ansiwrap 0.8.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ansiwrap 0.8.4
File Size Uploaded
ansiwrap-0.8.4.zip 17.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for ansiwrap 0.8.4
File Interpreter ABI Platform
ansiwrap-0.8.4-py2.py3-none-any.whl Python 3, Python 2 none any Details

Total release size: 26.2 kB

Release files / ansiwrap-0.8.4.zip

Download URL ansiwrap-0.8.4.zip
Size 17.7 kB
Tags Source
SHA-256 checksum
How to use checksums
ca0c740734cde59bf919f8ff2c386f74f9a369818cdc60efe94893d01ea8d9b7
BLAKE2b-256 checksum
How to use checksums
7c452616341cfcace37d4619d5106a85fcc24f2170d1a161bc5f7fdb81772fbc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via Python-urllib/3.6

Release files / ansiwrap-0.8.4-py2.py3-none-any.whl

Download URL ansiwrap-0.8.4-py2.py3-none-any.whl
Size 8.5 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
7b053567c88e1ad9eed030d3ac41b722125e4c1271c8a99ade797faff1f49fb1
BLAKE2b-256 checksum
How to use checksums
035043e775a63e0d632d9be3b3fa1c9b2cbaf3b7870d203655710a3426f47c26
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via Python-urllib/3.6

Release history Release notifications | RSS feed

This release

0.8.4 This release

2 release files

0.8.3

2 release files

0.8.2

2 release files

0.8.1

2 release files

0.8.0

2 release files

0.7.2

2 release files

0.7.1

2 release files

0.7.0

2 release files

0.6.0

2 release files

0.5.4

2 release files

0.5.3

2 release files

0.5.2

2 release files

0.5.1

2 release files

0.5.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page