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.2

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.2
File Size Uploaded
ansiwrap-0.8.2.zip 16.3 kB Details

Built distribution (wheel)

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

Total release size: 24.8 kB

Release files / ansiwrap-0.8.2.zip

Download URL ansiwrap-0.8.2.zip
Size 16.3 kB
Tags Source
SHA-256 checksum
How to use checksums
4da29ddc222c3e09d4d7a7f3ef7d77c276bb470096bae116628c2e5d442b95d4
BLAKE2b-256 checksum
How to use checksums
dd57ae2ed3d0270397a049d1bae1032b10da37d8831d844095344cb79acd8f9f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

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

Download URL ansiwrap-0.8.2-py2.py3-none-any.whl
Size 8.5 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
ee4f2d6e1f9d23f0ebfe66526841cf47ce610fff949d99bcb2d59eb91fef2d65
BLAKE2b-256 checksum
How to use checksums
6a35e4a46fd81abf937866388d98b352e72a52dc988a8f157a9ade54cb6c431e
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

This release

0.8.2 This release

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