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

Migrate from distutils to setuptools #4

Closed
rjanvier opened this issue Sep 6, 2023 · 5 comments · Fixed by #5
Closed

Migrate from distutils to setuptools #4

rjanvier opened this issue Sep 6, 2023 · 5 comments · Fixed by #5

Comments

@rjanvier
Copy link
Contributor

rjanvier commented Sep 6, 2023

Hi Damien,

For a bit of context, I currently use @drprojects/superpoint_transformer to make some forest segmentation for the @3DFin project. It works pretty well but we want to lower the technical cost of using it (in an inference context) for scientist interested in the field of Forest management.

I started to review compiled dependency and evaluate if we can offer pre build wheels (via https://github.com/pypa/cibuildwheel). I first noticed that all your C++ based python module/dependencies use distutils as a build system. distutils is deprecated and I think it did not even work anymore with python 3.12. So future users could have hard time to install your dependencies. Would you agree if I try to port pgeof to setuptools build system (which is the "drop in" replacement for distutils)?

@drprojects
Copy link
Owner

Hi Romain, thanks for your active work on this project, I really appreciate it.

Porting pgeof to setuptools would be awesome ! Ideally, if this project could simply be distributed as a pip package, it would be great. Unfortunately, I do not have time (nor extensive setuptools skills) to work on this at the moment. So if you feel like making improvements to the project to facilitate its distribution, I would gladly accept the help !

Besides, if you are actively using this library, I take this opportunity to mention that I had an extension in mind that could improve features expressivity: multi-scale features. This would require computing the eigenfeatures at several neighborhood radii. I could provide guidelines for doing so, if you wanted to implement this.

In any case, thanks for your contributions.

@rjanvier
Copy link
Contributor Author

rjanvier commented Sep 8, 2023

Hi Damien,
Thanks a lot!
For now I will focus on easing the installation of pgeof and cut pursuit. I have a CloudCompare plugin for "SPT-Inference" in mind and I want to reduce python dependencies or the need of a c++ compiler to install them. I also plan to offer alternative to CUDA-only modules (FRNN could be replaced by scikit CKDTree / Nanoflann in a CPU only context). Multiscale features sound like a good idea, it reminds me https://inria.hal.science/hal-00713678v2/document somehow

@drprojects
Copy link
Owner

Hi Romain,

Glad to hear you are also interested in SPT ! Same as above, I would love to wrap it as a simple pip package somehow but cannot dedicate time to this.

So, I trust that your skills for simplifying the dependencies, I agree that would help the installation.

Would you mind creating an issue on SPT for discussing SPT-specific stuff, when relevant ?

Regarding the multiscale features, you are right, I do not claim any novelty in this idea, it has a long history in literature. Just thought it would be an easy extension to pgeof and would be curious to see how it could help downstream models like SPT for instance (at the cost of some extra hyperparameters).

Thanks for your help

@loicland
Copy link
Contributor

loicland commented Sep 8, 2023

Hi @rjanvier
I am one of the creators of cut pursuit. If you also need to port cut pursuit (this repo) to setuptools and need any help, do not hesitate.

@rjanvier
Copy link
Contributor Author

HI @loicland , thank you very much. I have just opened a PR on gitlab https://gitlab.com/1a7r0ch3/parallel-cut-pursuit/-/merge_requests/13.

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

Successfully merging a pull request may close this issue.

3 participants