Code style in ReshapeOperator.
Fix proxy test.
Use print as a function.
Add a superclass for DiagonalOperator, DiagonalNumexprOperator and MaskOperator.
Move MaskOperator and SparseBase to the linear module. Enforce absolute import.
Add __init__.py to the list of files in sdist.
Update hooks.py.
Add helper functions last, last_is_not, ilast and ilast_is_not Remove reverse keyword in first, first_is_not, ifirst and ifirst_is_not.
Improve assert_eq and assert_same. Add 'atol' keyword to assert_same.
Add deprecated decorator.
Add helper function split and deprecate distribute and distribute_slice.
Change isclassattr calling sequence.
Set error attribute when b=0.
Add Cartcomm communicator and Comm.Create_cart method in fake_mpi module.
Allow proxy operators to have different shapes. Improve __str__.
Allow proxies to access operator attributes.
Morph MPIDistributionIdentityOperator into IdentityOperator is comm size is 1.
Remove unnecessary flags, since they are inherited.
Ensure flags are preserved in the the composition of operators with identity operator.
Reduction rules with ZeroOperator should return a fresh ZeroOperator. Improved testing.