About Amargan¶
1 | >>> print('Anagrams for everyone')
|
Reasons to use amargan¶
- A simple but powerful pythonic interface
1 2 3 4 5 6 | >>> from amargan import Amargan
...
... with open('words.txt') as iterator:
... anagrams = Amargan(iterator)
... anagrams['hello']
set(['elloh' 'hello' 'lehol'])
|
- A powerful command-line tool
1 2 3 4 5 | $ find_anagrams -i words.txt hello
elloh hello lehol
$ amargan -i words.txt hello
elloh hello lehol
|
Extensive configuration options
- Case (in)sensitivity
- Exclusion of word from results
- Output formatting (one per line, multiple-per-line, custom seperator)
- Output to a file
- Read from a file
- Use existing dictionary of words
Time complexity: O(1)
Space complexity: O(n) where n = number of words in dictionary.
Memory efficient, uses iterators extensively.
Add and remove word(s) from the dictionary.
Extensively tested with excellent code and branch coverage.
Extensive error checking with a rich set of checked exceptions.
Uses Certifiable if available to catch runtime type and parameter validation errors.
JSON serializable and reconstitutable.
Fully documented
Free software: MIT license
Documentation: https://amargan.readthedocs.io