ionelmc / python-lazy-object-proxy

A fast and thorough lazy object proxy.
BSD 2-Clause "Simplified" License
247 stars 36 forks source link

Wheel support for linux aarch64 #43

Closed odidev closed 4 years ago

odidev commented 4 years ago

Summary Installing lazy-object-proxy on aarch64 via pip using command "pip3 install lazy-object-proxy" tries to build wheel from source code

Problem description lazy-object-proxy don't have wheel for aarch64 on PyPI repository. So, while installing lazy-object-proxy via pip on aarch64, pip builds wheel for same resulting in it takes more time to install lazy-object-proxy. Making wheel available for aarch64 will benefit aarch64 users by minimizing lazy-object-proxy installation time.

Expected Output Pip should be able to download lazy-object-proxy wheel from PyPI repository rather than building it from source code.

@lazy-object-proxy-team, please let me know if I can help you building wheel/uploading to PyPI repository. I am curious to make lazy-object-proxy wheel available for aarch64. It will be a great opportunity for me to work with you.

odidev commented 4 years ago

Gentle Reminder!!!

ionelmc commented 4 years ago

I guess it's a matter of adding

arch:
  - amd64
  - arm64

in the travis config?

You want to try this change? Edit https://github.com/ionelmc/python-lazy-object-proxy/blob/master/ci/templates/.travis.yml and then run ./ci/bootstrap.py

odidev commented 4 years ago

@ionelmc ,

Thanks for the reply.

I have added arm64 jobs in ci/templates/.travis.yml and generated .travis.yml.

Changes : https://github.com/odidev/python-lazy-object-proxy/commit/e39df36b4f612dd057dbe1269f119767d2809b4b

I have built wheel for aarch64 platform directly with tox command as ionelmc/manylinux docker image is for x86_64 platform.

Wheel is being successfully built for all versions in arm64 and coverage jobs are failing in both architecture due to below error:

coveralls.exception.CoverallsException: Could not submit coverage: 422 Client Error: Unprocessable Entity for url: https://coveralls.io/api/v1/jobs

I suppose this is due to permission issue to upload to coveralls.

Please check below report for more details on logs: https://travis-ci.org/github/odidev/python-lazy-object-proxy/builds/708740511

Can I raise PR with these changes or any further changes required?

ionelmc commented 4 years ago

Yes, please make the PR.

ionelmc commented 4 years ago

Can you take a look at the produced wheels here https://test.pypi.org/project/lazy-object-proxy/1.5.1/#files ? I changed the build to use pypa's manylinux2014 docker image instead of getting whatever was built on travis' flavor of ubuntu.

odidev commented 4 years ago

I have tested them in my local machine and wheels are working fine.

ionelmc commented 4 years ago

Just published https://pypi.org/project/lazy-object-proxy/1.5.1/

odidev commented 4 years ago

Thanks.