My Summer has been over for a while, but GSoC is officially ending this week. And what do I have to show?
- SciPy's sparse matrices now support boolean data.
- Sparse matrices now support boolean operations (!=, <=, etc.).
- NumPy universal functions (ufuncs) can now be overridden for compatibility.
- Sparse matrices uses this ufunc override functionality to do sensible things when acted on by ufuncs.
- Support fancy indexing.
- Axis arguments for
- various other things: speed ups, small features, test coverage, bugs fixes, code clean ups, and a few backports.
But I think that I have benefited personally from this experience much more than SciPy has. I learned so much this summer, a short list of things I know vastly more about than I did before this summer:
- PYTHON. Jeez looking at code I wrote before this summer is painful.
- The Python and NumPy C API, before this summer I was a total C noob. Now I can scratch together a python API in C.
- Git, before this summer I could commit thing to my own repos and that was pretty much it. Git hooks are awesome.
- In general, development workflow.
I grown attached to SciPy and am excited I can make meaningful contributions to that are actually helping people. But contributing more will have to wait untill after the GRE, grad school applications, and my senior thesis. There are a few things I would like to add down the road to incorporate into SciPy 1.0. e.g. 64bit indices, change spares matrices to emulate
numpy.array rather than
numpy.matrix. I would also like to see if I can apply ufunc overrides in a few other places that mix
scipy.sparse like scikit-learn.