This is a simple python package to generate random english words
Project description
random-word
This is a simple python package to generate random english words. If you need help after reading the below, please find me at @vaibhavsingh97 on Twitter.
If you love the package, please :star2: the repo.
Installation
You should be able to install using easy_install
or pip
in the usual ways:
$ easy_install random-word
$ pip install random-word
Or just clone this repository and run:
$ python3 setup.py install
Or place the random-word
folder that you downloaded somewhere where it can be accessed by your scripts.
Basic Usage
# ⚠️ This will be soon deprecated in future versions of this package
from random_word import RandomWords
r = RandomWords()
# Return a single random word
r.get_random_word()
# Return list of Random words
r.get_random_words()
# Return Word of the day
r.word_of_the_day()
User can specify their own api key
r = RandomWords(api_key="<your api key>")
In a future version, we will have different services similar to Wordnik that will provide random words.
from random_word import Wordnik
wordnik_service = = Wordnik()
# Return a single random word
wordnik_service.get_random_word()
# Return list of Random words
wordnik_service.get_random_words()
# Return Word of the day
wordnik_service.word_of_the_day()
Advance Usage
-
To generate single random word we can use these optional parameters
hasDictionaryDef (string)
- Only return words with dictionary definitions (optional)includePartOfSpeech (string)
- CSV part-of-speech values to include (optional)excludePartOfSpeech (string)
- CSV part-of-speech values to exclude (optional)minCorpusCount (integer)
- Minimum corpus frequency for terms (optional)maxCorpusCount (integer)
- Maximum corpus frequency for terms (optional)minDictionaryCount (integer)
- Minimum dictionary count (optional)maxDictionaryCount (integer)
- Maximum dictionary count (optional)minLength (integer)
- Minimum word length (optional)maxLength (integer)
- Maximum word length (optional)
r.get_random_word(hasDictionaryDef="true", includePartOfSpeech="noun,verb", minCorpusCount=1, maxCorpusCount=10, minDictionaryCount=1, maxDictionaryCount=10, minLength=5, maxLength=10) # Output: pediophobia
-
To generate list of random word we can use these optional parameters
hasDictionaryDef (string)
- Only return words with dictionary definitions (optional)includePartOfSpeech (string)
- CSV part-of-speech values to include (optional)excludePartOfSpeech (string)
- CSV part-of-speech values to exclude (optional)minCorpusCount (integer)
- Minimum corpus frequency for terms (optional)maxCorpusCount (integer)
- Maximum corpus frequency for terms (optional)minDictionaryCount (integer)
- Minimum dictionary count (optional)maxDictionaryCount (integer)
- Maximum dictionary count (optional)minLength (integer)
- Minimum word length (optional)maxLength (integer)
- Maximum word length (optional)sortBy (string)
- Attribute to sort byalpha
orcount
(optional)sortOrder (string)
- Sort direction byasc
ordesc
(optional)limit (integer)
- Maximum number of results to return (optional)
r.get_random_words(hasDictionaryDef="true", includePartOfSpeech="noun,verb", minCorpusCount=1, maxCorpusCount=10, minDictionaryCount=1, maxDictionaryCount=10, minLength=5, maxLength=10, sortBy="alpha", sortOrder="asc", limit=15) # Output: ['ambivert', 'calcspar', 'deaness', 'entrete', 'gades', 'monkeydom', 'outclimbed', 'outdared', 'pistoleers', 'redbugs', 'snake-line', 'subrules', 'subtrends', 'torenia', 'unhides']
-
To get word of the day we can use these optional parameters
date (string)
- Fetches by date in yyyy-MM-dd (optional)
r.word_of_the_day(date="2018-01-01") # Output: {"word": "qualtagh", "definations": [{"text": "The first person one encounters, either after leaving one\'s home or (sometimes) outside one\'s home, especially on New Year\'s Day.", "source": "wiktionary", "partOfSpeech": "noun"}, {"text": "A Christmas or New Year\'s ceremony, in the Isle of Man; one who takes part in the ceremony. See the first extract.", "source": "century", "partOfSpeech": "noun"}]}
Development
Assuming that you have Python
and pipenv
installed, set up your environment and install the required dependencies like this instead of the pip install random-word
defined above:
$ git clone https://github.com/vaibhavsingh97/random-word.git
$ cd random-word
$ make init
Add API Key in random_word
directory defining API Key in config.yml
. If you don't have an API key than request your API key here
API_KEY = "<API KEY>"
To check your desired changes you can install your package locally
$ pip install -e .
Issues
You can report the bugs at the issue tracker
License
Built with ♥ by Vaibhav Singh(@vaibhavsingh97) under MIT License
You can find a copy of the License at https://vaibhavsingh97.mit-license.org/
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file Random Word-1.0.10.tar.gz
.
File metadata
- Download URL: Random Word-1.0.10.tar.gz
- Upload date:
- Size: 7.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.10.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 80f3e274528ba750269751bdffb366c4cee7b9ee809ac966a7b60334440427f4 |
|
MD5 | b3ca93b9358ebb80a590235db90bbd69 |
|
BLAKE2b-256 | be3d6b0cee3107674f8b0acf6581edfefd72bbd912784fa18fcfbd84e111cae4 |
File details
Details for the file Random_Word-1.0.10-py3-none-any.whl
.
File metadata
- Download URL: Random_Word-1.0.10-py3-none-any.whl
- Upload date:
- Size: 8.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.10.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9adfb94f8dcce62cc4ceb0ba97c5f38fc7c48cf185db193acf438bd68ee25586 |
|
MD5 | e12ec2b27e8e0e07eb0a6806e004f8ee |
|
BLAKE2b-256 | bf8c258ab94254542f92ee943e6b926a2644fc3ae12616fb5a275441644b4b81 |