Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support and distribution for Python Wheels #563

Closed
pmisik opened this issue Sep 10, 2015 · 12 comments
Closed

Add support and distribution for Python Wheels #563

pmisik opened this issue Sep 10, 2015 · 12 comments

Comments

@pmisik
Copy link

pmisik commented Sep 10, 2015

Hi,

We started using pygit2 because we it gives us much better performance comparing to executing git commands with parsing its outputs from pipes on Windows. Unfortunately our build environment (several build machines) does not use vs2008. So it is little trickier to distribute the current version of pygit2 on all machines.

I would really appreciate if pygit2 will start distributing pygit2 also as wheel package. See http:https://pythonwheels.com/

I think much more people would appreciate. It would simplify usage and distribution.
I’ve found http:https://www.lfd.uci.edu/~gohlke/pythonlibs/#pygit2 did it for some versions.

Have you considered to add support for Python Wheels a in the near future?

Thanks

Palo

@jdavid
Copy link
Member

jdavid commented Sep 11, 2015

Hi Palo,

I will gladly review a Pull Request adding support for Python Wheels, but there is not yet such PR.

(Personally I have never used Python wheels.)

@chason
Copy link
Contributor

chason commented Dec 16, 2015

Making Wheels is not a code change, but an operational change. Python Wheels as distributed by PyPI would need to be generated on the target platforms. Currently only Mac OS X and Windows are supported by PyPI. I'm not sure how the build process is managed right now.

This would be useful for people installing libgit2 on Windows in particular, as compiling the C parts of the code would no longer be necessary.

@beniwohli
Copy link
Contributor

In a recent development, support for binary wheels for Linux has been added do pip/pypi, see https://github.com/pypa/manylinux

I'll play around with this a bit to see if we could get a binary wheel for pygit2 going.

@affixalex
Copy link

Big ol' +1 for this, it'd be a huge feather in the proverbial cap!

@beniwohli
Copy link
Contributor

FYI, my current state is here: beniwohli/mygit2@ed4aa030b

It builds the manylinux1 binary wheels correctly as far as I can tell, but there is still some cleaning up to do

@techtonik
Copy link
Contributor

If AppVeyor is enabled #652 then fresh wheels could be found in its artifacts tab.

@techtonik
Copy link
Contributor

Fixed by #662.

@jdavid
Copy link
Member

jdavid commented Apr 9, 2017

It remains to automate the process of uploading the wheels from AppVeyor to Pypi on release.
These links have been provided by @techtonik in issue #662

jdavid added a commit that referenced this issue May 13, 2018
@jdavid
Copy link
Member

jdavid commented Jun 2, 2018

Finally did set up to automatically upload the wheels from Appveyor. Working fine!

Closing this.

@jdavid jdavid closed this as completed Jun 2, 2018
netbsd-srcmastr pushed a commit to NetBSD/pkgsrc that referenced this issue Jun 5, 2018
0.27.1 (2018-06-02)
-------------------------

Breaking changes:

- Now ``discover_repository`` returns ``None`` if repository not found, instead
  of raising ``KeyError``
  `#531 <https://github.com/libgit2/pygit2/issues/531>`_

Other changes:

- New ``DiffLine.raw_content``
  `#610 <https://github.com/libgit2/pygit2/issues/610>`_

- Fix tests failing in some cases
  `#795 <https://github.com/libgit2/pygit2/issues/795>`_

- Automatize wheels upload to pypi
  `#563 <https://github.com/libgit2/pygit2/issues/563>`_
netbsd-srcmastr pushed a commit to NetBSD/pkgsrc that referenced this issue Dec 1, 2018
0.27.2 (2018-09-16)
-------------------------

- Add support for Python 3.7
  `#809 <https://github.com/libgit2/pygit2/issues/809>`_

- New ``Object.short_id``
  `#799 <https://github.com/libgit2/pygit2/issues/799>`_
  `#806 <https://github.com/libgit2/pygit2/pull/806>`_
  `#807 <https://github.com/libgit2/pygit2/pull/807>`_

- New ``Repository.descendant_of`` and ``Repository.branches.with_commit``
  `#815 <https://github.com/libgit2/pygit2/issues/815>`_
  `#816 <https://github.com/libgit2/pygit2/pull/816>`_

- Fix repository initialization in ``clone_repository(...)``
  `#818 <https://github.com/libgit2/pygit2/issues/818>`_

- Fix several warnings and errors, commits
  `cd896ddc <https://github.com/libgit2/pygit2/commit/cd896ddc>`_
  and
  `dfa536a3 <https://github.com/libgit2/pygit2/commit/dfa536a3>`_

- Documentation fixes and improvements
  `#805 <https://github.com/libgit2/pygit2/pull/805>`_
  `#808 <https://github.com/libgit2/pygit2/pull/808>`_


0.27.1 (2018-06-02)
-------------------------

Breaking changes:

- Now ``discover_repository`` returns ``None`` if repository not found, instead
  of raising ``KeyError``
  `#531 <https://github.com/libgit2/pygit2/issues/531>`_

Other changes:

- New ``DiffLine.raw_content``
  `#610 <https://github.com/libgit2/pygit2/issues/610>`_

- Fix tests failing in some cases
  `#795 <https://github.com/libgit2/pygit2/issues/795>`_

- Automatize wheels upload to pypi
  `#563 <https://github.com/libgit2/pygit2/issues/563>`_
@webknjaz
Copy link
Contributor

FTR it looks like AppVeyor builds windows wheels without SSH support:

-- Disabled features:
 * debugpool, debug pool allocator
 * tracing, tracing support
 * SSH, SSH transport support
 * SPNEGO, SPNEGO authentication support
 * iconv, iconv encoding conversion support

@cjolowicz
Copy link
Contributor

cjolowicz commented May 24, 2020

macOS wheels are also built without SSH support:

-- Disabled features:
 * debugpool, debug pool allocator
 * SSH, SSH transport support
 * SPNEGO, SPNEGO authentication support

https://github.com/libgit2/pygit2/runs/638662265?check_suite_focus=true#step:7:111

@webknjaz
Copy link
Contributor

@cjolowicz I believe that the PR submitter who added that GHA workflow just went for a simple initial solution and it should be easy enough to iterate on this. You may try sending a PR that enables this flag and adds something like brew install libssh2 to that workflow.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

8 participants