Sophus icon indicating copy to clipboard operation
Sophus copied to clipboard

Add Sophus to conda-forge

Open versatran01 opened this issue 2 years ago • 9 comments

Is your feature request related to a problem? Please describe. [A clear and concise description of what the problem is.]

I was hoping we could add Sophus to conda-forge such that people can do conda install -c conda-forge sophus to install Sophus to a conda environment.

Describe the solution you'd like [A clear and concise description of what you want to happen.]

Details of how to create a conda package can be found at https://conda-forge.org/docs/maintainer/adding_pkgs.html

Describe alternatives you've considered [A clear and concise description of any alternative solutions or features you've considered.]

Additional context [Add any other context or screenshots about the feature request here.]

Related packages that are already on conda ros, ceres, fmt, eigen, ... https://github.com/RoboStack/ros-noetic https://anaconda.org/conda-forge/ceres-solver

versatran01 avatar May 06 '22 12:05 versatran01

I can do a PR if the maintainers think this is a good thing to have.

versatran01 avatar Jul 02 '22 12:07 versatran01

@versatran01 yes, I'd like to do that at some point. I'm potentially anticipating some breaking changes in Sophus in the near future, and possibly want to tackle conda-forge afterwards.

strasdat avatar Aug 30 '22 18:08 strasdat

Ok. If I understand correctly, I think adding a package to conda-forge simply requires one to add a install script to the conda forge repo.

Also what will be the breaking change if you don’t mind disclosing it?

versatran01 avatar Aug 30 '22 19:08 versatran01

If we have a breaking change it might be useful to release a version before, and even have it on conda before, so people can keep using the previous API by fixing the version (for a while at least).

NikolausDemmel avatar Aug 30 '22 20:08 NikolausDemmel

(i know you don't wanna do real releases. I just mean a tag people can refer to before the change.)

NikolausDemmel avatar Aug 30 '22 20:08 NikolausDemmel

For sure. I'm planning to have a release 22.10 tag. And in case I will move forward with the breaking changes (too early to share more details), I will in parallel introduce a beta branch (e.g. 23.04-beta).

strasdat avatar Aug 31 '22 07:08 strasdat

@versatran01 do you want to go ahead with a PR for conda forge?

strasdat avatar Aug 31 '22 07:08 strasdat

Here is my first try. The conda recipe goes directly into the conda staged-recipe repo so there won't be any PR to Sophus itself. https://github.com/versatran01/staged-recipes/tree/sophus/recipes/sophus

which is based on the ceres recipe https://github.com/conda-forge/staged-recipes/pull/8168/commits/864cbf56a878888cc3622ff031955b4f8e048d84

Some questions for you:

  1. What is the license and license family for Sophus?
  2. Ok if I turn off basic logging and don't depend on fmt?
  3. Do you want windows support? I don't have a win machine at hand to test anything.

versatran01 avatar Aug 31 '22 12:08 versatran01

  1. MIT
  2. turn on basic-logging/turn off fmt sounds fine, at least for to begin with
  3. Let's leave windows out for now. Eventually I'd like to support windows / CI through github actions. But this is more of a wish list task.

strasdat avatar Aug 31 '22 20:08 strasdat

This is going slower than I expected. https://github.com/conda-forge/staged-recipes/pull/20264

versatran01 avatar Sep 24 '22 20:09 versatran01

This recipe is merged into conda-forge and should be ready to install via conda install -c conda-forge sophus

https://anaconda.org/conda-forge/sophus

versatran01 avatar Oct 06 '22 17:10 versatran01