On Mon, Jul 16, 2018 at 10:22 AM, Pauli Virtanen <pav@iki.fi> wrote:
Hi,
ma, 2018-07-16 kello 06:49 -0700, Hameer Abbasi kirjoitti:
I’ll be honest. One thing that has prevented me from getting into the C/C++ meat of NumPy/SciPy is exactly what scikit-build is trying to solve. I’m all for extra dev dependencies if they make development easier.
Can you (and maybe Ralf) be more specific --- in what way there are problems?
The most painful problem for me is the long build time - that (plus inertia) is what kept me developing on Python 2.7 for ages just so I could use Bento, while as a user I had already moved to Python 3. Proper parallel builds and incremental rebuilds are very nice to have.
What advantages scikit-build (which glues CMake and setuptools together) brings?
If I understand correctly, scikit-build doesn't use anything from setuptools - it just copied the setup.py user interface. That's still a significant mistake imho, it should have a saner UI (declarative). But that's still minor compared to the advantages it has. Beyond better builds and IDE support, also support for cross-compiling could be valuable. Finally, on a bigger picture level - distutils is badly maintained and good patches can go unmerged, while numpy.distutils is a pain to maintain. An actively developed sane build tool will be valuable to both us and the wider ecosystem.
Typically, `python runtests.py` or `python setup.py build_ext -i` works out of the box.
Of course, distutils forces you to do CFLAGS/etc customization via environment variables, and BLAS/LAPACK selection via site.cfg which is not so convenient.
Yes these are issues as well. And of course we'd start with it as an optional second build system, and I volunteer to do most of the required maintenance. Ralf
Pauli
Best Regards, Hameer Abbasi Sent from Astro <https://www.helloastro.com> for iOS
On 16. Jul 2018 at 01:13, Ralf Gommers <ralf.gommers@gmail.com> wrote:
On Wed, Apr 5, 2017 at 3:18 PM, Ralf Gommers <ralf.gommers@gmail.com> wrote:
On Thu, Apr 6, 2017 at 6:27 AM, Stefan van der Walt <stefanv@berkel ey.edu> wrote:
On Wed, Apr 5, 2017, at 04:05, Evgeni Burovski wrote:
I am using it all the time, but I suspect I'm the only one. Bento is
way
I seem to remember Stefan van der Walt saying the same thing :- ).
So, I guess there are two of us ;)
Ralf wrote:
But it is hard to install because it depends on a specific version of
Waf (which is not on PyPI) and has some unresolved issues on Python 3.x.
How hard would it be to vendor Waf into a pip package? If this worked out the box, it would be great to development (repeated builds execute much faster).
You mean vendor Waf in Bento and make a Bento pip-installable PyPI package right ? David and I discussed that already 2 years ago, that'd be the way to go. Shouldn't be too hard, Waf is designed to be vendored.
What's a little more work is fixing some obvious issues: it doesn't work on Python 3.x right now, there was a recurring issue with -fPIC going missing, finish the open PR on producing wheels.
Okay, these fixes are probably not going to materialize. And I've finally ditched Python 2.7 for good a few months ago, and have dealt with my distutils aversion by getting better hardware. I haven't maintained the Bento build over the last few months, so it's not quite working anymore. Therefore I now propose to remove Bento support for v1.2.0
Related: scikit-build seems to have quite a bit of momentum. I've never used CMake before, and while I know opinions on CMake aren't 100% positive, scikit-build looks like a significant improvement over distutils. I think we should try to integrate it at some point in the coming year.
Thoughts?
Ralf
_______________________________________________ SciPy-Dev mailing list SciPy-Dev@python.org https://mail.python.org/mailman/listinfo/scipy-dev _______________________________________________ SciPy-Dev mailing list SciPy-Dev@python.org https://mail.python.org/mailman/listinfo/scipy-dev
_______________________________________________ SciPy-Dev mailing list SciPy-Dev@python.org https://mail.python.org/mailman/listinfo/scipy-dev