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

Request access for Cython #80

Closed
lysnikolaou opened this issue Jun 3, 2024 · 14 comments
Closed

Request access for Cython #80

lysnikolaou opened this issue Jun 3, 2024 · 14 comments
Assignees

Comments

@lysnikolaou
Copy link

Hi all, now that there's ongoing work on making Cython work with the free-threaded build of CPython, it'd be nice for the other projects that are trying to do the same (NumPy, SciPy, scikit-learn, etc.) to be able to install Cython nightly.

The extra load should be minimal, since we only plan to upload the non-compiled wheel, which means we'll only upload one wheel per version, so no platform-specific wheels.

Cython issue: cython/cython#6223

@tupui
Copy link
Member

tupui commented Jun 3, 2024

Hi @lysnikolaou, when you say non compiled wheel, does it mean someone could just install main with pip? Or is there something specific to do?

Otherwise, in general I am +1 for Cython.

If your request goes through, you will need to provide us with anaconda handles of the maintainers you want to have in the team over there.

@matthewfeickert
Copy link
Member

matthewfeickert commented Jun 3, 2024

@lysnikolaou I think this sounds good, so assuming no one has objections, please complete the missing items from the checklist to get started.

image

If you'd also like to use the scientific/upload-nightly-action GitHub Action please check out the action repo's README. If you need to collect wheels from different CI jobs, consider creating a new GitHub Actions workflow with logic similar to matplotlib's or Awkward's.

If you have any questions please just ask here!

@lysnikolaou
Copy link
Author

lysnikolaou commented Jun 3, 2024

when you say non compiled wheel, does it mean someone could just install main with pip? Or is there something specific to do?

I'm not sure if I understand the question, but my understanding is this (correct me if I'm wrong):

Cython basically ships two different types of wheels. Firstly, note that Cython, the compiler, is basically a pure-Python package. One set of wheels, where the Python modules of Cython themselves get compiled with Cython and therefore the wheels have to be platform and version-specific. Additionally, there's a version where the Python sources are shipped themselves without any sort of compilation, therefore that is a py3-none-any wheel. The only difference between the two is basically performance, like @da-woods described on the Cython issue.

I think this sounds good, so assuming no one has objections, please complete the missing items from the checklist to get started.

Since I'm not a maintainer of Cython, it'd be best if @scoder or @da-woods did this. I'm just helping set this up and I'll open a Cython PR with the needed CI shortly.

@tupui
Copy link
Member

tupui commented Jun 3, 2024

To clarify, the original intent of this anaconda channel is to provide a place where wheels of difficult projects to build (in our ecosystem) can be hosted. We are in a better situation as our quota was increased, but it still good if we are conscious about that.

TL;DR if someone can just do pip install git+https://github.com/... then to me there is little advantage to use this conda channel.

That being said, considering the importance of Cython in our ecosystem, I would personally don't mind 😃

@da-woods
Copy link

da-woods commented Jun 3, 2024

TL;DR if someone can just do pip install git+https://github.com/... then to me there is little advantage to use this conda channel.

or NO_CYTHON_COMPILE=true pip install git+https://github.com/... if they don't want to spend time building Cython (just emphasising this because I think it makes sense for people who just want to test the current master).

But yes - now you mention it I'm slightly unclear what a wheel gives that a link to github doesn't.

I'm definitely keen to encourage/help people test with the latest version of Cython so I'll go through the steps above if people do want a wheel.

@matthewfeickert
Copy link
Member

I'm definitely keen to encourage/help people test with the latest version of Cython so I'll go through the steps above if people do want a wheel.

That's enough in my mind, so please feel free to proceed.

@lysnikolaou
Copy link
Author

lysnikolaou commented Jun 4, 2024

now you mention it I'm slightly unclear what a wheel gives that a link to github doesn't

FWIW I think that giving people the ability to do pip install -i https://pypi.anaconda.org/scientific-python-nightly-wheels/simple cython in their CI without having to install from master directly (probably a few more breakages than wheels built twice a week, plus people generally avoid it) and also not pin to a specific commit that they'll have to go back and change afterwards will encourage them to test early (both Cython and the free-threaded build itself).

@da-woods
Copy link

da-woods commented Jun 4, 2024

Right - I've created an Anaconda account with username da-woods.

@matthewfeickert
Copy link
Member

@lysnikolaou I've got everything setup on the backend now, so if you can get the API token and then a workflow to upload the nightly wheels you're good to go. 👍

@lysnikolaou
Copy link
Author

Thanks @matthewfeickert! @da-woods Will you please add the repository secret so that we can test cython/cython#6229?

@matthewfeickert
Copy link
Member

@lysnikolaou if you have an Anaconda cloud account I can add you to the team as well, which would be preferred so that package teams on the nightly index don't have just a single maintainer.

@lysnikolaou
Copy link
Author

lysnikolaou commented Jun 6, 2024

@matthewfeickert The second person should probably be @scoder. I'm okay to be added but I feel that that decision should lie with the maintainers.

@matthewfeickert
Copy link
Member

Thanks. 👍 @scoder do you have an Anaconda Cloud account?

@matthewfeickert
Copy link
Member

PR cython/cython#6229 is in and wheels got uploaded, so closing as everything looks good. 👍

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

No branches or pull requests

4 participants