ENH add cython tutorial
State: closed

WIP #3923

Please checkout this draft for a pandas cython tutorial, any feedback or ideas appreciated.

_Thanks to @cpcloud for patiently working out/explaining how to force ipython sphinx directive to play nicely with %%cython (it's incredibly sensitive!) and fixing the spacing bug. This seems to build now._ :)


Labels:

Comments:
I think you need to add this file to index.rst to get it 2 show up

I'm looking forward to reading it. Do you think you could write up a guide
to caching builds next? (I'm not clear whether the issue or PR you linked
is up to date.) I tried to do it and I don't think I did it right :P
On Jun 19, 2013 7:28 PM, "Andy Hayden" notifications@github.com wrote:

> WIP #3923 https://github.com/pydata/pandas/issues/3923
> 
> Please checkout this draft for a pandas cython tutorial, any feedback or
> ideas appreciated.
> 
> *Thanks to @cpcloud https://github.com/cpcloud for the working out how
> to force ipython sphinx directive to play nicely with %%cython (it's
> 
> ## incredibly sensitive!) and fixing the spacing bug. This seems to build.*
> 
> You can merge this Pull Request by running
> 
>   git pull https://github.com/hayd/pandas cython_doc
> 
> Or view, comment on, or merge it at:
> 
>   https://github.com/pydata/pandas/pull/3965
> Commit Summary
> - ENH add cython tutorial
> 
> File Changes
> - _A_ doc/source/cython.rsthttps://github.com/pydata/pandas/pull/3965/files#diff-0(219)
> - _M_ doc/sphinxext/ipython_directive.pyhttps://github.com/pydata/pandas/pull/3965/files#diff-1(7)
> 
> Patch Links:
> - https://github.com/pydata/pandas/pull/3965.patch
> - https://github.com/pydata/pandas/pull/3965.diff

@jtratner this pr is the upto date one, it should build, but @jreback is right i hadn't added it to the index (but the file was created here: doc/build/html/cython.html ). I've added it in now.

@y-p probably knows the most about caching builds since he's the one who added that functionality iirc. i'll try to help in the meantime...when u cache a build setup.py gets rewritten. i always do a `git checkout setup.py` afterward to restore to the original state. the thing u should notice is that the second time after running tox u should get a nice speedup.

#3156 describes the use of the build cache (I cleaned it up slightly last night).
The shell alias provided there is what I use myself, it also restores 
the files it modifies.
If there's a problem with the build cache, open an issue and i'll take a look.

mergable?

@hayd btw pasting cell magics works in ipython master may want to note this and if you're crazy gung ho u can do a bisect and find out which change introduced this feature and point users the version that allows them to paste, but that's probably a bit overkill

@jreback let me just make the change to Enhancing Performance (when I get home in an hour or so). It's not weird to have cython as the only section...?

@cpcloud ah, that's strange, I thought I'd convinced myself pasting did work in my version, will check it out the ipython issues and see if I can locate change. Or maybe I'll say something vague, definitely worth mentioning.

Actually... there is a lot of TODO's in there, was hoping for some feedback on those bits :)

@jreback think it could be good to merge (with a once over)

I've added sections and (recklessly) removed all the todos....

@hayd I think ok to merge....

I like to look at them on web for real...then fix things I find!

let's do it then