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 details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

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

Hashes for write-tight-0.4.3.tar.gz
Algorithm Hash digest
SHA256 10e874e3aed28262dd7e498ec976456d050e164c51c4440da08490990198823f
MD5 5215d47aebb0f39231adc9e04381aca1
BLAKE2b-256 072d5e8436864d4d71972632cb5915598da3d74b1b3e03a4e432e05a89fc4a60

See more details on using hashes here.

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

Hashes for write_tight-0.4.3-py3-none-any.whl
Algorithm Hash digest
SHA256 1323b23e5fa67c0f7e1c2af5b973cfe84e64059aa80cf9647a5222eba24fd9c9
MD5 cee5ad7f25a56fb5a039854e472995f3
BLAKE2b-256 69e0c8bccd057ebe7c34ac420c56c38226a4e24e3a0fd97a5526697b9a0ba5ae

See more details on using hashes here.

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