On Fri, Sep 30, 2016 at 10:36 AM, Charles R Harris <charlesr.harris@gmail.com> wrote:

On Fri, Sep 30, 2016 at 10:10 AM, Charles R Harris <charlesr.harris@gmail.com> wrote:

On Fri, Sep 30, 2016 at 9:48 AM, Evgeni Burovski <evgeny.burovskiy@gmail.com> wrote:
On Fri, Sep 30, 2016 at 6:29 PM, Charles R Harris
<charlesr.harris@gmail.com> wrote:
> On Fri, Sep 30, 2016 at 9:21 AM, Benjamin Root <ben.v.root@gmail.com> wrote:
>> This is the first I am hearing of tempita (looks to be a templating
>> language). How is it a dependency of numpy? Do I now need tempita in order
>> to use numpy, or is it a build-time-only dependency?
> Build time only. The virtue of tempita is that it can be used to generate
> cython sources. We could adapt one of our current templating scripts to do
> that also, but that would seem to be more work. Note that tempita is
> currently included in cython, but the cython folks consider that an
> implemention detail that should not be depended upon.
> <snip>
> Chuck
> _______________________________________________
> NumPy-Discussion mailing list
> NumPy-Discussion@scipy.org
> https://mail.scipy.org/mailman/listinfo/numpy-discussion

Ideally, it's packaged in such a way that it's usable for scipy too --
at the moment it's used in scipy.sparse via Cython.Tempita + a
fallback to system installed tempita if Cython.Tempita is not
available (however I'm not sure that fallback is ever exercised).
Since scipy needs to support numpy down to 1.8.2, a vendorized copy
will not be usable for scipy for quite a while.

So, it'd be great to handle it like numpydoc: to have npy_tempita as a
small self-contained package with the repo under the numpy
organization and include it via a git submodule. Chuck, do you think
tempita would need much in terms of maintenance?

To put some money where my mouth is, I can offer to do some legwork
for packaging it up.

It might be better to keep tempita and cythonize together so that the search path works out right. It is also possible that other scripts might be wanted as cythonize is currently restricted to cython files (*.pyx.in, *.pxi.in). There are two other templating scripts in numpy/distutils, and I think f2py has a dependency on one of those.

If there is a set of tools that would be common to both scipy and numpy, having them included as a submodule would be a good idea.

Hmm, I suppose it just depends on where submodule is, so a npy_tempita alone would work fine.  There isn't much maintenance needed if you resist the urge to refactor the code. I removed a six dependency, but that is now upstream as well.

There don't seem to be any objections, so I will put the current vendorization in. Evgeni, if you think it a good idea to make a repo for this and use submodules, go ahead with that. I have left out the testing infrastructure at https://github.com/gjhiggins/tempita which runs a sparse set of doctests.