Write tight helps you to say exactly what you want with precision and power.
Project description
write-tight
This project improves your professional writing with the help of simple rule-based writing patterns. The inspiration of this project comes from two sources:
- The book Write Tight: Say Exactly What You Mean With Precision and Power by William Brohaugh.
- The Udemy course Business Writing & Technical Writing Immersion by Paul Siegel (Starweaver Instructor Team).
Both sources emphasise that eliminating ‘deadwood’ is critical to improve your writing.
“Deadwood is the the unnecessarily difficult, long, or simply unnecessarily phrases or words that clog the arteries of professional writing.”
William Brohaugh
Examples of deadwood writing patterns are:
- Adverbs that end on ‘ly’
- “I am very outraged by this!” -> What does very add to this sentence?
- “That movie is really good.” -> Words like great or awesome are better alternatives for ‘really good’.
- “That is basically a good idea.” -> Just leave it out.
- Passive voice
Active voice ensures clarity and achieves greater writing precision by answering who or what performs an action.
- “The README.md file was modified with new content.” -> Passive voice, who or what modified the README.md file?
- “John Doe modified the README.md file with new content.” -> This sentence in active voice is more precise.
- Ambiguous Openings
- “The weather was great and the food was lovely. It was amazing.” -> What was amazing? The weather? the food? Something else?
All the patterns and their details are described in the tests.
Both sources provide detailed descriptions on how to detect and handle deadwood patterns. This project translates the descriptions to rule-based matching patterns with the help of spaCy, and specifically the spaCy Matcher.
Getting started
Create and activate a new virtual environment, and install write-tight
with pip.
pip install write-tight
This project depends on a trained spaCy pipeline called en_core_web_sm
, and you need to download this pipeline manually if you do not already have it.
python -m spacy download en_core_web_sm
Please refer to the spaCy installation page in case of any issues.
Write-tight provides a command line interface and prints the detected patterns and suggestions on how to improve your text. The only argument you have to provide is the path to your text file.
(venv) writetight <path_to_your_text_file>
Although this project is developed with Markdown (.md
) files in mind, your text file is read as-is, so you are not limited to a certain format.
Limitations
Only the English language is supported.
The suggestions are rule-based which make them easy to use and understand. The downside is that these rules do not cover every edge case, and are limited in the complexity they can handle. Furthermore, the rule-based suggestions adhere to a writing style that you might not like. If that is the case I hope the project is structured well enough so that you can easily modify the existing patterns to a writing style of your liking.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file write-tight-0.4.3.tar.gz
.
File metadata
- Download URL: write-tight-0.4.3.tar.gz
- Upload date:
- Size: 7.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 10e874e3aed28262dd7e498ec976456d050e164c51c4440da08490990198823f |
|
MD5 | 5215d47aebb0f39231adc9e04381aca1 |
|
BLAKE2b-256 | 072d5e8436864d4d71972632cb5915598da3d74b1b3e03a4e432e05a89fc4a60 |
File details
Details for the file write_tight-0.4.3-py3-none-any.whl
.
File metadata
- Download URL: write_tight-0.4.3-py3-none-any.whl
- Upload date:
- Size: 7.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1323b23e5fa67c0f7e1c2af5b973cfe84e64059aa80cf9647a5222eba24fd9c9 |
|
MD5 | cee5ad7f25a56fb5a039854e472995f3 |
|
BLAKE2b-256 | 69e0c8bccd057ebe7c34ac420c56c38226a4e24e3a0fd97a5526697b9a0ba5ae |