turbodbc icon indicating copy to clipboard operation
turbodbc copied to clipboard

Distribution of more flavours of wheels

Open FlorianWilhelm opened this issue 8 years ago • 13 comments

It would be really nice to have also wheels for Linux (manylinux1_x86_64) and (cp34m) for Turbodbc on PyPI. Many Cloudera and in general Linux distributions only provide Python 3.4. Thanks a bunch for your great work!

FlorianWilhelm avatar May 18 '17 12:05 FlorianWilhelm

Hi Florian! You are absolutely right, those wheels would make installing turbodbc that much easier.

MathMagique avatar May 18 '17 12:05 MathMagique

@MathMagique We would then build wheels that have unixodbc bundled? Then I could build a quick Dockerfile that will emit these wheels and also make macOS wheels via a separate script.

@FlorianWilhelm For the time being, I've updated the conda packages to the latest version: https://github.com/conda-forge/turbodbc-feedstock / https://anaconda.org/conda-forge/turbodbc

xhochy avatar May 30 '17 15:05 xhochy

@xhochy Yes, I think that would be the most reliable thing to do. Many Linux variants use unixodbc 2.3.x in the meantime (Ubuntu 16+, Debian 8+), so I would suggest to bundle the latest officially released version (2.3.4) with the wheels.

Probably it makes sense to add some build information to turbodbc so users can query the unixodbc version used during the build.

MathMagique avatar May 31 '17 05:05 MathMagique

+1 on this. @MathMagique , out of curiosity, did the conversation continue on elsewhere, was looking for more info on where this issue ended up/

A couple of us are looking to use turbodbc, albeit linux wheel files would make our lives easier.

nrhy avatar Apr 15 '18 21:04 nrhy

Hi nrhy! Sadly, the conversation did not continue with much momentum. In the meantime, you can use the conda package manager to install the precompiled turbodbc conda packages.

MathMagique avatar Apr 16 '18 07:04 MathMagique

Unfortunately, conda is not supported in my workspace :(

nrhy avatar Apr 16 '18 14:04 nrhy

That's unfortunate. In this case, I guess that until official manylinux wheels can be provided, you would need to create wheels for your specific operating system (pip wheel should help). Just make sure you build the wheel in an environment with NumPy/Arrow installed so these add-ons are built as well.

You can then distribute the wheel among your colleagues, e.g., via devpi or file transfer. If they share the same OS, you should be safe, although not very convenient.

MathMagique avatar Apr 16 '18 15:04 MathMagique

@MathMagique Yeah, it's what I've been doing. It'll have to do for now.

Thank you!

nrhy avatar Apr 16 '18 16:04 nrhy

+1 on this. Having official Windows + Linux wheels available on pypi.org for at least Python 3.5+ would make installing turbodbc much easier. I remember when pyarrow starting putting out wheels on pypi in addition to their conda-forge builds.

mpeleshenko avatar Mar 06 '19 22:03 mpeleshenko

@mpeleshenko Can you help with implementing this? For the Linux wheels, a base would be to construct a docker image that contains all dependencies compiled for the manylinux1 image as in seen in pyarrow: https://github.com/apache/arrow/tree/master/python/manylinux1

xhochy avatar Mar 08 '19 09:03 xhochy

@xhochy Sure. I’ll give it a shot. By the way, I saw you had previously opened https://github.com/blue-yonder/turbodbc/pull/108. Is that one no longer viable?

mpeleshenko avatar Mar 08 '19 12:03 mpeleshenko

@mpeleshenko That was a first shot, feel free to take this as a basline.

xhochy avatar Mar 15 '19 12:03 xhochy

Azure Functions (Consumption Plan, Linux) also cannot install turbodbc through requirements.txt, probably missing the non-pythonic dependencies. I'm all new to this, but I came across conda-press and conda-smithy, maybe that could help with building and distributing "fat" wheels?

yputter avatar Aug 26 '20 18:08 yputter