%global _empty_manifest_terminate_build 0 Name: python-wonderwords Version: 2.2.0 Release: 1 Summary: A python package for random words and sentences in the english language License: MIT License URL: https://github.com/mrmaxguns/wonderwordsmodule Source0: https://mirrors.nju.edu.cn/pypi/web/packages/f3/ed/d5f4336a7b1b416d5c502a6ed323f02acdb5e67467ef8f5e80ea6617fe3e/wonderwords-2.2.0.tar.gz BuildArch: noarch Requires: python3-importlib-resources Requires: python3-rich %description # Wonderwords **Generate random words and sentences with ease in python** ![PyPI - Downloads](https://img.shields.io/pypi/dm/wonderwords?style=for-the-badge) ![Libraries.io SourceRank](https://img.shields.io/librariesio/sourcerank/pypi/wonderwords?style=for-the-badge) ![PyPI - License](https://img.shields.io/pypi/l/wonderwords?style=for-the-badge) https://github.com/mrmaxguns/wonderwordsmodule/workflows/Python%20package/badge.svg **Quick links:** * [GitHub repository](https://github.com/mrmaxguns/wonderwordsmodule) * [PyPI page](https://pypi.org/project/wonderwords) * [Official Documentation](https://wonderwords.readthedocs.io) *** Wonderwords is a python package useful for generating random words and structured random sentences. It also comes with a colorful command line interface for quickly generating random words. The latest version is available [on GitHub](https://github.com/mrmaxguns/wonderwordsmodule) while the stable version is available [on PyPI](https://pypi.org/project/wonderwords). ## Table of Contents - Features - Installation - Usage - The Wonderwords Python API - The Wonderwords CLI - Versioning - License - Contributing - Credits ## Features Here's what Wonderwords is capable of: - Random word generation - Specify word length, what it starts and ends with, category, and even custom regular expressions! - Use custom word lists and define custom categories of words - Beautiful command line interface - Easy-to-use interface and comprehensive documentation - Open source! ## Installation To install the latest version of Wonderwords, use your favorite package manager for the Python Package Index to install the ``wonderwords`` package. For example with pip: ```bash pip install wonderwords ``` To upgrade Wonderwords with pip use: ```bash pip install --upgrade wonderwords ``` To verify that the installation worked, import Wonderwords in python: ```python import wonderwords ``` If you get a `ModuleNotFound` error, make sure that you have installed Wonderwords from the step above. For further issues, [open a new issue from the GitHub page](https://github.com/mrmaxguns/wonderwordsmodule/issues/new/choose). ## Usage This section will briefly describe Wonderwords usage. Since Wonderwords has a command line interface and python module, you will find two subsections. ### The Wonderwords Python API The base random word generation class is the `RandomWord` class. You can generate words with the `word` method: ```python from wonderwords import RandomWord r = RandomWord() # generate a random word r.word() # random word that starts with a and ends with en r.word(starts_with="a", ends_with="en") # generate a random noun or adjective, by default all parts of speech are included r.word(include_parts_of_speech=["nouns", "adjectives"]) # generate a random word between the length of 3 and 8 characters r.word(word_min_length=3, word_max_length=8) # generate a random word with a custom regular expression r.word(regex=".*a") # you can combine multiple filtering options r.word(starts_with="ru", word_max_length=10, include_parts_of_speech=["verbs"]) ``` You can also get a list of all words matching some criteria using the `filter` method: ```python # get a list of ALL words that start with "am" r.filter(starts_with="am") # you can use all the options found in the word method: r.filter(ends_with="k", include_parts_of_speech=["verbs"], word_min_length=4) ``` You can also generate a random list of words with the `random_words` method. This is much like the filter method, except you specify the amount of words to return, and the words are randomly chosen. If there aren't enough words to satisfy the amount, a `NoWordsToChooseFrom` exception is raised: ```python # get a list of 3 random nouns r.random_words(3, include_parts_of_speech=["nouns"]) # you can use all the options found in the word method r.random_words(5, starts_with="o", word_min_length=10) # if the amount of words you want to get is larger than the amount of words # there are, a NoWordsToChooseFrom exception is raised: r.random_words(100, starts_with="n", word_min_length=16) # there are less than 100 words that are at least 16 letters long and start with # n, so an exception is raised # you can silence the NoWordsToChooseFrom exception and return all words even # if there are less, by setting return_less_if_necessary to True r.random_words(100, starts_with="n", word_min_length=16, return_less_if_necessary=True) ``` Generating random sentences is easy using the `RandomSentence` class: ```python from wonderwords import RandomSentence s = RandomSentence() # Get a random bare-bone sentence s.bare_bone_sentence() # Get a random bare-bone sentence with a direct object s.simple_sentence() # Get a random bare-bone sentence with an adjective s.bare_bone_with_adjective() # Get a random sentence with a subject, predicate, direct object and adjective s.sentence() ``` More advanced usage (and a tutorial!) is found in the documentation, such as adding custom categories of words. The full documentation with all information can be found at: https://wonderwords.readthedocs.io ## The Wonderwords CLI Wonderwords provides a command line interface, too, which can be used with the `wonderwords` command. Usage: ``` usage: wonderwords [-h] [-w] [-f] [-l LIST] [-s {bb,ss,bba,s}] [-v] [-sw STARTS_WITH] [-ew ENDS_WITH] [-p {noun,verb,adjective,nouns,verbs,adjectives} [{noun,verb,adjective,nouns,verbs,adjectives} ...]] [-min WORD_MIN_LENGTH] [-max WORD_MAX_LENGTH] [-r REGEX] [-d DELIMITER] optional arguments: -h, --help show this help message and exit -w, --word, --random-word generate a random word -f, --filter filter a list of words matching the criteria specified -l LIST, --list LIST return a list of words of a certain length -s {bb,ss,bba,s}, --sentence {bb,ss,bba,s} return a sentence based on the structure chosen -v, --version Print the version number and exit -sw STARTS_WITH, --starts-with STARTS_WITH specify what string the random word(s) should start with -ew ENDS_WITH, --ends-with ENDS_WITH specify what string the random word(s) should end with -p {noun,verb,adjective,nouns,verbs,adjectives} [{noun,verb,adjective,nouns,verbs,adjectives} ...], --parts-of-speech {noun,verb,adjective,nouns,verbs,adjectives} [{noun,verb,adjective,nouns,verbs,adjectives} ...] specify to only include certain parts of speech (by default all parts of speech are included) -min WORD_MIN_LENGTH, --word-min-length WORD_MIN_LENGTH specify the minimum length of the word(s) -max WORD_MAX_LENGTH, --word-max-length WORD_MAX_LENGTH specify the maximum length of the word(s) -r REGEX, --regex REGEX, --re REGEX, --regular-expression REGEX specify a python-style regular expression that every word must match -d DELIMITER, --delimiter DELIMITER Specify the delimiter to put between a list of words, default is ', ' ``` The basic commands are: * `-w`: generate a random word * `-f`: which works much like the `filter` function to return all words matching a certain criteria * `-l LIST`: get a list of `LIST` random words * `-s {bb,ss,bba,s}`: generate a random sentence: * `bb`: bare bone sentence * `ss`: simple sentence (bare bone sentence with direct object) * `bba`: bare bone sentence with adjective * `s`: generate a simple sentence with an adjective # Versioning During its early stages, Wonderwords didn't have a set versioning system and therefore, versions before `v2.0.0-alpha` are in disarray. Starting with version 2 alpha, Wonderwords uses **sematic versioning**. # License Wonderwords is open source and is distributed under the MIT license. See LICENSE for more details. # Contributing All contributions are welcome and we hope Wonderwords will continue growing. Start out by reading `CONTRIBUTING.md` for contributing guidelines and how to get started. # Credits Wonderwords has been made possible thanks to the following works: - `profanitylist.txt` from [RobertJGabriel/Google-profanity-words](https://github.com/RobertJGabriel/Google-profanity-words) under the [Apache-2.0 license](https://github.com/RobertJGabriel/Google-profanity-words/blob/master/LICENSE) %package -n python3-wonderwords Summary: A python package for random words and sentences in the english language Provides: python-wonderwords BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-pip %description -n python3-wonderwords # Wonderwords **Generate random words and sentences with ease in python** ![PyPI - Downloads](https://img.shields.io/pypi/dm/wonderwords?style=for-the-badge) ![Libraries.io SourceRank](https://img.shields.io/librariesio/sourcerank/pypi/wonderwords?style=for-the-badge) ![PyPI - License](https://img.shields.io/pypi/l/wonderwords?style=for-the-badge) https://github.com/mrmaxguns/wonderwordsmodule/workflows/Python%20package/badge.svg **Quick links:** * [GitHub repository](https://github.com/mrmaxguns/wonderwordsmodule) * [PyPI page](https://pypi.org/project/wonderwords) * [Official Documentation](https://wonderwords.readthedocs.io) *** Wonderwords is a python package useful for generating random words and structured random sentences. It also comes with a colorful command line interface for quickly generating random words. The latest version is available [on GitHub](https://github.com/mrmaxguns/wonderwordsmodule) while the stable version is available [on PyPI](https://pypi.org/project/wonderwords). ## Table of Contents - Features - Installation - Usage - The Wonderwords Python API - The Wonderwords CLI - Versioning - License - Contributing - Credits ## Features Here's what Wonderwords is capable of: - Random word generation - Specify word length, what it starts and ends with, category, and even custom regular expressions! - Use custom word lists and define custom categories of words - Beautiful command line interface - Easy-to-use interface and comprehensive documentation - Open source! ## Installation To install the latest version of Wonderwords, use your favorite package manager for the Python Package Index to install the ``wonderwords`` package. For example with pip: ```bash pip install wonderwords ``` To upgrade Wonderwords with pip use: ```bash pip install --upgrade wonderwords ``` To verify that the installation worked, import Wonderwords in python: ```python import wonderwords ``` If you get a `ModuleNotFound` error, make sure that you have installed Wonderwords from the step above. For further issues, [open a new issue from the GitHub page](https://github.com/mrmaxguns/wonderwordsmodule/issues/new/choose). ## Usage This section will briefly describe Wonderwords usage. Since Wonderwords has a command line interface and python module, you will find two subsections. ### The Wonderwords Python API The base random word generation class is the `RandomWord` class. You can generate words with the `word` method: ```python from wonderwords import RandomWord r = RandomWord() # generate a random word r.word() # random word that starts with a and ends with en r.word(starts_with="a", ends_with="en") # generate a random noun or adjective, by default all parts of speech are included r.word(include_parts_of_speech=["nouns", "adjectives"]) # generate a random word between the length of 3 and 8 characters r.word(word_min_length=3, word_max_length=8) # generate a random word with a custom regular expression r.word(regex=".*a") # you can combine multiple filtering options r.word(starts_with="ru", word_max_length=10, include_parts_of_speech=["verbs"]) ``` You can also get a list of all words matching some criteria using the `filter` method: ```python # get a list of ALL words that start with "am" r.filter(starts_with="am") # you can use all the options found in the word method: r.filter(ends_with="k", include_parts_of_speech=["verbs"], word_min_length=4) ``` You can also generate a random list of words with the `random_words` method. This is much like the filter method, except you specify the amount of words to return, and the words are randomly chosen. If there aren't enough words to satisfy the amount, a `NoWordsToChooseFrom` exception is raised: ```python # get a list of 3 random nouns r.random_words(3, include_parts_of_speech=["nouns"]) # you can use all the options found in the word method r.random_words(5, starts_with="o", word_min_length=10) # if the amount of words you want to get is larger than the amount of words # there are, a NoWordsToChooseFrom exception is raised: r.random_words(100, starts_with="n", word_min_length=16) # there are less than 100 words that are at least 16 letters long and start with # n, so an exception is raised # you can silence the NoWordsToChooseFrom exception and return all words even # if there are less, by setting return_less_if_necessary to True r.random_words(100, starts_with="n", word_min_length=16, return_less_if_necessary=True) ``` Generating random sentences is easy using the `RandomSentence` class: ```python from wonderwords import RandomSentence s = RandomSentence() # Get a random bare-bone sentence s.bare_bone_sentence() # Get a random bare-bone sentence with a direct object s.simple_sentence() # Get a random bare-bone sentence with an adjective s.bare_bone_with_adjective() # Get a random sentence with a subject, predicate, direct object and adjective s.sentence() ``` More advanced usage (and a tutorial!) is found in the documentation, such as adding custom categories of words. The full documentation with all information can be found at: https://wonderwords.readthedocs.io ## The Wonderwords CLI Wonderwords provides a command line interface, too, which can be used with the `wonderwords` command. Usage: ``` usage: wonderwords [-h] [-w] [-f] [-l LIST] [-s {bb,ss,bba,s}] [-v] [-sw STARTS_WITH] [-ew ENDS_WITH] [-p {noun,verb,adjective,nouns,verbs,adjectives} [{noun,verb,adjective,nouns,verbs,adjectives} ...]] [-min WORD_MIN_LENGTH] [-max WORD_MAX_LENGTH] [-r REGEX] [-d DELIMITER] optional arguments: -h, --help show this help message and exit -w, --word, --random-word generate a random word -f, --filter filter a list of words matching the criteria specified -l LIST, --list LIST return a list of words of a certain length -s {bb,ss,bba,s}, --sentence {bb,ss,bba,s} return a sentence based on the structure chosen -v, --version Print the version number and exit -sw STARTS_WITH, --starts-with STARTS_WITH specify what string the random word(s) should start with -ew ENDS_WITH, --ends-with ENDS_WITH specify what string the random word(s) should end with -p {noun,verb,adjective,nouns,verbs,adjectives} [{noun,verb,adjective,nouns,verbs,adjectives} ...], --parts-of-speech {noun,verb,adjective,nouns,verbs,adjectives} [{noun,verb,adjective,nouns,verbs,adjectives} ...] specify to only include certain parts of speech (by default all parts of speech are included) -min WORD_MIN_LENGTH, --word-min-length WORD_MIN_LENGTH specify the minimum length of the word(s) -max WORD_MAX_LENGTH, --word-max-length WORD_MAX_LENGTH specify the maximum length of the word(s) -r REGEX, --regex REGEX, --re REGEX, --regular-expression REGEX specify a python-style regular expression that every word must match -d DELIMITER, --delimiter DELIMITER Specify the delimiter to put between a list of words, default is ', ' ``` The basic commands are: * `-w`: generate a random word * `-f`: which works much like the `filter` function to return all words matching a certain criteria * `-l LIST`: get a list of `LIST` random words * `-s {bb,ss,bba,s}`: generate a random sentence: * `bb`: bare bone sentence * `ss`: simple sentence (bare bone sentence with direct object) * `bba`: bare bone sentence with adjective * `s`: generate a simple sentence with an adjective # Versioning During its early stages, Wonderwords didn't have a set versioning system and therefore, versions before `v2.0.0-alpha` are in disarray. Starting with version 2 alpha, Wonderwords uses **sematic versioning**. # License Wonderwords is open source and is distributed under the MIT license. See LICENSE for more details. # Contributing All contributions are welcome and we hope Wonderwords will continue growing. Start out by reading `CONTRIBUTING.md` for contributing guidelines and how to get started. # Credits Wonderwords has been made possible thanks to the following works: - `profanitylist.txt` from [RobertJGabriel/Google-profanity-words](https://github.com/RobertJGabriel/Google-profanity-words) under the [Apache-2.0 license](https://github.com/RobertJGabriel/Google-profanity-words/blob/master/LICENSE) %package help Summary: Development documents and examples for wonderwords Provides: python3-wonderwords-doc %description help # Wonderwords **Generate random words and sentences with ease in python** ![PyPI - Downloads](https://img.shields.io/pypi/dm/wonderwords?style=for-the-badge) ![Libraries.io SourceRank](https://img.shields.io/librariesio/sourcerank/pypi/wonderwords?style=for-the-badge) ![PyPI - License](https://img.shields.io/pypi/l/wonderwords?style=for-the-badge) https://github.com/mrmaxguns/wonderwordsmodule/workflows/Python%20package/badge.svg **Quick links:** * [GitHub repository](https://github.com/mrmaxguns/wonderwordsmodule) * [PyPI page](https://pypi.org/project/wonderwords) * [Official Documentation](https://wonderwords.readthedocs.io) *** Wonderwords is a python package useful for generating random words and structured random sentences. It also comes with a colorful command line interface for quickly generating random words. The latest version is available [on GitHub](https://github.com/mrmaxguns/wonderwordsmodule) while the stable version is available [on PyPI](https://pypi.org/project/wonderwords). ## Table of Contents - Features - Installation - Usage - The Wonderwords Python API - The Wonderwords CLI - Versioning - License - Contributing - Credits ## Features Here's what Wonderwords is capable of: - Random word generation - Specify word length, what it starts and ends with, category, and even custom regular expressions! - Use custom word lists and define custom categories of words - Beautiful command line interface - Easy-to-use interface and comprehensive documentation - Open source! ## Installation To install the latest version of Wonderwords, use your favorite package manager for the Python Package Index to install the ``wonderwords`` package. For example with pip: ```bash pip install wonderwords ``` To upgrade Wonderwords with pip use: ```bash pip install --upgrade wonderwords ``` To verify that the installation worked, import Wonderwords in python: ```python import wonderwords ``` If you get a `ModuleNotFound` error, make sure that you have installed Wonderwords from the step above. For further issues, [open a new issue from the GitHub page](https://github.com/mrmaxguns/wonderwordsmodule/issues/new/choose). ## Usage This section will briefly describe Wonderwords usage. Since Wonderwords has a command line interface and python module, you will find two subsections. ### The Wonderwords Python API The base random word generation class is the `RandomWord` class. You can generate words with the `word` method: ```python from wonderwords import RandomWord r = RandomWord() # generate a random word r.word() # random word that starts with a and ends with en r.word(starts_with="a", ends_with="en") # generate a random noun or adjective, by default all parts of speech are included r.word(include_parts_of_speech=["nouns", "adjectives"]) # generate a random word between the length of 3 and 8 characters r.word(word_min_length=3, word_max_length=8) # generate a random word with a custom regular expression r.word(regex=".*a") # you can combine multiple filtering options r.word(starts_with="ru", word_max_length=10, include_parts_of_speech=["verbs"]) ``` You can also get a list of all words matching some criteria using the `filter` method: ```python # get a list of ALL words that start with "am" r.filter(starts_with="am") # you can use all the options found in the word method: r.filter(ends_with="k", include_parts_of_speech=["verbs"], word_min_length=4) ``` You can also generate a random list of words with the `random_words` method. This is much like the filter method, except you specify the amount of words to return, and the words are randomly chosen. If there aren't enough words to satisfy the amount, a `NoWordsToChooseFrom` exception is raised: ```python # get a list of 3 random nouns r.random_words(3, include_parts_of_speech=["nouns"]) # you can use all the options found in the word method r.random_words(5, starts_with="o", word_min_length=10) # if the amount of words you want to get is larger than the amount of words # there are, a NoWordsToChooseFrom exception is raised: r.random_words(100, starts_with="n", word_min_length=16) # there are less than 100 words that are at least 16 letters long and start with # n, so an exception is raised # you can silence the NoWordsToChooseFrom exception and return all words even # if there are less, by setting return_less_if_necessary to True r.random_words(100, starts_with="n", word_min_length=16, return_less_if_necessary=True) ``` Generating random sentences is easy using the `RandomSentence` class: ```python from wonderwords import RandomSentence s = RandomSentence() # Get a random bare-bone sentence s.bare_bone_sentence() # Get a random bare-bone sentence with a direct object s.simple_sentence() # Get a random bare-bone sentence with an adjective s.bare_bone_with_adjective() # Get a random sentence with a subject, predicate, direct object and adjective s.sentence() ``` More advanced usage (and a tutorial!) is found in the documentation, such as adding custom categories of words. The full documentation with all information can be found at: https://wonderwords.readthedocs.io ## The Wonderwords CLI Wonderwords provides a command line interface, too, which can be used with the `wonderwords` command. Usage: ``` usage: wonderwords [-h] [-w] [-f] [-l LIST] [-s {bb,ss,bba,s}] [-v] [-sw STARTS_WITH] [-ew ENDS_WITH] [-p {noun,verb,adjective,nouns,verbs,adjectives} [{noun,verb,adjective,nouns,verbs,adjectives} ...]] [-min WORD_MIN_LENGTH] [-max WORD_MAX_LENGTH] [-r REGEX] [-d DELIMITER] optional arguments: -h, --help show this help message and exit -w, --word, --random-word generate a random word -f, --filter filter a list of words matching the criteria specified -l LIST, --list LIST return a list of words of a certain length -s {bb,ss,bba,s}, --sentence {bb,ss,bba,s} return a sentence based on the structure chosen -v, --version Print the version number and exit -sw STARTS_WITH, --starts-with STARTS_WITH specify what string the random word(s) should start with -ew ENDS_WITH, --ends-with ENDS_WITH specify what string the random word(s) should end with -p {noun,verb,adjective,nouns,verbs,adjectives} [{noun,verb,adjective,nouns,verbs,adjectives} ...], --parts-of-speech {noun,verb,adjective,nouns,verbs,adjectives} [{noun,verb,adjective,nouns,verbs,adjectives} ...] specify to only include certain parts of speech (by default all parts of speech are included) -min WORD_MIN_LENGTH, --word-min-length WORD_MIN_LENGTH specify the minimum length of the word(s) -max WORD_MAX_LENGTH, --word-max-length WORD_MAX_LENGTH specify the maximum length of the word(s) -r REGEX, --regex REGEX, --re REGEX, --regular-expression REGEX specify a python-style regular expression that every word must match -d DELIMITER, --delimiter DELIMITER Specify the delimiter to put between a list of words, default is ', ' ``` The basic commands are: * `-w`: generate a random word * `-f`: which works much like the `filter` function to return all words matching a certain criteria * `-l LIST`: get a list of `LIST` random words * `-s {bb,ss,bba,s}`: generate a random sentence: * `bb`: bare bone sentence * `ss`: simple sentence (bare bone sentence with direct object) * `bba`: bare bone sentence with adjective * `s`: generate a simple sentence with an adjective # Versioning During its early stages, Wonderwords didn't have a set versioning system and therefore, versions before `v2.0.0-alpha` are in disarray. Starting with version 2 alpha, Wonderwords uses **sematic versioning**. # License Wonderwords is open source and is distributed under the MIT license. See LICENSE for more details. # Contributing All contributions are welcome and we hope Wonderwords will continue growing. Start out by reading `CONTRIBUTING.md` for contributing guidelines and how to get started. # Credits Wonderwords has been made possible thanks to the following works: - `profanitylist.txt` from [RobertJGabriel/Google-profanity-words](https://github.com/RobertJGabriel/Google-profanity-words) under the [Apache-2.0 license](https://github.com/RobertJGabriel/Google-profanity-words/blob/master/LICENSE) %prep %autosetup -n wonderwords-2.2.0 %build %py3_build %install %py3_install install -d -m755 %{buildroot}/%{_pkgdocdir} if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi pushd %{buildroot} if [ -d usr/lib ]; then find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/lib64 ]; then find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/bin ]; then find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/sbin ]; then find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst fi touch doclist.lst if [ -d usr/share/man ]; then find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst fi popd mv %{buildroot}/filelist.lst . mv %{buildroot}/doclist.lst . %files -n python3-wonderwords -f filelist.lst %dir %{python3_sitelib}/* %files help -f doclist.lst %{_docdir}/* %changelog * Tue May 30 2023 Python_Bot - 2.2.0-1 - Package Spec generated