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

Publish Cython build #4442

Closed
mrocklin opened this issue Jan 19, 2021 · 3 comments
Closed

Publish Cython build #4442

mrocklin opened this issue Jan 19, 2021 · 3 comments

Comments

@mrocklin
Copy link
Member

The Cython work seems mature enough that we might want to make it more publicly accessible with an optional separate package. Is this easy to do? I don't think that we should make it default yet, but having it be easy to install by people who are not familiar with Cython or compilation would probably be a plus.

One option would be to have a separate conda package conda install -c conda-forge distributed-cython (I'm curious how this would play with the dask metapackage). I wonder also if there is some more blessed way to specify variants.

cc @jakirkham

@jakirkham
Copy link
Member

jakirkham commented Jan 19, 2021

I don't think it is ready to live in a package yet. There are some other packaging related things we would want to sort out before doing that ( like PR #4326 ).

If you or your team need help building this, I'm happy to walk them through it. Assuming an environment with dask installed. Here are the steps:

  1. Install the compilers and cython packages from conda-forge
  2. Clone and cd into distributed/
  3. Run python -m pip install -vv --no-deps --install-option="--with-cython=profile" . (drop =profile if not profiling)
  4. Optionally verify scheduler is Cythonized: python -c "from distributed.scheduler import COMPILED; assert COMPILED"

@jakirkham
Copy link
Member

@jrbourbeau and I made some improvement to testing in PR ( #4764 ). We did observe a few test failures (and are now skipped when the Scheduler is Cythonized). These are being tracked in PR ( #4767 ). Some of these issues may involve working with Cython to address

@jakirkham
Copy link
Member

Now that nightlies are supported ( dask/community#76 ). Maybe a good first step would be to build nightlies with Cython enabled.

Admittedly this isn't quite as easy as installing from conda-forge, which we could also discuss, but it is an improvement from a user standpoint since they could install the package and would not need to compile from source.

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

2 participants