Skip to main content

philiprehberger-string-truncate

Tests PyPI version Last updated

Truncate strings intelligently without cutting words.

Installation

pip install philiprehberger-string-truncate

Usage

from philiprehberger_string_truncate import truncate, truncate_middle, truncate_path

truncate("Hello beautiful world", max_length=15)
# "Hello…"

truncate("Hello beautiful world", max_length=15, suffix="...")
# "Hello..."

truncate_middle("Hello beautiful world of code", max_length=20)
# "Hello bea…l of code"

truncate_path("/very/long/path/to/some/file.txt", max_length=25)
# "/very/long/.../file.txt"

Word-count truncation

from philiprehberger_string_truncate import truncate_words

truncate_words("one two three four five", max_words=3)
# "one two three..."

truncate_words("one two", max_words=5)
# "one two"

Wrapping

from philiprehberger_string_truncate import wrap

wrap("the quick brown fox jumps over the lazy dog", width=20)
# "the quick brown fox\njumps over the lazy\ndog"

wrap("first paragraph\n\nsecond paragraph", width=80)
# "first paragraph\n\nsecond paragraph"

API

Function / Class Description
truncate(text, max_length, suffix="…", break_words=False) Word-boundary truncation
truncate_middle(text, max_length, separator="…") Keep start and end
truncate_path(path, max_length, separator="/", placeholder="...") Path-aware truncation
truncate_words(text, max_words, suffix="...") Truncate to a word count, appending suffix when shortened
wrap(text, width=80) Wrap to lines at word boundaries; preserves paragraph breaks

Development

pip install -e .
python -m pytest tests/ -v

Support

If you find this project useful:

⭐ Star the repo

🐛 Report issues

💡 Suggest features

❤️ Sponsor development

🌐 All Open Source Projects

💻 GitHub Profile

🔗 LinkedIn Profile

License

MIT

Release files for philiprehberger-string-truncate 0.2.0

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

Source distribution (sdist)

Source distribution for philiprehberger-string-truncate 0.2.0
File Size Uploaded
philiprehberger_string_truncate-0.2.0.tar.gz 177.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for philiprehberger-string-truncate 0.2.0
File Interpreter ABI Platform
philiprehberger_string_truncate-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 182.8 kB

Release files / philiprehberger_string_truncate-0.2.0.tar.gz

Download URL philiprehberger_string_truncate-0.2.0.tar.gz
Size 177.7 kB
Tags Source
SHA-256 checksum
How to use checksums
7ee39487a30bb9bce8fa998c8a0e6d96d4c7769694b363aea403cef6b6e7bf25
BLAKE2b-256 checksum
How to use checksums
12edaae1bc0ce16d40b1eaf6e5eca27766ce1b1fc971de9df8a876487b553484
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.13

Release files / philiprehberger_string_truncate-0.2.0-py3-none-any.whl

Download URL philiprehberger_string_truncate-0.2.0-py3-none-any.whl
Size 5.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
dd65cc2a10ec8cb5e8097fd0deadcb59597c0f914ae889513d100f6936a73e9a
BLAKE2b-256 checksum
How to use checksums
9ede37ac8af1d8af2a8d60072a727ec18eee2859590bdd7e235db99d051bcb57
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.13

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

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