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

Create a patch release with updated Cython dependencies #646

Closed
vyasr opened this issue Jul 22, 2024 · 6 comments
Closed

Create a patch release with updated Cython dependencies #646

vyasr opened this issue Jul 22, 2024 · 6 comments

Comments

@vyasr
Copy link

vyasr commented Jul 22, 2024

#644 updated the build dependency of hdbscan to support using Cython 3.0. However, this update has not yet been released. Furthermore, there are still issues with using hdbscan in monolithic build/run environments because Cython<3 is still included in the runtime dependency list. Rather than relaxing that pin, though, it could simply be removed because Cython is not required at runtime at all, only at build time. The necessary change is available in #624.

Would it be possible to merge #624 and then cut a release? The current state of the latest release (sans #624 and #644) is blocking cuml from being able to use the latest version of hdbscan (see rapidsai/cuml#5906), so getting things updated would be much appreciated. Thank you!

CC @cjnolet @divyegala @trxcllnt

@jakirkham
Copy link

It's also worth noting there is a fairly loud warning coming from the test suite. Not sure if we are seeing this anywhere else. Might be nice to fix

#647

cc @seberg

@seberg
Copy link
Contributor

seberg commented Jul 23, 2024

Yeah, I had ignored it to not to do much at once and it wasn't new (and locally it isn't as noise, since it originates always from roughly the same place).

Seems to just be:

diff --git a/hdbscan/_hdbscan_tree.pyx b/hdbscan/_hdbscan_tree.pyx
index aeb4051..420724f 100644
--- a/hdbscan/_hdbscan_tree.pyx
+++ b/hdbscan/_hdbscan_tree.pyx
@@ -623,7 +623,7 @@ cpdef list get_cluster_tree_leaves(np.ndarray cluster_tree):
 cpdef np.intp_t traverse_upwards(np.ndarray cluster_tree, np.double_t cluster_selection_epsilon, np.intp_t leaf, np.intp_t allow_single_cluster):
 
     root = cluster_tree['parent'].min()
-    parent = cluster_tree[cluster_tree['child'] == leaf]['parent']
+    parent = cluster_tree[cluster_tree['child'] == leaf]['parent'][0]
     if parent == root:
         if allow_single_cluster:
             return parent

@jakirkham
Copy link

@lmcinnes is there anything we can do to help here? 🙂

Please feel free to give us tasks. We would be happy to chip in

@lmcinnes
Copy link
Collaborator

lmcinnes commented Aug 3, 2024

Sorry I've been away on vacation. I'll try to take a look at this soon.

@jakirkham
Copy link

No worries. Thanks for your help Leland! 🙏

@jakirkham
Copy link

Looks like this was done with 0.8.38

Should we close?

@vyasr vyasr closed this as completed Aug 17, 2024
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

4 participants