ciena-blueplanet / git-fat

Manage large binary files with git
BSD 2-Clause "Simplified" License
97 stars 20 forks source link

Upload Python Wheel to PyPI to support Windows and update README #39

Open cztomczak opened 9 years ago

cztomczak commented 9 years ago

I see that there was a new release 0.4.0 on PyPI, but there is still no Python Wheel package available. This means you can't install git-fat on Windows. It will install using the .tar.gz, but it won't work. A python wheel package is required that contains windows binaries. It can be generated by running the win32/setup_wheel.bat script.

Regarding README, I think the whole "Installation on Windows" section should be removed. It's confusing and not really needed. Maybe only just add the note that the Python/Scripts directory must be in PATH, in some other place in README.

Also it should be noted in README that currently you can't install it Windows using the pip command. It can be installed from sources by running the win32/setup_wheel.bat script.

@abraithwaite Let me know if you would like me to generate the Wheel package and send it to you. If you plan on doing it later on your own, then maybe just update README in the meantime to avoid confusion.

justinclift commented 9 years ago

Yeah, making the Wheel stuff available sounds like a good idea to help people on Windows move forward. Update the README to reflect any Windows specific usage/requirements should be done at the same time too (just saying).

abraithwaite commented 9 years ago

Yes, it slipped my mind that there might be an additional installation step for windows users.

However, looking deeper it appears that it should be possible to combine the windows/unix packages into one wheel package. Unless you think that can't be done, I'm going to give it a shot. I'll update the readme as well. (I have never used wheel before but the site http://pythonwheels.com/ makes it sound easy if there aren't any c extensions).

cztomczak commented 9 years ago

@abraithwaite The Wheel package is a way to distribute package on PyPI that contains platform specific binaries. I don't think you can create a single wheel package for all platforms in our case. On Windows you need to ship Windows specific binaries, so a separate package tagged for Windows platform is the way to go. The generated wheel file is named like "git_fat-0.3.4-cp27-none-win32.whl". It contains Python tag (cp27) and platform tag (win32). I think it's okay to provide .tar.gz source package for Linux/Mac and .whl for Win. I've tested it and pip will prefer the .whl package when installing, given that the latest source package is the same version as the .whl package. If you upload a new version with only .tar.gz package, then pip will install that package on Windows and it won't work. So it's important to always upload the .whl package along with .tar.gz when doing a release.

abraithwaite commented 9 years ago

I think you're right. Looking at the win32 directory more closely, it seems like it might be difficult to be just a source distribution.

If you send me the 0.4.0 .whl package, I can manually add it this time around and next time we can figure out something more automated and less fragmented.

cztomczak commented 9 years ago

I've uploaded .whl packages to Google Drive - download from here.

abraithwaite commented 9 years ago

Uploaded

cztomczak commented 9 years ago

@abraithwaite README still needs updating

abraithwaite commented 9 years ago

Yes, thank you.

abraithwaite commented 9 years ago

Hmm, so looking at doing another release, I was thinking about doing this:

next time we can figure out something more automated and less fragmented.

But then I ran into this (according to pythonwheels.org):

You will need to have access to the platform you are building for.

If I release a new version, would you mind building a wheel package for windows?

cztomczak commented 9 years ago

@abraithwaite I can provide wheel packages for Windows, no problem

stemann commented 9 years ago

So... what is needed to get git-fat running on Windows?

abraithwaite commented 9 years ago

@stemann I think it's installable as a .whl for windows now. I'm still learning about how those work, but I don't have a windows machine to try it out. Sorry!

abraithwaite commented 9 years ago

@CzarekTomczak I just did another release, so if you would be so kind as to build another windows package, I think many would appreciate it. :shipit:

As an aside, know of any free for OSS windows build servers?

stemann commented 9 years ago

@abraithwaite Thanks, it worked out.

You could run the Windows build on an on-demand Windows Vagrant box: https://atlas.hashicorp.com/boxes/search?utf8=✓&sort=&provider=&q=windows

cztomczak commented 9 years ago

@abraithwaite Uploaded, see here. Tests run fine.