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 (propogates 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.1

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.1
File Size Uploaded
ansiwrap-0.8.1.zip 16.0 kB Details

Built distribution (wheel)

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

Total release size: 24.5 kB

Release files / ansiwrap-0.8.1.zip

Download URL ansiwrap-0.8.1.zip
Size 16.0 kB
Tags Source
SHA-256 checksum
How to use checksums
0960bcdcca0eaf892cfbd1a395d6726ad2905620817f98f0d3e84becb1303253
BLAKE2b-256 checksum
How to use checksums
2e2a91107bff43039054232cc3809ed0a69ae973a7c81a5cf34fb27bdc0166ba
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

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

Download URL ansiwrap-0.8.1-py2.py3-none-any.whl
Size 8.5 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
3884bff160664b6419d81aec536e3735e520703e11863d2ce04d8a7e1d980039
BLAKE2b-256 checksum
How to use checksums
373f99af02f67caeb7d63fb1c941c420af8f203d965c3cb1d824fc2c8f61c9e6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

0.8.4

2 release files

0.8.3

2 release files

0.8.2

2 release files

This release

0.8.1 This release

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