All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning since version 2.
- This version officially supports Python 3.8+
- The command-line interface has changed. Shell scripts relying on Wonderwords need to be updated
- Speed improvements when using
starts_with
andends_with
- More efficient batch operations and regular expression compilation
- Idiomatic CLI commands
- Profanity filtering
- Support for custom
Random
objects and determinism when running with a specific seed.
- Fixes and updates to word lists
- Fixed bug where
return_less_if_necessary
would produce result in incorrect filtering
- Dropped support for Python 3.6 and 3.7
- No more dependency on
importlib_resources
- Added
CHANGELOG.md
. - Added custom word categories.
- The Rich library is now an optional dependency.
- Bumped dependency version numbers.
- Added a list of profanities.
- Refactored code.
- Removed profanities by default.
- Added singular forms of categories as default such as "noun" instead of "nouns".
- Changed the implementation behind the scenes. Now, word lists are loaded once
and reused between instances of the
RandomWord
class. This is more efficient. - Changed the implementation of
RandomSentence
to make up for the changes inRandomWord
. RandomWord.parts_of_speech
will soon be deprecated.- The
include_parts_of_speech
argument for RandomWord methods will soon be deprecated. The alternative is nowinclude_categories
.
- Added the regex word matcher for both the CLI and the
RandomWord
class. - Added "Prerequisites" section to the install page.
- Added sphinx-copybutton to the documentation so that it is easy to copy code snippets.
- Fixed incorrect code snippet in docstring.
- Fixed broken link in documentation.
- Added dependencies to
setup.py
(somehow completely forgot), fixing the dependency issue. - Fixed incorrect commands in the CLI documentation.
- Fixed broken link in the CLI.
- Refactored the
RandomSentence
class (usage stays the same) in order to be more modular by introducing the_present_tense
function.
- Reconfigured Readthedocs settings in order for autodoc to work.
- The
RandomWord
class which offers:- Random word filtering by starting and ending letters, parts of speech, and lengths.
- The
filter
method for filtering words. - The
random_words
method to get a list of words. - The
word
method to generate a random word.
- The
RandomSentence
method to generate random sentences (same asrandom_sentence
class in previous release). - A documentation on Readthedocs.
- Changed the command line interface to be more efficient and styled it with the help of Rich.
- The
random_word
class (wasn't pep 8 compliant, older functionality was refactored into theRandomWord
class). - The
random_sentence
class was removed and renamed to theRandomSentence
class.
- Simple random word generation.
- Random word list generation.
- Generate random words that start with a letter.
- Random sentence generation.