Skip to main content

rearrange letters to form new words

Project description


pip install pnu-anagram



anagram - rearrange letters to form new words


anagram [-d|--dictionary pathname] [-f|--files] [-l|--length numbers] [--debug] [--help|-?] [--version] [--] [letters]


The anagram utility rearranges the given letters to form as many words (anagrams) as possible.

Standard input is read if no letters are provided on the command line.

The -l|--length option can be used to form words of selected size with the letters provided.

The -f|--files option can help you select a dictionary.


Options Use
-d--dictionary pathname Use this dictionary pathname if you don't want the default dictionary
-f|--files Print possible dictionary files in the DICTPATH
-l|--length numbers Specify anagrams lengths if you want intermediate sizes. numbers is a number or a comma separated list of numbers or dash separated number intervals
--debug Enable debug mode
--help|-? Print usage and a short help message and exit
--version Print version and exit
-- Options processing terminator


The ANAGRAM_DEBUG environment variable can also be set to any value to enable debug mode.

The DICTPATH environment variable is the search path for the dictionary files. It is a colon-separated list of directories in which anagram looks for a words dictionary file. If not set it will default to /usr/share/dict:/usr/local/share/dict. Under a Posix system, $HOME/.local/share/dict will also be added to the default, while %HOMEPATH%/appdata/roaming/python/share/dict:%HOMEPATH%/appdata/local/programs/python/pythonXX/share/dict will be added under a Windows system.

The ANAGRAM_DICT environment variable provides a way to avoid specifying an alternate directory on each command line.


/usr/share/dict/words is the default (English) dictionary on a BSD operating system.

Some French dictionaries are also installed as a dependency.


The anagram utility exits 0 on success, and >0 if an error occurs.


To solve a Wordscapes (French) level where the available letters are ABCDEFG, I use a command like:

$ export ANAGRAM_DICT=/usr/local/share/dict/dict-fr-Wordscapes
$ anagram -l 3-7 abcdefg

Other dictionaries are also available. For example:

$ export ANAGRAM_DICT=/usr/local/share/dict/dict-fr-ABU-mots_communs.ascii
$ export ANAGRAM_DICT=/usr/local/share/dict/dict-fr-AU-DELA-common-words.ascii




The anagram utility is not a standard UNIX command.

This utility tries to follow the PEP 8 style guide for Python code.


Tested OK under Windows.


This utility was made for the PNU project in order to help my wife play Wordscapes when she was stuck on a level.


It is available under the 3-clause BSD license.


Hubert Tournier


An English dictionary should be packaged for operating systems that are not providing one.

Searching only for a words link to one of the directories in the DICTPATH is too limitated.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pnu_anagram-1.2.2.tar.gz (10.6 kB view hashes)

Uploaded source

Built Distribution

pnu_anagram-1.2.2-py3-none-any.whl (9.3 kB view hashes)

Uploaded py3

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