Skip to main content

Anagrams for everyone!

Project description

=============
About Amargan
=============

.. image:: https://img.shields.io/badge/Author:%20francis%20horsman-Available-brightgreen.svg?style=plastic
:target: https://www.linkedin.com/in/francishorsman

.. image:: https://img.shields.io/pypi/v/amargan.svg
:target: https://pypi.python.org/pypi/amargan
:alt: PyPi version

.. image:: https://img.shields.io/travis/sys-git/amargan.svg
:target: https://travis-ci.org/sys-git/amargan
:alt: CI Status

.. image:: https://coveralls.io/repos/github/sys-git/amargan/badge.svg
:target: https://coveralls.io/github/sys-git/amargan
:alt: Coverage Status

.. image:: https://badge.fury.io/py/amargan.svg
:target: https://badge.fury.io/py/amargan

.. image:: https://img.shields.io/pypi/l/amargan.svg
:target: https://img.shields.io/pypi/l/amargan.svg

.. image:: https://img.shields.io/pypi/wheel/amargan.svg
:target: https://img.shields.io/pypi/wheel/amargan.svg

.. image:: https://img.shields.io/pypi/pyversions/amargan.svg
:target: https://img.shields.io/pypi/pyversions/amargan.svg

.. image:: https://img.shields.io/pypi/status/amargan.svg
:target: https://img.shields.io/pypi/status/amargan.svg

.. image:: https://readthedocs.org/projects/amargan/badge/?version=latest
:target: https://amargan.readthedocs.io/en/latest/?badge=latest
:alt: Documentation Status

.. image:: https://pyup.io/repos/github/sys-git/amargan/shield.svg
:target: https://pyup.io/repos/github/sys-git/amargan/
:alt: Updates

.. code-block:: python
:linenos:

>>> print('Anagrams for everyone')


Reasons to use amargan
----------------------

* A simple but powerful pythonic interface

.. code-block:: python
:linenos:

>>> from amargan import Amargan
...
... with open('words.txt') as iterator:
... anagrams = Amargan(iterator)
... anagrams['hello']
set(['elloh' 'hello' 'lehol'])

* A powerful command-line tool

.. code-block:: bash
:linenos:

$ 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 <https://pypi.python.org/pypi/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


=======
History
=======

Project details


Release history Release notifications

This version
History Node

0.1.0

Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
amargan-0.1.0.tar.gz (29.6 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page