chr1shr / voro

Voro++: a three-dimensional Voronoi cell library in C++
Other
154 stars 44 forks source link

voro++ conda package on conda-forge #8

Closed ltalirz closed 3 years ago

ltalirz commented 3 years ago

Hi, I'm in the process of adding a package for voro++ to conda-forge, which would make it easy for people to install voro++ on linux, macos and windows without the need to compile it, using the conda package manager

conda install -c conda-forge voro

I have some questions in this regard:

  1. Would it perhaps make sense to use git tags to label voro++ versions in this repository? You can easily tag previous versions, e.g.

    git tag v0.4.6 42838f2fddee11beee72ec454b7f92243f7f9d8c
    ...
    git push --tags

    One advantage of this is that conda-forge automatically picks up on new releases this way, making sure that the conda package stays up to date.

  2. Is there something like a test suite that you would recommend to run in order to ensure that the library is compiled correctly - perhaps part of the examples?

chr1shr commented 3 years ago

Thanks for the update about the conda package - that sounds great. I've tagged version 0.4.6 although this is from a while ago and there's been a lot more development since then. I am planning to make it a priority to get a new version online in the next month, which I will tag with a higher version number. (Development was slowed on this project for several years, since I run large team, and I had trouble getting grant funding to support any work on the software. However I recently received a grant to work on this so there has been quite a bit of progress on this in the past year.)

There are several example codes that are provided that can serve as tests of the library, e.g., in the random points example, it checks that the volume of the Voronoi cells exactly matches the volume of the container. I'll can think about making a few of these examples serve as a test suite.

ltalirz commented 3 years ago

I've tagged version 0.4.6 although this is from a while ago and there's been a lot more development since then.

Thanks! I'll start with that version - updating the conda-forge package is semi-automatic: it recognizes when you add a new tag here on github and will automatically create a pull request to the conda-forge feedstock that I would just need to check & merge. By the way, would you like me to add you as one of the maintainers of the conda-forge package?

I recently received a grant to work on this so there has been quite a bit of progress on this in the past year.

Sounds great!

There are several example codes that are provided that can serve as tests of the library, e.g., in the random points example, it checks that the volume of the Voronoi cells exactly matches the volume of the container. I'll can think about making a few of these examples serve as a test suite.

All I would need to know is which commands to run. I could then take care to run these automatically before any update of the conda package. If you like, I can also add it here on directly on the repository to run on every commit (which can be useful for accepting pull requests to make sure they don't break the code).

ltalirz commented 3 years ago

P.S. About the zeo/ subfolder in voro++: is that the predecessor to zeo++ ? Is this folder still maintained? I'm asking this because also zeo++ "vendors" voro++ (i.e. ships a copy of it) and it might be useful to disentangle the two repositories so that new features and bug fixes made in one place always propagate to the other (and vice versa).

ltalirz commented 3 years ago

The conda feedstock for voro++ is ready - you can now conda install -c conda-forge voro both on linux and macos.

I am closing this issue and moving remaining discussion points in to separate issues