intgr / topy

Python script to fix typos in text, based on the RegExTypoFix project from Wikipedia and AutoWikiBrowser
Other
35 stars 11 forks source link

Topy

.. image:: https://badge.fury.io/py/topy.svg :target: https://badge.fury.io/py/topy

.. |Tests status| image:: https://github.com/intgr/topy/workflows/Tests/badge.svg?branch=master :target: https://github.com/intgr/topy/actions?query=workflow:Tests

Topy (anagram of "typo") is a Python script to fix typos in text, using rulesets developed by the RegExTypoFix_ project from Wikipedia. The English ruleset is included with Topy and is used by default. Other rulesets can be manually downloaded.

.. _RegExTypoFix: https://en.wikipedia.org/wiki/Wikipedia:AutoWikiBrowser/Typos

Topy works with Python 3.7-3.11.

The easiest way to install it is using pip::

pip install topy

Usage::

Usage: topy [options] FILES/DIRS...

Options:
  -h, --help            show this help message and exit
  -q, --quiet           silence information messages
  -a, --apply           overwrite files in place
  -r FILE, --rules=FILE
                        specify custom ruleset file to use
  -d RULE, --disable=RULE
                        disable rules by name
  --color=WHEN, --colour=WHEN
                        colorize the output; WHEN can be 'never', 'always', or
                        'auto'

For example, if you want to integrate topy in your CI pipeline, you can do something like::

sh -c "git ls-files | xargs topy --quiet --apply --; git --no-pager diff --exit-code"

The line above will check all files tracked by git, apply fixes to them and fail if any changes are applied. If no changes are to be applied, the command returns success.

Resources

Changelog

1.1.0 (2021-02-03)

1.0.1 (2021-01-30)

1.0.0 (2020-09-08)

0.3.0 (2020-06-02)

Note: This was the last release to support Python 2.7.

0.2.2 (2016-12-16)

0.2.1 (2016-07-15)

.. _regex issue #216: https://bitbucket.org/mrabarnett/mrab-regex/issues/216/invalid-match-when-using-negative

0.2.0 (2015-09-09)

0.1.0 (2014-08-24)

Contributing

Code style:

Run the test suite using python setup.py test.

Submit your changes as pull requests on GitHub.

.. _PEP-8: https://www.python.org/dev/peps/pep-0008/

License

The Topy software is licensed under the MIT license (see LICENSE.txt)

The bundled retf.txt file, copied from Wikipedia AutoWikiBrowser/Typos by Wikipedia contributors is licensed under CC-BY-SA. See the page on Wikipedia for authorship information.

.. _Wikipedia AutoWikiBrowser/Typos: https://en.wikipedia.org/wiki/Wikipedia:AutoWikiBrowser/Typos .. _CC-BY-SA: https://creativecommons.org/licenses/by-sa/3.0/