mochila 0.2.4
Provides collections and a powerful API to process data in those collections in a declarative way.

Mochila
=======

.. image:: https://circleci.com/bb/arcanefoam/mochila/tree/master.svg?style=shield
     :target: https://circleci.com/bb/arcanefoam/mochila/tree/master

.. image:: https://coveralls.io/repos/bitbucket/arcanefoam/mochila/badge.svg
     :target: https://coveralls.io/bitbucket/arcanefoam/mochila

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

Collections are vital for implementing algorithms: they are the bread an butter of data aggregation and processing.
For example, a collection can be used to represent the list of ingredients of a recipe.
Then, you might want your algorithm to scale the ingredients to accommodate a different number of portions than the
original recipe.
The Mochila package provides a powerful API to process data in collections in a declarative way.

QuickStart
----------

Installation
~~~~~~~~~~~~

You can download and install the latest version of this software from the Python package index (PyPI) as follows::

    pip install --upgrade mochila

Usage
~~~~~

Import the module and all or any of the collections you want to use::

    from mochila import Sequence

    s = Sequence([1,2,3])


The complete reference is hosted in `Read the Docs <http://mochila.readthedocs.io/en/latest/>`_.

Development
-----------

Development of this happens on `Bitbucket <https://bitbucket.org/arcanefoam/mochila>`_, and issues are tracked in
`Youtrack <https://mofongo.myjetbrains.com/youtrack/issues/MCH>`_.

Bug reports, patches (including tests), and documentation are very welcome!

`Contributing <CONTRIB.rst>`_ contains information on contributing to the project.
Changelog
=========
All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).

[Unreleased]
------------

Added
~~~~~

Changed
~~~~~~~
- Fixes

[0.2.4] - 2017-11-04
--------------------

Changed
~~~~~~~
- Fixes MCH-10

[0.2.3] - 2017-11-04
--------------------
Changed
~~~~~~~
- Fixes MCH-9

[0.2.2] - 2017-10-31
--------------------

Changed
~~~~~~~
- Fixes some issues with excluding/including operations

[0.2.1] - 2017-10-26
--------------------

Changed
~~~~~~~
- Changed __init__ methods so they invoke the correct add/insert methods the init will also be checked by any
   constraints added by subclasses.
- Fixed the implementation of the __iadd__ of the Bag

[0.2.0] - 2017-09-|6
--------------------

Added
~~~~~
- Additional examples to the documentation

Changed
~~~~~~~
- Fixed some of the method implementation to reduce the number of methods that modify the underlying collections.
- Changed the the name of the changelog file and defined it's format and contents


[0.1.0] - 2017-08-27
--------------------
Initial release. Includes the first API implementation, tests and documentation.

.. Added
   ~~~~~
   Changed
   ~~~~~~~
   Fixed
   ~~~~~
   Removed
   ~~~~~~~