2010-06-04 Keith

    * RELEASE: Set release date to today!
    
    * doc/source/work.rst: doc tweak.

    * version.py, doc/source/conf.py: Bump version number to 0.3 in prep for
      release.
      
    * doc/launchpad.txt, doc/source/intro.rst: Doc tweak.

2010-06-03 Keith

    * afunc.py(ranking), deflarry.py(ranking): Docstring tweak.

2010-06-02 Keith

    * deflarry.py(__getitem__): Faster.

    * doc/source/intro.rst: Tweak.

2010-05-31 Keith

    * sandbox, sandbox/autotimeit.py, sandbox/bench.py: Added a sandbox to la.
      And in the sandbox added a proof of concept for a benchmark suite.

2010-05-30 Keith

    * RELEASE: Update for cython.

    * doc/source/intro.rst: Update for cython.

    * src/clistmap.pyx, src/clistmap.c: Tweaked clistmap.pyx.
    
    * deflarry.py(morph): Did I really make that last commit without running
      the unit tests?

    * src, src/clistmap.pyx, src/clistmap.c, src/setup.py, util/misc.py,
      setup.py: Added the first C extension (cython converted to C) to the la
      package. setup.py will try to compile it (clistmap.c) at the build time
      of the la package. If compiling clistmap.c fails then the python version
      will be used.

    * deflarry.py(__align), deflarry.py(morph): Use arr.take() instead of
      np.take(arr,...).

    * deflarry.py(__align), deflarry.py(morph): Huge speed increase from using
      the amazing np.take().    

2010-05-29 Keith

    * deflarry.py(__align): More speed.

    * deflarry.py(__align): More speed, especially for large larrys.

2010-05-28 Keith

    * doc/source/work.rst: Tweak.

    * deflarry.py(morph), tests/deflarry_test.py: Add back integrity check.
      Add unit test.
      
2010-05-27 Keith

    * deflarry.py, doc/source/work.rst, RELEASE: Skip the integrity check when
      making a new larry for most all larry methods that create a larry. 

    * deflarry.py: Skip the integrity check when making a new larry for all
      the applicable unary methods and the copy method.

    * deflarry.py: Replace self(type) with larry throughout deflarry.py for
      speed and ease of reading.

    * deflarry.py(__add__), deflarry.py(__mul__): Skip the integrity check
      when making a new larry. 

    * deflarry.py(__init__): Make the integrity checks optional.
    
    * deflarry.py(__mul__): Skip the integrity check when making a new larry.        

2010-05-26 Keith

    * doc/source/work.rst, deflarry.py(__init__): Warn that larry does not
      copy the data array or label.

    * deflarry.py(cumsum), deflarry.py(cumprod), tests/deflarry_test.py,
      RELEASE, doc/source/intro.rst: Bug #585694: cumsum and cumprod crashed
      on dtype=int.

2010-05-25 Keith

    * doc/source/work.rst: Indexing by label edits.

    * util/misc.py(listmap), RELEASE: Made listmap faster (range --> xrange)
      which will in turn, for unaligned larrys, speed up the binary operators,
      the comparison operators, merge, and morph.

    * deflarry(__align): 8% speed up in comparison operators (==, >, <=, !=,
      etc).

    * la/LICENSE, RELEASE: Update.

    * doc/source/intro.rst: Tweak.

    * deflarry(morph): Big speed boost for medium to large larrys, small slow
      down for small (1d, len 10) larrys. But this gets all the mapping to use
      a common function (listmap) which can be optimized further. This change
      also speeds up merge which uses morph.

2010-05-24 Keith

    * util/misc.py(listmap), util/tests/misc_test.py, doc/source/intro.rst,
      RELEASE: New function that is an O(n) version of map(list1.index, list2)
      which is O(n^2).

    * deflarry.py(__align): Use listmap to simplify code.   

    * RELEASE: Update.

    * deflarry.py(copylabel), deflarry.py(copy): Wes McKinney (thank you!)
      spotted a speed bottleneck in binary operations of large larrys: labels
      are copied with deepcopy which is very slow for large labels. I replaced
      with a faster copy method.

2010-05-23 Keith

    * deflarry.py(__align), RELEASE: 80x speed increase in binary operations
      (+, -, *, &, etc) timed with two larrys of shape (10000,) with unaligned
      labels. The cost is a 2% slowdown for shapes (10,).

    * doc/source/intro.rst: Tweak.

    * doc/source/intro.rst: Added a new section: la at a glance.

    * util/resample.py(cv), util/resample.py(cross_validation),
      util/resample.py(boot), util/resample.py(bootstrap), 
      util/tests/resample_test.py: Renamed cv to cross_validation and boot to
      bootstrap. Removed the default of setting the random number generator
      to a fixed state.

2010-05-22 Keith

    * util/resample.py(cv): Type in doc string.

    * util/resample.py, util/tests/resample_test.py, doc/source/intro.rst,
      RELEASE: New module of resample methods. Currently contains iterators
      for the indices needed for cross validation and bootstrap.

2010-05-21 Keith

    * deflarry.py(__compare), tests/deflarry_nose_test.py, RELEASE,
      tests/deflarry_test.py, doc/source/intro.rst, doc/source/reference.rst:
      Add ability to compare (==, >, !=, etc) larrys with lists and tuples.

    * doc/source/reference.rst: Add new larry method astype.

    * deflarry.py(astype), tests/deflarry_nose_test.py, doc/source/intro.rst,
      RELEASE, doc/source/work.rst: New larry method astype returns copy of
      larry cast to specified type.
    
    * LICENSE: New larry method astype uses a modified version of the
      numpy.array.astype doc string, so I added the numpy license to la.
      
    * doc/source/intro.rst: Bumped numpy requirement from 1.4 to 1.4.1.     
 
2010-05-20 Keith

    * util/testing.py(assert_larry_equal), util/tests/testing_test.py, 
      doc/source/work.rst, RELEASE: Bug #583596: Comparing a larry with dtype
      float to a larry of dtype str now raises an AssertionError instead of
      crashing. 

    * deflarry.py(__init__), tests/deflarry_nose_test.py(test_dtype), RELEASE,
      doc/source/intro.rst, doc/source/work.rst: You can now use an optional
      dtype when creating larrys. Added corresponding unit tests.

2010-05-19 Keith

    * afunc.py(nans), tests/afunc_arr_test.py, RELEASE, doc/source/intro.rst:
      Bug #582579: nans now fills with '' for str dtype and None for object
      dtype. Doc string and unit tests added.

2010-05-17 Keith

    * deflarry.py: A module was imported twice.

2010-05-08 Keith

    * deflarry.py, RELEASE, doc/source/reference.rst, doc/source/work.rst:
      Doc work.

2010-05-05 Keith

    * deflarry.py(geometric_mean), RELEASE, source/reference.rst: Add a
      geometric_mean larry method.
  
    * tests/all_nan_test.py, tests/deflarry_test.py, tests/test_3d.py,
      tests/empty_larry_test.py, tests/larry_axis_test.py,
      doc/source/intro.rst: Add unit tests for the new geometric_mean method.

2010-05-03 Keith

    * afunc.py(geometric_mean), tests/afunc_arr_test.py, RELEASE: Given input
      of shape (n, m) and axis=1, geometric_mean now returns output of
      shape (n,) instead of (n, 1). So it now reduces in the same way as all
      other reducing methods. Updated unit tests.

2010-05-02 Keith

    * tests/afunc_arr_test.py: Converted entire module from old style unit
      testing, which does not compare the shape of the actual and desired
      arrays, to the new style, which does check the array shape. This is in
      preparation for converting geometric_mean to a reducing function. If I
      didn't make the change then actual=np.array([1, 1]) and
      desired=np.array([1]) would pass the test.

    * afunc.py, deflarry.py, io.py, util/misc.py, util/testing.py: pylint
      cleaning.

2010-05-01 Keith

    * afunc.py(lastrank), deflarry.py(lastrank): Doc string edit.

    * deflarry.py, tests/empty_larry_test.py, doc/source/intro.rst, RELEASE:
      Bug #573240: Reduce methods give wrong output with shapes that contain
      0.

    * util/testing.py(assert_larry_equal), util/tests/testing_test.py: I
      needed to add a new capability to assert_larry_equal for a unit test
      that I am writting. If one input is a larry and the other is not, then
      raise an AssertionError instead of crashing. Added a unit test too.

    * tests/io_test.py: The added ability of assert_larry_equal (directly
      above) uncovered a typo in an io unit test. The test was comparing a
      lara to a larry. Fixed. (When evaluated the lara turns into a larry so
      that's why the unit test passed.)

2010-04-30 Keith

    * util/testing.py(assert_larry_equal), util/tests/testing_test.py,
      RELEASE: Added ability to compare two scalars since some larry methods
      return scalar (e.g. lar.sum()). Doc string, code cleaning, and unit
      tests too.

    * afunc.py(lastrank), tests/empty_larry_test.py, RELEASE,
      source/intro.rst: Bug #572638: lastrank chokes on input with a shape
      tuple that contains zero. 

    * afunc.py(lastrank), deflarry.py(lastrank), tests/deflarry_test.py,
      tests/larry_axis_test.py, doc/source/reference.rst, RELEASE: Bug #572533
      Given input of shape (n, m) and axis=1, lastrank now returns output of
      shape (n,) instead of (n, 1). So it now reduces in the same way as all
      other reducing methods. Updated unit tests and added two more. Finally
      created doc strings (function and method).  

    * afunc.py(lastrank), afunc.py(lastrank_decay), deflarry.py(lastrank),
      deflarry.py(lastrank_decay), tests/deflarry_test.py, tests/more_test.py,
      la/tests/test_3d.py, RELEASE: Combined lastrank and lastrank_decay into
      one function (afunc.py) and one method (deflarry.py). The new name is
      lastrank.

    * deflarry(__reduce): Changed the reduce function from taking (axis, op)
      as input to taking (op, **kwargs) in preparation for using __reduce
      for lastrank_decay which takes decay, as well as axis, as input. This
      change meant that I had to modify the code for all the reduce functions:
      sum, mean, max, any, etc.

2010-04-29 Keith

    * deflarry.py(prod), deflarry.py(cumprod), deflarry.py(cumsum), RELEASE,
      deflarry_test.py, doc/source/intro.rst, tests/empty_larry_test.py:    
      Bug #571830: prod, cumprod, and cumsum did not return NaN for NaN input.
      Added unit tests. And updated doc strings. And changed the behavior of
      prod to return NaN for emtpy larry input.

    * util/testing.py, tests/deflarry_test.py, util/tests/testing_test.py,
      doc/source/intro.rst: Add an input type check for some of the input
      parameters of assert_larry_equal. And add unit tests for it. Plus fix
      harmless typo (harmless in this case anyway) in two unit tests that use
      assert_larry_equal.

    * deflarry.py(Getitemlabel), RELEASE: Bug #571899: label indexing with lix
      fails when, for example, larry is 3d and the index is a tuple of length
      2.
      
    * doc/source/intro.rst: Update unit test count.      

    * deflarry.py(larry.__init__), doc/source/intro.rst, README: With this
      change, 0d larrys are no longer allowed. The reason for not allowing
      them is that not all larry methods support 0d larrys.

    * tests/all_nan_test.py: A new unit test to check that a 1d larry that
      contains all NaNs will return NaN output. There are 3 test failures:
      prod, cumprod, cumsum.
      
    * deflarry.py(fromcsv): Bug #571737: skiprows missing from the parameters
      section of the fromcsv doc string.
      
    * RELEASE: Update.  

2010-04-29 Josef

    * afunc.py(geometric_mean), afunc.py(geometric_mean), afunc.py(lastrank),
      afunc.py(lastrank_decay), afunc.py(push): Bug #571813: The following
      larry methods (and corresponding functions) crash on 1d input: push,
      lastrank, lastrank_decay, and (a function but not yet a larry method)
      geometric_mean.

2010-04-28 Keith

    * RELEASE: Begin work on la 0.3.

    * doc/source/archive.rst, io.py: Doc errors and edits.

2010-04-27 Keith

    * RELEASE: Set release date to today!

    * RELEASE, doc/source/intro.rst: Tweaks.

    * tests/func_test.py, doc/source/intro.rst: Add unit tests for the
      following functions: union, intersection, panel, stack.

    * __init__.py: import stack, panel, and cov to the top level.
    
    * func.py(stack): Add an example to the doc string.

    * tests/func_test.py: Forgot to include this new module in yesterday's
      commit. Also rewrote to use assert_larry_equal plus general clean up.

    * afunc.py(fillforward_partially), afunc.py(push), deflarry.py(push),
      tests/deflarry_test.py, tests/more_test.py, tests/test_3d.py: Rename
      the array function fillforward_partially to push to match the name of
      larry method.
      
    * tests/test_3d.py, afunc.py: Add 3d unit tests for nanstd and nanmean.

    * tests/test_3d.py: Minor code clean up.

    * tests/larry_axis_test.py: Remove a unit test that depended on scipy.
  
    * RELEASE, doc/source/intro.rst: Update release notes and unit test count. 

2010-04-26 Keith

    * tests/test_3d.py: Code clean up.

    * RELEASE: Update release notes.
    
    * deflarry.py(cov), func.py(cov), tests/deflarry_test.py,
      doc/source/functions.rst, doc/source/reference.rst: Move covariance from
      larry method to larry function.

    * deflarry.py(lastrank), deflarry.py(lastrank_decay),
      deflarry.py(cut_missing): Update doc strings for new nd ability.

    * deflarry.py, afunc.py, tests/deflarry_test.py: Replace assert statements
      with "if...raise".
      
    * doc/source/intro.rst: Update unit test count.  

2010-04-26 Josef

    * deflarry.py, afunc.py: Converted the following array functions (and
      larry methods) from 2d input only to nd input: push, movingrank, 
      movingsum_forward, quantile, last_rank, last_rank_decay, group_ranking,
      afunc.geometric_mean.

    * tests/test_3d.py: New module for unit tests of 3d ability of the array
      functions in afunc.py.
      
    * util/tests/testing_test.py: New module for unit tests of the
      assert_larry_equal function.
      
    * tests/more_test.py: Turn on 3d function check (was commented out since
      many functions were previously 2d only). Add nanmedian to the list of
      functions to test; remove covMissing from the list. Remove 0.0 from test
      array so that geometric_mean doesn't complain.

2010-04-25 Keith

    * doc/source/work.rst: Typo in doc.

2010-04-24 Keith

    * RELEASE: Update release notes with negative axis bug fix.

    * deflarry.py(pull), deflarry.py(demean), deflarry.py(demedian),
      deflarry.py(zscore), deflarry.py(cut_missing), afunc.py(ranking),  
      doc/source/intro.rst: Bug fixes for larry methods that did not handle
      negative axis input correctly.

    * tests/deflarry_test.py: Two unit tests for larry.pull.

    * util/scipy.py(nanstd): Ported bug fix from scipy.

    * tests/larry_axis_test.py: Removed negative axis test for the insertaxis
      method. It should behave differently for axis=-1 and axis=1 (on a 2d
      larry).

    * tests/larry_axis_test.py: Added a new module to unit test all larry
      methods that take axis as input. The unit tests make sure that axis=-1
      and axis=1 give the same results for a 2d larry. These unit tests found
      many bugs. I haven't fixed them yet.

2010-04-22 Keith

    * RELEASE: Update release notes.
    
    * setup.py: Bump version number from 0.1.0 to 0.2.0.

2010-04-21 Keith

    * util/scipy.py(nanstd), tests/deflarry_test.py, doc/source/intro.rst:
      Bug in scipy.stats.nanstd makes it crash on negative axis. Fixed bug in
      la's local copy of nanstd. Added unit tests.

2010-04-18 Keith

    * deflarry.py(lix): Typo in doc string.    

    * doc/source/work.rst, deflarry.py(fromtuples): Doc bugs and rewrite.

2010-04-16 Keith

    * deflarry.py(invert), deflarry.py(__invert__), tests/deflarry_test.py,
      RELEASE, doc/source/intro.rst, doc/source/reference.rst: Add invert
      method.

    * RELEASE: Minor typos.

2010-03-10 Keith

    * io.py(save), io.py(_list2array), io.py(_load_label), tests/io_test.py,
      RELEASE, doc/source/archive.rst, doc/source/intro.rst: Add ability to
      archive larrys that have dates (datetime.date) as labels.

2010-02-25 Keith

    * deflarry.py(lix), deflarry.py(Getitemlabel): Moved the Getitemlabel
      class code out of the lix method. Now the class is defined at import
      instead of each time lix is called. Much faster.

2010-02-12 Keith

    * deflarry.py(lix): Reverse update of code comment in previous commit.

    * deflarry.py(lix): Update code comment to match code.

2010-02-11 Keith
    
    * doc/source/work.rst: Added sortaxis, flipaxis, and insertaxis to sphinx
      docs.

    * deflarry.py(sortaxis), deflarry.py(lix), doc/source/intro.rst: Handle
      shapes that contain a zero such as (0,) and (2, 0, 3). Although sortaxis
      now handles shapes with zero, the call to lix that sortaxis makes will
      fail because lix does not handle shapes with zero (except for (0,)).
      Added a check for zero shapes in lix.
      
    * tests/empty_larry_test.py(test_empty): Added empty array unit tests for
      sortaxis and flip axis.      

    * util/testing.py(iscopy), util/testing.py(isview):
      Use np.may_share_memory to check for references between numpy arrays.

2010-02-10 Keith

    * deflarry.py(insertaxis), tests/deflarry_test.py, doc/source/intro.rst
      doc/source/reference.rst, RELEASE: New larry method: insertaxis.
  
    * util/testing.py(iscopy), util/testing.py(isview): Removed constraint
      that both input larrys must have the same number of dimensions.

    * deflarry.py(flipaxis), test/deflarry_test.py, source/reference.rst, 
      RELEASE, source/intro.rst: New larry method: flipaxis.

    * doc/source/intro.rst: Doc tweak.

    * deflarry.py(sortaxis), tests/deflarry_test.py, source/reference.rst, 
      RELEASE. doc/source/intro.rst: Added a new larry method: sortaxis.

    * doc/source/archive.rst, deflarry.py, io.py: Doc work.

2010-02-09 Keith

    * deflarry.py(tocsv), deflarry.py(fromcsv), tests/deflarry_nose_test.py,
      doc/source/intro.rst, doc/source/reference.rst, doc/source/work.rst,
      RELEASE: Added two new methods: tocsv and fromcsv.

    * doc/source/work.rst, doc/source/reference.rst, doc/source/archive.rst:
      Doc work for lix.
  
    * la/deflarry.py(lix), tests/lix_test.py, la/deflarry.py(slicemaker), 
      la/deflarry.py(labels2indices), doc/source/intro.rst: Added support for
      indexing by labels.

2010-02-08 Keith

    * deflarry.py(__getitem__): Forgot to remove one block of index by string
      code in the previous commit.

    * deflarry.py(__getitem__), tests/string_indexing_test.py,
      doc/source/intro.rst, util/misc.py(str2labelindex): Removed ability to
      index by labels using strings. Removed thefunction str2labelindex and
      the unit test module string_indexing_test.py.

2010-02-07 Keith

    * deflarry.py(sum), deflarry.py(std), deflarry.py(var), RELEASE,
      tests/empty_larry_test.py, doc/source/intro.rst: Bug #518442. sum, std,
      and var returned NaN for shapes that contain zero, e.g., (2, 0, 3).
      Added unit tests.

    * tests/deflarry_nose_test.py(test_conversion), doc/source/intro.rst:
      Unit tests for the conversion methods: totuples, tolist, todict,
      fromtuples, fromlist, fromdict.

2010-02-06 Keith

    * deflarry.py(__getitem__): Added support for indexing by labels!

    * tests/string_indexing_test.py: New module of unit tests for indexing
      by labels.

    * util/misc.py(isstring), util/misc.py(str2labelindex): Two new functions
      created to support indexing by label.

    * tests/empty_larry_test.py, doc/source/intro.rst: A new unit test module
      to test all larry methods for the proper handling of empty larrys.

    * deflarry.py(unflatten), RELEASE: Bug #518215. unflatten crashed on an
      empty larry.

    * deflarry.py(sum), deflarry.py(std), deflarry.py(var), RELEASE:
      Bug #518210. sum, std, var returned NaN for empty larrys; now return
      0.0.

    * deflarry.py(keep_label), RELEASE: Bug #518135. keep_label crashes when
      there is nothing to keep.

    * ChangeLog: Updated. Hmm, I can't push to the mirror with modified files.

    * deflarry.py(fromtuples), deflarry.py(fromlist), RELEASE: Bug #518114.
      fromlist([]) and fromtuples([]) fail.

    * util/misc.py(fromlists), RELEASE: Bug #518106. la.larry.fromdict({})
      fails.

    * RELEASE: Begin using as a place to plan changes for la 0.2 (avocado).

    * deflarry.py: Bug #518096. larry.fromdict fails due to missing import.

    * deflarry.py(__align): Bug #517912. Comparison operators (==. >, etc)
      crashed when comparing empty larrys.

2010-02-05 Keith

    * RELEASE: Update after adding swapaxes and panel.

    * func.py(panel), deflarry.py(swapaxes), doc/source/functions.rst, 
      doc/source/reference.rst, doc/source/work.rst: Added a new function
      called panel and a new method called swapaxes.

    * doc/source/conf.py: Chaged docs to la 0.2.

    * doc/launchpad.txt: Update.

    * util/testing.py(assert_larry_equal): Changed signature of function.
    
    * util/testing.py(assert_noreference), util/testing.py(assert_nocopy),
      util/testing.py(assert_iscopy), util/testing.py(assert_isview):
      Change the name of assert_noreference to assert_iscopy; changed the
      name of assert_nocopy to assert_isview.   

2010-02-04 Keith

    * util/testing.py(assert_larry_equal): Test for almost equal if either
      input is inexact instead of requiring both inputs to be inexact.

    * test/deflarry_test.py: Converted one unit test to use the new function,
      assert_larry_equal.

    * util/testing.py(assert_larry_equal): Tweaks.

    * util/testing.py(assert_larry_equal): Bug fix.

    * util/testing.py(assert_noreference), util/testing.py(assert_nocopy):
      Tweak.

    * util/testing.py(assert_noreference), util/testing.py(assert_nocopy):
      Refactored and specify where the reference or copy is found (label,
      axis, array).

    * util/testing.py(assert_larry_equal), util/testing.py(heading):
      New features, clean up, doc string. Moved heading function into
      assert_larry_equal.

    * util/testing.py(assert_larry_equal), util/testing.py(heading):
      New function to assert equality of two larrys.
      
    * RELEASE: Added assert_larry_equal.     

    * util/testing.py(assert_noreference), util/testing.py(assert_nocopy):
      New functions.
      
    * util/testing.py(assert_noreference), util/testing.py(assert_nocopy), 
      util/testing.py(noreference), util.testing.py(nocopy): Convert input
      check asserts to if statements.    

    * tests/test.py, util/testing.py, __init__.py, tests/afunc_arr_test.py,
      tests/deflarry_nose_test.py, tests/deflarry_test.py, tests/more_test.py:
      Renamed test.py to testing.py and moved it.

    * RELEASE: Added a section to keep track of the changes for la 0.2.

2010-02-03 Keith

    * RELEASE: Add release date for la 0.1: TODAY!

    * doc/make.bat: Added in case a windows user want to compile the docs.

    * MANIFEST.in, setup.py: Installation tweaks.

    * la/LICENSE, setup.py: Added a copy of the license inside the la
      directory so that the license will be in the installed package.

    * setup.py: Removed package_data.

    * tests/deflarry_test.py: Fixed typo in unit test.

    * setup.py, README, doc/source/intro.rst: Removed >= 1.4 Numpy requirement
      in setup.py.
  
    * deflarry.py(merge), tests/deflarry_test.py, doc/source/intro.rst:
      Bug #516609. Added ability to merge larrys with string and object dtype.

2010-02-02 Keith

    * MANIFEST.in: New file.

    * README, doc/source/intro.rst: Update docs for new installation method:
      setup.py.

    * __init__.py, setup.py: Bug fixes of install code.

    * setup.py, RELEASE, version.py: New files added in preparation for the
      first release, la 0.1.
  
    * __init__.py: Added version info.

2010-02-01 Keith

    * doc/source/work.rst: Doc work.

    * doc/source/work.rst: Doc work.

    * deflarry.py, func.py, __init__.py, doc/source/functions.rst,
      doc/source/reference.rst: Converted fromtuples, fromlist, and fromdict
      to larry methods. They were previously la functions.

    * deflarry.py(__setitem__), deflarry_test.py, doc/source/intro.rst:
      Fix for Bug #515611 and unit tests. You can now do lar1[idx] = lar2 if
      lar1[idx] and lar2 are already aligned.

    * afunc.py(group_mean), afunc.py(group_median), afunc.py(group_ranking):
      Removed conversion to object dtype. Updated code comments.

    * deflarry.py, func.py, doc/source/reference.rst, doc/source/work.rst:
      Doc work.

2010-01-31 Keith

    * doc/launchpad.txt, doc/source/work.rst, func.py: Doc work.

    * doc/image/icon.png, doc/image/icon.xcf, doc/image/icon14.png: Doc tweak.

    * doc/source/conf.py: Doc tweak.

    * func.py(fromdict): Removed requirement that input must be a dictionary.
      All it needs is are values and keys methods that output the values and
      keys in the same order.

    * doc/doc_howto, doc/source/conf.py, doc/source/index.rst, 
      doc/source/intro.rst: Doc work.

    * deflarry.py, func.py: Doc work.

    * deflarry.py(todict), func.py(fromdict), __init__.py, 
      doc/source/functions.rst, doc/source/reference.rst, doc/source/work.rst:
      Added a new method, todict,  and a new function, fromdict. 

    * deflarry.py(totuples), deflarry.py(tolist): Two new methods.
  
    * func.py(fromlist): Redefined from list format.
  
    * doc/source/reference.rst, doc/source/work.rst, doc/source/functions.rst:
      Doc work on tolist, fromlist, totuples. fromtuples.
      
2010-01-30 Keith

    * doc/source/functions.rst: New section of the manual.

    * doc/launchpad.txt, doc/source/index.rst, doc/source/reference.rst,
      flarry.py, func.py: Doc work.

2010-01-29 Keith

    * doc/source/work.rst: Doc work.

    * func.py(fromtuples), doc/source/work.rst: Doc work.

    * func.py(fromtuples), doc/source/work.rst, __init__.py: New function.

    * doc/source/index.rst: Doc tweak.

    * deflarry.py(unflatten), func.py(list2larry), func.py(fromlist), 
      util/misc.py(fromlists), doc/source/work.rst, __init__.py :
      Rename list2larry to fromlist. Refactor code for speed and for
      maintainability by pulling out common (with larry.unflatten)
      functionality and placing it in a function (fromlists). 

    * doc/source/index.rst: Add larry icon to manual.

2010-01-28 Keith

    * doc/image/, doc/image/icon.png, doc/image/icon14.png,
      doc/image/icon.xcf: created an icon for launchpad site.

    * func.py(list2larry), doc/source/work.rst: A new function that converts
      a list of tuples to a larry.
  
    * __init__.py: import union, intersection, and list2larry into top level
      namespace.

    * deflarry.py(unflatten), deflarry_test.py: Added a new larry method:
      unflatten. Plus unit tests.
    
    * util/misc.py(list2index): Added a new utility function that is currently
      used by the larry unflatten method.

    * doc/source/intro.rst, doc/source/reference.rst, doc/source/work.rst:
      Doc work.

	* doc/launchpad.txt: Add URLs for code, docs, and mail.

	* __init__.py: Add back (removed a few minutes ago) "del deflarry" to
	  __init__.

	* deflarry.py, tests/deflarry_nose_test.py, doc/source/intro.rst:
	  Bug #513545 fixed. Inplace operations used in the binary functions did
	  not promote dtype properly. Regression tests added.

	* __init__.py: Bug fix. importing la on windows(?) fails. Report and fix
	  by Josef.

	* doc/doc_howto: New document. Gives command to upload Sphinx doc to
	  soureforge web server.

2010-01-27 Keith

	* doc/source/intro.rst: Add mailing list.

	* svn_export.py: Deleted. No longer needed after the switch from svn to
	  bzr.

	* doc/source/intro.rst: Format URLs in table.

	* doc/launchpad.txt, doc/source/intro.rst: Doc work.
	
	* doc/source/conf.py: Changed copyright holder to Archipel.

	* LICENSE: Added a license file. larry is now open source!

	* doc/launchpad.txt: Added a launchpad summary based on
	  doc/source/into.py.
	  
	* examples: Removed examples directory. Examples are in the manual.  

2010-01-25 Keith

    * util/tests/misc_test.py(test_isa), doc/source/intro.rst: Not all tests
      were being run. Fixed. Also, if one tests fails, the remaining tests are
      not run. So switched to a nose test. Now each test is run separately.

    * doc/source/work.rst: Additions.
    
    * tests/deflarry_nose_test.py, tests/slicing_test.py: Added doc strings
      so that something nice is be printed when the unit tests are run in
      verbose mode.
      
    * tests/deflarry_test.py: Minor cleaning.  

    * util/misc.py(isint), util/misc.py(isfloat), util/misc.py(isscalar), 
      util/tests/misc_test.py, doc/source/intro.rst: Three new functions, plus
      unit tests, to determine if the input is an int, float, scalar.

    * deflarry.py(__getitem__), tests/deflarry_test.py: Bug fix: Allow
      indexing of larrys with floats by using the the new isscalar function.
      Add unit tests.

2010-01-23 Keith

    * deflarry.py(larry.__getitem__), deflarry_test.py, doc/source/intro.rst:
      Bug fix: add ability to index with floats. Added unit tests. 

    * deflarry.py(larry.prod), deflarry.py(larry.cumprod), deflarry_test.py,
      doc/source/reference.rst: Two new larry methods: prod and cumprod plus
      corresponding unit tests.
      
    * doc/source/intro.rst, doc/source/work.rst: Work on manual.

2010-01-23 Keith

    * doc/source/work.rst, doc/source/intro.rst, doc/source/reference.rst:
      Work on manual.  

    * doc/source/intro.rst, doc/source/archive.rst, doc/source/work.rst,
      doc/source/index.rst: Work on the manual.
    
    * deflarry.py(__init__): Exception message tweak.

    * doc/source/start.rst, doc/source/work.rst: Delete quick start, add
      working with larrys. Manual is too short for a quick start.

2010-01-22 Keith

    * deflarry.py, doc/source/reference.rst: Doc work.

    * deflarry.py(larry.demean), deflarry.py(larry.demedian),
      tests/deflarry_test.py(Test_calc): Bug fix: remove in place operations.
      The problem is if the input is int then the in place operation doesn't
      convert to float. Add unit tests.

    * tests/deflarry_test.py(Test_calc): Bug fix: remove in place operations
      in unit tests of zscore. What was I thinking? The problem is if the
      input is int then the in place operation doesn't convert to float.

    * util/scipy.py(nanmedian): Bug fix: return np.float64 instead of python
      float when output is a scalar.

    * deflarry.py, doc/source/reference.rst: More doc string work.

    * deflarry.py(log), deflarry.py(exp), deflarry.py(sqrt),
      deflarry.py(sign): Bug fix: int input should give float output (except
      for sign, I changed that to keep it the same as the others.)

    * util/scipy.py(nanmedian): Bug fix in scipy.stats.nanmedian.

    * la/__init__.py: import np.nan and np.inf to top level so that we can do
      la.nan and la.inf.
      
    * deflarry.py, doc/source/reference.rst: Added exampled to doc string in
      deflarry. Reworked reference.rst.

2010-01-21 Keith
    
    * deflarry.py(flatten), tests/deflarry_test.py, doc/source/reference.rst,
      doc/source/intro.rst: New method to flatten larrys.
    
    * util/misc.py(flattenlabel): New utility function to flatten labels.

    * doc/source/index.rst, doc/source/intro.rst: Split index into two pages:
      one for table of contents, one for intro.
     
    * doc/source/archive.rst: First draft done.

    * deflarry.py(larry.copyx), doc/source/reference.rst: New larry method.
    
2010-01-20 Keith

    * deflarry.py(maplabel), doc/source/reference.rst, doc/source/index.rst,
      tests/deflarry_test.py: New larry method to apply given function to
      each element of label along specified axis.

    * io.py(space), io.py(freespace), tests/io_test.py(Test_io): Make space
      and freespace properties instead of functions.

    * deflarry.py, doc/source/reference.rst: Rearrange the grouping of the
      larry methods.

    * io.py(delete), io.py(IO.__delitem__): New function (delete) to delete
      larrys from the archive. Use the new delete function in IO.__delitem__.  
    
    * doc/source/archive.rst: Work on the IO section of the manual.

2010-01-19 Keith

    * doc/source/start.rst, doc/source/reference.rst, doc/source/archive.rst,
      doc/source/index.rst: More work on the manual.

2010-01-18 Keith

    * doc/sphinxext, doc/sphinxext/docscrape.py,
      doc/sphinxext/plot_directive.py, doc/sphinxext/numpydoc.py,
      doc/sphinxext/MANIFEST.in, doc/sphinxext/phantom_import.py,
      doc/sphinxext/PKG-INFO, doc/sphinxext/LICENSE.txt,
      doc/sphinxext/compiler_unparse.py, doc/sphinxext/autosummary.py,
      doc/sphinxext/comment_eater.py, doc/sphinxext/autosummary_generate.py,
      doc/sphinxext/traitsdoc.py, doc/sphinxext/setup.py,
      doc/sphinxext/docscrape_sphinx.py, doc/sphinxext/setup.cfg,
      doc/sphinxext/README.txt, doc/sphinxext/__init__.py,
      doc/sphinxext/only_directives.py: Added numpydoc extensions.

    * doc/source/conf.py: Add numpydoc extension.

    * deflarry.py: Added missing doc strings.

    * doc/source/unary.rst, doc/source/reference.rst, doc/source/index.rst:
      Renamed from unary to reference. And expanded document to a full larry
      method reference.

2010-01-17 Keith

    * deflarry.py(shufflelabel): New method.

    * deflarry.py(shuffle): Added optional axis=None to shuffle along all
      axes.
      
    * tests/deflarry_test.py(Test_random): Created unit tests for shuffle
      and shufflelabel.
      
    * deflarry.py(A), tests/deflarry_test.py(Test_properties_01): New property
      and unit test.    

    * deflarry.py(nx), deflarry.py(size), deflarry.py(shape), deflarry.py(T),
      deflarry.py(ndim), deflarry.py(dtype): Added doc strings.

    * deflarry.py(larry.isnan), deflarry.py(larry.isfinite),
      tests/deflarry_test.py(Test_unary): Moved isnan and isfinite to be
      with the other unary methods. Added doc strings. Added unit tests.
      
    * deflarry.py(larry.isinf), tests/deflarry_test.py(Test_unary): New
      method and corresponding doc string.

2010-01-16 Keith

    * doc/source/start.rst, doc/source/unary.rst: New sections of the manual.
    
    * doc/source/conf.py: Changed Sphinx theme.
    
    * doc/source/index.rst: Edited.
    
    * deflarry.py(larry.__repr__): Made more compact by removing empty lines.

    * util/tests/scipy_test.py(TestRanking): Added unit tests for rankdata.

2010-01-15 Keith

    * doc/source, doc/source/_static, doc/source/archive.rst, doc/Makefile,
      doc/source/conf.py, doc/source/_templates, doc/source/index.rst:
      The start of the (Sphinx-based) larry manual.

    * util/tests/scipy_test.py: New module made by copying the nine
      scipy.stats nan function unit tests.

    * util/scipy.py: Doc string tweak.

    * io, io/io.py, io/tests, io/tests/io_test.py, io/__init__.py: Remove
      io and io/tests. Move contents, io.py and io_test.py, to la and tests,
      respectively.

    * util/scipy.py: New module that contains all the SciPy functions needed
      by la. Now la no longer depends on SciPy (well, except for gaussian
      normalization in the ranking function.)

    * deflarry.py, tests/more_test.py, afunc.py, README, util/scipy.py:
      Remove SciPy dependency.

2010-01-14 Keith

    * io/io.py(IO.__getitem__), io/io.py(IO.__delitem__): Made saves and
      deletes faster.

    * afunc.py: Typo in code comment.

    * deflarry.py(__getitem__), deflarry_test.py(Test_getset): Add ability
      to index with bool larrys as poart of a slice object: lar[bool_arry,:]
      and lar[:,bool_arry], for example. Add corresponding unit tests.

    * tests/slicing_test.py: Added comments.

    * deflarry.py(__getitem__), deflarry_test.py(Test_getset): Add ability
      to index into larrys with a list. Four corresponding unit tests added.

    * tests/deflarry_nose_test.py. tests/afunc_arr_test.py. tests/test.py,
      tests/deflarry_test.py, tests/slicing_test.py: Clean up.

    * util/tests, util/tests/misc_test.py: New unit test module for util.
      Currently contains one unit test for randstring.
    
    * util/__init__.py, la/Notes.txt: Add __init__, remove Notes.txt.
    
    * deflarry.py, deflarry_test.py: Short circuited the alignment function
      on the binary methods (__add__, __mul__ etc) when the larrys are
      already aligned. Big speed up for when larrys are already aligned.
      Added corresponding unit tests.
      
    * deflarry.py(__rdiv__): I could not come up with an example that uses
      rdiv when when other is a larry. So I removed the code and set a
      runtimeError.      

2010-01-11 Keith

    * io/io.py(_create_nested_groups), io/test/io_test.py(Test_io.test_io_3):
      Bug fix: check if group was a h5py.Group object would always return
      True. Added corresponding unit test.

    * io/io.py(repack): Bug fix: remove temp file when file input is a string.

    * util/misc.py(randstring), io/io.py(repack): New module for miscellaneous
      utilities. Added a random string function to append to temp files used
      during repack. 

    * util, io/prettytable.py, util/prettytable.py: New subpackage for utility
      functions. Move prettytable there from io.

    * io/io.py: Rewrite of io module. Can now save nested keys such as
      '/save/way/over/here/x'. Moved the heavy lifting out of methods and into
      functions for reuse and easier testing. Added a merge method to IO.
    
    * deflarry.py(sign): Typo in doc string.    

2010-01-10 Keith

    * deflarry.py(hist), deflarry.py(plot), deflarry.py(stat): Removed these
      methods.

    * deflarry.py(morph): Added ability to morph when dtype is np.string_.
    
    * tests/deflarry_test.py(Test_alignment): Unit tests for morph when input
      dtype is str and for object.
    
    * tests/deflarry_test.py(Test_merge): Formatting tweaks.

    * deflarry.py(merge): Speed up for when labels are the same along an axis.

2010-01-09 Keith

    * io/io.py(IO), io/io.py(lara), __init__.py: Complete rewrite of the io
      module to remove pickling of larry labels. Now labels are stored as
      Numpy arrays.
      
    * io/io.py(save), io/io.py(load), io/io.py(_load_label),
      io/io.py(_list2array), io/io.py(_is_archived_larry), io/io.py(repack):
      New functions.
      
    * deflarry.py(larry.__init__): Doc string typo.      

2010-01-07 Keith

    * deflarry.py(__align): Same speed up method as in morph but only gave a
      tiny speed up in __align.

    * deflarry.py(morph): 20% speed up!
    
    * io/io.py(lara.__setitem__): First attempt at setitem.

2010-01-06 Keith

    * io/io.py(lara): A new larry-like archive class.
      
    * io/io.py(IO.__init), io/io.py(IO.__init),
      io/tests/io_test.py(test_io_1): Return a lara instead of a larry.
      Updated and extended doc string now that IO uses the lara class.

    * deflarry.py(__getitem__): Small change to this function so that it can
      be reused in the lara class.

    * afunc.py(ranking): Bug fix: -Inf and Inf were not properly handled.

    * tests/afunc_arr_test.py(Test_ranking): Added 4 ranking unit test for
      Inf.

    * io/io.py(IO.space), io/io.py(IO.freespace): Flush pending writes to disk
      before measuring disk space size.

2010-01-04 Keith

    * io/tests, io/tests/io_test.py: Made a unit test module for io with a few
      unit tests in it.

    * io/io.py(space), io/io.py(freespace), io/io.py(repack),
      io/io.py(_repack_conditional), io/io.py(__init__): New methods.
      
    * io/io.py(__delitem__), io/io.py(clear): Repack archive when needed.  
      
    * io/io.py(values), io/io.py(items), io/io.py(iterkeys),
      io/io.py(itervalues), io/io.py(iteritems), io/io.py(clear): new methods.
      
    * io/io.py(__init__): Doc string work.   

2010-01-03 Keith

    * io/io.py(IO.__setitem__): Made more robust.

    * io/io.py(IO.__contains__): Removed method. Not needed.    

    * io/io.py(IO.__init__): Improved doc string.

    * io/io.py(IO): Added ability to overwrite when saving a larry if the key
      already exists. This makes the io more dictionary like. Added notes and
      examples to the doc string. Sort by key name in repr.

    * io/io.py, README, __init__.py: Remove npz archive format. Just
      concentrate on one format (hdf5) for now. Also made __repr__ work
      without needing to load the data.

    * io/hdf5.py, io/npz.py: Remove these modules that contained save and load
      functions for hdf5 and npz format. I now use a dictionary-like
      interface.

    * io/io.py(IO_hdf5.__deleteitem__): New method.
    
    * README: Tweak.    

2010-01-02 Keith

    * README: Improvements.

    * io/io.py, README, __init__.py: New module to save and load larrys in
      hdf5 or npz format using a dictionary-like interface.
      
    * io/prettytable.py: New module to make pretty print tables.         

    * io/hdf5.py, __init__.py: New module for saving and loading larrys in
      HDF5 format.

2010-01-01 Keith

    * io.py, io, io/npz.py, io/__init__.py, __init__.py: Rename io.py to
      npz.py and move it to a new subpackage named io.

    * tests/deflarry_test.py: Added unit tests for creating larrys from lists,
      tuples, matrices, and arrays.

    * deflarry.py(__init__): Added ability to make a larry with lists, tuples,
      and numpy matrices (anything that np.asarray can convert to an array).
    
    * README: Rewrote.

    * io.py(load_npz): Add ability to handle files that contain non larry data

    * io.py(save_npz), io.py(load_npz): Improve doc string.
    
    * README: Tweaks.

2009-12-31 Keith

    * io.py: New module to save and load larrys.
    
    * io.py(save_npz), io.py(load_npz): New function to save and load larrys
      in numpy's npz format.    

    * __init__.py: import save_npz and load_npz to top level.

    * deflarry.py(save): Remove method.

    * deflarry.py(shuffle), afunc.py(shuffle): New method and corresponding
      function. Unlike numpy's shuffle this shuffle takes an axis argument.

    * README: Tweak.

    * tests/deflarry_test.py: More minor cleaning.

    * deflarry.py, tests/deflarry_test.py: Clean up.

    * deflarry.py, la/tests/afunc_arr_test.py, la/tests/more_test.py,
      afunc.py: Renamed group_rank to group_ranking.

    * deflarry.py, la/tests/afunc_arr_test.py, la/tests/more_test.py,
      afunc.py: Renamed sector_rank, sector_mean, sector_median, unique_sector
      to group_rank, group_mean, group_median, unique_group to match larry
      method names. Less confusion. Added doc strings. Made unique_group
      faster. Added optional import norm and ties to group_rank.

    * deflarry.py(sign), tests/deflarry_nose_test.py,
      tests/deflarry_test.py: New methods and corresponding unit tests.

    * deflarry.py(__len__): Removed new method. It results in a lot of test
      failures of the binary functions. Odd.

    * deflarry.py(__len__): New method.

    * tests/deflarry_nose_test.py: Big clean up. Removed unused functions and
      fixed known test failure.

    * README: Add a README file.

2009-12-30 Keith

    * afunc.py(sector_dummy), tests/afunc_arr_test.py, tests/more_test.py:
      Remove function and unit tests.
    
    * afunc.py(ranking): Give up on lazy imports of scipy. From now on the la
      package has scipy as a dependency.
      
    * afunc.py(nanmean), afunc.py(_nanmedian), afunc.py(nanmedian): Remove
      these functions and import from scipy instead.
      
    * deflarry.py: Import nanmean, nanmedian from scipy instead of afunc.py.  
         
    * tests/deflarry_test.py: Add doc string.    

    * afunc.py(ranking_1N), afunc.py(ranking_norm): Removed these functions
      since they are special cases for the new ranking function.
      
    * tests/afunc_arr_test.py: Converted all ranking_norm and ranking_1N
      tests to ranking tests.         
      
    * afunc.py(ranking): Added a doc string.     

    * afunc.py(ranking): Bug fix: input with dtype int and bool now runs
      without crashing.
       
    * deflarry.py(ranking): Added doc string and removed requirement that
      imput must be 2d.   
       
    * deflarry.py: A bunch of formating/style changes.
     
    * deflarry.py(__init__): Speed up init by only formatting error messages
      string if there is an error.
       
    * deflarry.py(vacuum_old), deflarry.py(cut_missing_old): Removed methods.
    
    * tests/deflarry_test.py: Removed vacuum_old tests.
    
    * tests/more_test.py: Clean up. 

2009-12-23 Keith

    * afunc.py(ranking): Bug fix: '0,N-1' and 'gaussian' normalization used
      integer division. Corrected to use float division.

    * afunc.py(ranking_1N_old), afunc.py(ranking_norm_old),
      afunc.py(ranking_old): Removed the old version of the ranking functions.

2009-12-23 Josef

    * afunc.py: replace ranking, ranking_norm, and ranking_1N with new nd
      implementation, rename old functions, one test failure

2009-12-23 Keith

    * deflarry.py(T): Extend transpose from 2d only to arbitrary dimension.

    * tests/deflarry_test.py(Test_properties_01): Added unit tests for the
      transpose of 1d, 3d, and 4d larrys.

    * afunc.py: remove np.seterr

    * deflarry.py(__align): Bug fix: dtype of int and bool were converted to
      float. Now dtype are kept.

    * deflarry.py(__and__), deflarry.py(__or__), deflarry.py(__radd__),
      deflarry.py(__ror__): New functions.

2009-12-23 Josef

    * deflarry_nose_test.py: add test for 3d movingsum, pass without 
      code changes, tests require numpy 1.4 for nan equality testing

    * deflarry.py, afunc.py, deflarry_nose_test.py: enable nd groupmean and
      groupmedian, add 3d test for larry methods

2009-12-22 Josef

    * deflarry.py, deflarry_test.py: vacuum reverse definition of axis argument
      to make it consistent with old behavior

    * deflarry.py, deflarry_test.py: nd version of cut_missing, no new tests,
      keep currently cut_missing_old 

    * deflarry.py, deflarry_test.py: nd version of vacuum with tests,
      keep currently vacuum_old 

    * deflarry.py, deflarry_test.py: add new merge method with tests,
      formatting and docstring by Keith

    * more_test.py: remove uncommented matrix tests 

    * afunc.py: remove comments from refactoring,
      remove redundant .T in sector_dummy

    * decorator.py: delete, not used anymore

    * afunc.py: remove decorators and xxx_old functions, all tests pass

    * afunc.py and tests: disable @wraptoarray1 decorators and matrix tests
      delete afunc_test.py

    * deflarry.py: remove remaining matrix usage

    * tests/more_test.py: minor changes from previous 3d testing

    * slicing_test: delete wrongly committed file, add it in test directory
      reformat changelog

2009-12-16 Josef

    * fix typo in slicing_test, uncovered 2 failing cases in larry
    
    * add generator tests for slicing in 2d and 3d, (currently 40 tests)
    
    * convert ranking to using arrays, rename old version
      (tested against old for 1d,2d - tests not included), API for 1d ?
      
    * convert ranking_norm to using arrays, rename old version
      (tested against old for 1d,2d - tests not included)
      
    * convert lastrank_decay to using arrays, rename old version
      (tested against old for 1d,2d - tests not included), remove forgotten print
      
    * convert ranking_1N to using arrays, rename old version
      (tested against old for 1d,2d(axis=0,1) - tests not included
      
    * remove matrix conversion from larry group methods (covered by tests)
    
    * add new nose test file and notes.txt to repository
    
    * add axis argument to larry.any and larry.all (consistency with numpy and ma)
    
    * add axis back into lastrank (is a reduce operation but keeps dimension)

2009-11-19 Josef

    * convert movingrank and lastrank to use arrays
      API break: lastrank returns 1d not 2d column vector
      1 test, larry.lastrank_1, fails, maybe change back to 2d
      
    * fix larry.movingsum tests, all tests pass again
    
    * convert movingsum_forward to using arrays, add dropped rows/columns
      back into movingsum, correct shape in afun tests, deflarry_test for
      movingsum are wrong now
      
    * convert geometric mean to using arrays, maintain same dimension
    * convert sector functions to using arrays
    
    * add afunc sector functions to return type tests, decorate.
      convert sector_dummy to build an array
      
    * convert quantile to use arrays internally, switch decorator, 
      additional minor changes
      
    * convert covMissing to use arrays internally, switch decorator
    
    * decorate remaining afunc functions with wrong return type,
      add decorator wraptoarray1, now all return type tests pass,
      add scalar handling to decorators, add additional larry.cov test,
      rename M in covMissing (shadows matlib M), 
      remove some boilerplate in more_test, skip 3d tests for now

    * add more_test.py: check return type, and 3d input,
      (errors=10, failures=8) out of 48 tests

    * changing some methods of larry to not use matrix conversion breaks test.
      add decorator to quantile and covMissing, add one test for larry.cov,
      fix errors in covMissing, all current tests pass
      add missing tests for afunc.sector_dummy and afunc.unique_sector 

2009-11-18 Josef

    * apply @wraptomatrix1 to remaining afunc functions, now all tests pass for
      array and for matrices, rename afunc_arr_test.py so it is picked up by nose.
      some larry functions still convert to matrices

    * add decorator module (from pypi), add decorator to convert to matrix,
      use with afunc.ranking, afunc_arr_tes_.py:Test_ranking and deflarry_test pass

    * add afunc_arr_tes_.py: raw translation of afunc_test for arrays instead
      of matrices, 30 out of 54 tests with error or failures

    * la.__init__.py: del Tester after use

    * afunc_test.py: fix failing/incorrect tests for array version of movingsum,
      removed one test because q option is not available anymore

2009-10-21 Josef (alias Carrasco)

    * correct import in func 

    * add nosetesting via numpy, fix one import error in tests after relocation
    
    * change/deepen directory structure

2009-09-29 Keith

    * core/deflarry.py: Made it possible to subclass larry without having it
      revert back to a regular larry when certain methods are called. I did
      that by changing larry(x, label) to type(self)(x, label) in many places.

2009-09-24 Keith

    * afunc.py(nanmedian): There were two nanmedian functions: one that used
      numpy matrices and one taken from scipy that uses numpy arrays. I
      deleted the matrx version.

    * svn_export.py(svn_export): Fixed typo in path.

    * svn_export.py: Added a module that exports the la package from svn and
      tar and bz2 it.

    * __init__.py: Remove deflarry from namespace created when you import la.

    * initial svn import of la package.


