GithubHelp home page GithubHelp logo

Wheel binary format about pip-accel HOT 4 OPEN

paylogic avatar paylogic commented on July 26, 2024
Wheel binary format

from pip-accel.

Comments (4)

xolox avatar xolox commented on July 26, 2024

Hi Michele and thanks for the feedback! During the development of the first prototype of pip-accel we did play around with wheels for a day or two, because they seemed like the ideal solution. Unfortunately I think binary distributions are currently better suited because:

  1. The last time I checked wheels were only supported by a pip beta release;
  2. IIRC wheels as implemented by pip bundle all dependencies which does not match my use case (it's the wrong granularity level). I could process the wheels to split things up again, but before it comes to that I would simply go with binary distributions because they're supported everywhere.

If things mature a bit and there is a way around issue 2 I could see pip-accel using wheels in the future.

from pip-accel.

rubik avatar rubik commented on July 26, 2024

AFAIK wheels are a binary distribution.

  1. I think that the situation is the same (I don't know exactly what progress is being made on the pip front). Here however: http://www.pip-installer.org/en/wheel/usage.html it seems that wheel-related commands will be included in the next major pip version (1.4).
  2. Every wheel contains a single package and are more similar to the setuptools eggs than to pip bundles. Dependencies are not included and you have one wheel per package, which means dependencies will get each one a separated wheel. This makes things faster (e.g. when you don't want to download deps, &c.).

from pip-accel.

xolox avatar xolox commented on July 26, 2024

Of course, you're right, wheels are a binary distribution! With binary distribution I was specifically referring to the archive format created by python setup.py bdist_dumb but that was very implicit indeed. About every wheel containing a single package: That's good to hear, I guess I was confusing wheels and bundles.

It seems like in the future wheels can completely replace binary distribution archives created with bdist_dumb so I think I will prepare pip-accel to add support for wheels, make it optional, collect as much feedback as possible and then change the default binary distribution format to wheels, at which point I should be able to remove the nasty preprocessing of binary distribution archives created with bdist_dumb :-)

By the way, if features like this are accepted into mainline pip I wonder if there remains a place for pip-accel at all... Oh well, as long as we get reproducible environments that are fast to create I don't care (that much) which tool is used to do it.

from pip-accel.

kreativitea avatar kreativitea commented on July 26, 2024

pip now uses wheels by default, perhaps we don't need this anymore?

pypa/pip#2618

from pip-accel.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.