Skip to main content

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:

  1. The book Write Tight: Say Exactly What You Mean With Precision and Power by William Brohaugh.
  2. 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:

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

write-tight cli example

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

write-tight-0.4.3.tar.gz (7.7 kB view hashes)

Uploaded Source

Built Distribution

write_tight-0.4.3-py3-none-any.whl (7.9 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page