ratt-ru / dask-ms

Implementation of a dask/xarray dataset backed by a CASA MS
https://dask-ms.readthedocs.io
Other
19 stars 7 forks source link

conda package for dask-ms #103

Closed sebastian-luna-valero closed 4 years ago

sebastian-luna-valero commented 4 years ago

Hi,

I would like to create a conda-forge package for dask-ms.

I have an initial conda environment that seems to work:

name: dask-ms

channels:
 - conda-forge
 - defaults

dependencies:
 - python
 - bokeh
 - dask
 - distributed
 - mock
 - numpy
 - python-casacore
 - pytest
 - setuptools
 - xarray

Would you be happy to assist if I find issues?

Best regards, Sebastian

sjperkins commented 4 years ago

I would like to create a conda-forge package for dask-ms.

Would you be happy to assist if I find issues?

Hi @sebastian-luna-valero. Thanks for reaching out. In principle yes, although my experience with conda and conda packaging is limited -- I've worked with pypi exclusively as a release mechanism up till this point. I'm keen to try.

I have an initial conda environment that seems to work:

name: dask-ms

channels:
 - conda-forge
 - defaults

dependencies:
 - python
 - bokeh
 - dask
 - distributed
 - mock
 - numpy
 - python-casacore
 - pytest
 - setuptools
 - xarray

I feel that these are the core dependencies:

Adding the xarray optional extra

Adding the testing optional extra expands it

distributed is not yet a dependency, although I might try to detect for it in the code itself.

sjperkins commented 4 years ago

Also note that I'm aiming to release 0.2.4 in the next week or so.

sebastian-luna-valero commented 4 years ago

Great, thanks @sjperkins

Could you please let me know once version 0.2.4 has been released so I start working on the conda package?

Best regards, Sebastian

sebastian-luna-valero commented 4 years ago

By the way, would you (or anyone else) like to be listed as a recipe maintainer?

sebastian-luna-valero commented 4 years ago

Initial recipe here:

https://github.com/conda-forge/staged-recipes/pull/11321

We can easily update the recipe to include more maintainers.

Could you confirm whether I should include the following license title:

Copyright (c) 2019, National Research Foundation
(South African Radio Astronomy Observatory)
All rights reserved.
sjperkins commented 4 years ago

By the way, would you (or anyone else) like to be listed as a recipe maintainer?

Could you outline what this entails? I'd be happy to look at a URL.

sjperkins commented 4 years ago

Could you confirm whether I should include the following license title:

Copyright (c) 2019, National Research Foundation
(South African Radio Astronomy Observatory)
All rights reserved.

I've updated the year in https://github.com/ska-sa/dask-ms/pull/105 so this should now change to:

Copyright (c) 2019 - 2020, National Research Foundation
(South African Radio Astronomy Observatory)
All rights reserved.
sebastian-luna-valero commented 4 years ago

Could you outline what this entails? I'd be happy to look at a URL.

It will give you push access to the conda-forge feedstock for the dask-ms package so you have permissions to update it, and approve/reject PRs. See examples of conda-forge feedstocks here:

https://conda-forge.org/feedstocks/

As it is configured now, every new release of dask-ms on PyPI will trigger a build in conda-forge to update the package. So far I have just included a python -c "import daskms" test on the conda recipe, but we can add more tests so they will be executed automatically before we release a new version of the conda package.

More general info is available here: https://conda-forge.org/docs

sjperkins commented 4 years ago

Could you outline what this entails? I'd be happy to look at a URL.

It will give you push access to the conda-forge feedstock for the dask-ms package so you have permissions to update it, and approve/reject PRs. See examples of conda-forge feedstocks here:

https://conda-forge.org/feedstocks/

OK thanks, I'd be happy to be a maintainer here. @o-smirnov it might make sense to make you or someone else a maintainer too in order to reduce the bus factor.

sjperkins commented 4 years ago

So far I have just included a python -c "import daskms" test on the conda recipe, but we can add more tests so they will be executed automatically before we release a new version of the conda package.

dask-ms has a full test suite that is designed to be run with pytest. It's currently run on travis as follows:

https://github.com/ska-sa/dask-ms/blob/master/.travis/python36.docker https://github.com/ska-sa/dask-ms/blob/master/.travis/python37.docker

Is this something that you would be prepared to adapt for whatever CI environment runs on conda so that I could learn how this is done, or would you prefer me to set this up?

sebastian-luna-valero commented 4 years ago

That's great, many thanks. Given that you already test it before PyPI releases it probably doesn't make sense to repeat the full suite in conda again. Could you please provide a few more python imports to add to this recipe just as a sanity check?

I will wait for @o-smirnov to confirm, thanks!

sjperkins commented 4 years ago

I think these are the most important imports:

python -c "from daskms import xds_from_ms"
python -c "from daskms import xds_from_table"
python -c "from daskms import xds_to_table"
python -c "from daskms import TableProxy"
sjperkins commented 4 years ago

Hi @sebastian-luna-valero

dask-ms 0.2.4 has been released on pypi: https://pypi.org/project/dask-ms/0.2.4/

and is tagged in this repo as 0.2.4

sebastian-luna-valero commented 4 years ago

Thanks for letting me know @sjperkins

Conda package has been created and uploaded to the conda-forge channel.