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

conda package for dask-ms #103

Closed
sebastian-luna-valero opened this issue Apr 17, 2020 · 14 comments
Closed

conda package for dask-ms #103

sebastian-luna-valero opened this issue Apr 17, 2020 · 14 comments

Comments

@sebastian-luna-valero
Copy link

sebastian-luna-valero commented Apr 17, 2020

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
Copy link
Member

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:

  • python
  • dask
  • numpy
  • python-casacore
  • setuptools

Adding the xarray optional extra

  • xarray

Adding the testing optional extra expands it

  • pytest
  • mock

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

@sjperkins
Copy link
Member

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

@sebastian-luna-valero
Copy link
Author

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
Copy link
Author

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

@sebastian-luna-valero
Copy link
Author

Initial recipe here:

conda-forge/staged-recipes#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
Copy link
Member

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
Copy link
Member

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 #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
Copy link
Author

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
Copy link
Member

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
Copy link
Member

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
Copy link
Author

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
Copy link
Member

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
Copy link
Member

sjperkins commented Apr 24, 2020

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
Copy link
Author

Thanks for letting me know @sjperkins

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants