Skip to content
Find file
Fetching contributors…
Cannot retrieve contributors at this time
1426 lines (909 sloc) 50.7 KB
2010-06-05 Keith
* doc/source/archive.rst, func.py, tests/io_test.py, sandbox/bench.py:
Use new rand and randn function.
* func.py(rand), func.py(randn), doc/source/functions.rst, RELEASE,
__init__.py, doc/source/work.rst: Added functions rand and randn both of
which return larrys.
* LICENSE: Started a list of what code was taken from where.
2010-06-04 Keith
* setup.py: Make it easier to upload to pypi.
* doc/source/intro.rst: Doc tweak.
* la 0.3 released!
* 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.
Jump to Line
Something went wrong with that request. Please try again.