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

make pypi compatible #446

Merged
merged 6 commits into from
Mar 17, 2021
Merged

make pypi compatible #446

merged 6 commits into from
Mar 17, 2021

Conversation

gijzelaerr
Copy link
Member

No description provided.

@ratt-priv-ci
Copy link
Collaborator

Can one of the admins verify this patch?

@gijzelaerr gijzelaerr mentioned this pull request Mar 14, 2021
@bennahugo
Copy link
Collaborator

I think we need to test this first - there was a reason to have it pinned to 0.6.1.

I also think montblanc requires you to first install at least the CPU version of tensorflow - note it has to be 1.8.0

python3 -m pip install tensorflow==1.8.0

@bennahugo
Copy link
Collaborator

If I recall the code requires the old SPI specification so we need 0.6.1 unfortunately. Can you roll this back to that version (ie. <=0.6.1)

@gijzelaerr
Copy link
Member Author

can someone then at least push 0.6.1 to pypi?

@bennahugo
Copy link
Collaborator

bennahugo commented Mar 14, 2021 via email

@JSKenyon
Copy link
Collaborator

I am unsure what changed in Montblanc - if someone can tell me, perhaps I can change the code to be compatible with the latest version. Failing that, I think it is relatively safe to hard pin the Montblanc version once 0.6.1 is on PyPI.

@sjperkins
Copy link
Member

@sjperkins can you do this?

I''m not going to give it immediate focus. From memory the issue was Tensorflow as a Montblanc build dependency -- this required a manual installation of tensorflow to build Montblanc (and hence Cubical) from source.

I think there may now be PEP517 concerns too. ratt-ru/montblanc#272. @bennahugo what was the requirement here for 0.6.4? DDFacet? Has anyone tried Cubical with 0.6.4.

@gijzelaerr you have "owner" on the pypi project. If you need this done quickly I would suggest trying to see if you can upload a 0.6.1 source tarball, but this may not lead to everything just working.

@gijzelaerr
Copy link
Member Author

@sjperkins good point, thanks! upload 0.6.1 to pypi.

@bennahugo
Copy link
Collaborator

DDFacet works with the latest version @sjperkins. However one of the commits since 0.6.1 is a change in the SPI specification, which makes me think it will break cubical.

@bennahugo
Copy link
Collaborator

I think the user will just need to install tensorflow manually prior to installing cubical. It should crash out with a nice message to the user though so this I don't think is too much to ask from the user.

@sjperkins
Copy link
Member

@sjperkins good point, thanks! upload 0.6.1 to pypi.

I wouldn't do it straight away because once that 0.6.1 tarball is up, it can't be replaced. Perhaps see if you can pip install Cubical using the 0.6.1 source tarball somehow.

@gijzelaerr
Copy link
Member Author

i mean uploadED, it is already uploaded.

@sjperkins
Copy link
Member

i mean uploadED, it is already uploaded.

OK! On second thoughts it wouldn't make sense to redo the tag contents now that it's been in the wild so long, so I think this is fine.

Only support up to v0.6.1 of montblanc
@bennahugo
Copy link
Collaborator

ok to test

@o-smirnov
Copy link
Collaborator

The spi specification is just a change in how the spectral polynomial is expressed, no? Can't we just have both, and an option to switch between? I mean ideally it's just two different kinds of spectral models, and the codebase ought to support both (as should codex).

@sjperkins
Copy link
Member

Folks, a gentle reminder to:

  1. check your github repo issue history and use descriptive searchable titles to make this easy.
  2. Use the git blame feature to search through file changes (in this case, setup.py).

Using the above tools to do search through history it is possible to conclude that: Cubical has been using the "new" SPI functionality for a while:

Thus, 0.6.4 should work.

Other threads worth revisiting:

  1. do we really need a hard montblanc/tensorflow dependency? #273
  2. Fixes #273 #275

@sjperkins
Copy link
Member

It looks from those threads that the idea was that Montblanc would be an optional dependency.

@bennahugo
Copy link
Collaborator

bennahugo commented Mar 15, 2021

There is this commit: ratt-ru/montblanc@e8b2e71
after the 0.6.1 release that I'm not sure of. Lets first get it pinned to 0.6.1 then we can worry about making potentially breaking changes.

@sjperkins
Copy link
Member

There is this commit: ska-sa/montblanc@e8b2e71
after the 0.6.1 release that I'm not sure of. Lets first get it pinned to 0.6.1 then we can worry about making potentially breaking changes.

0.6.1 was probably the checkpoint release before the spectral index handling changed.

@sjperkins
Copy link
Member

sjperkins commented Mar 15, 2021

0.6.1 was probably the checkpoint release before the spectral index handling changed.

Correction, 0.6.1 tags ratt-ru/montblanc@547008f in ratt-ru/montblanc#244.

0.6.2 was tagged with the merge of #244 into master.

They are functionally identical: https://github.com/ska-sa/montblanc/compare/0.6.1..0.6.2

@sjperkins
Copy link
Member

See you for the same discussion next year 😉

@sjperkins
Copy link
Member

@bennahugo
Copy link
Collaborator

bennahugo commented Mar 16, 2021 via email

@JSKenyon
Copy link
Collaborator

I think it is actually safe to change the version. I believe I actually already did in another PR which is awaiting review. Whilst I cannot say my testing was exhaustive, it certainly worked. I believe @ulricharmel has been using that branch without issue. So 0.6.4 should be fine.

@JSKenyon
Copy link
Collaborator

I am happy to merge this - any concerned parties please voice your opinions before the end of the day, otherwise I will push the button.

@JSKenyon JSKenyon merged commit aa7eb7c into ratt-ru:master Mar 17, 2021
@JSKenyon
Copy link
Collaborator

@gijzelaerr this has been merged if you want to try uploading to PyPI.

o-smirnov added a commit that referenced this pull request May 12, 2021
* partial fix for #93. Should allow for one spw at a time

* fixes #93. Adds workaround for casacore/python-casacore#130

* added future-fstrings

* correctly named future-fstrings

* ...and install it for all pythons

* back to mainstream sharedarray

* lowered message verbosity

* droppping support for python<3.6

* Issues 427 and 429 (#430)

* Fixes #427

* Fixes #429

* Update __init__.py

Bump version

* Update Jenkinsfile.sh (#447)

* Update Jenkinsfile.sh

Remove python 2 building

* Update Jenkinsfile.sh

* Issue 431 (#432)

* Beginning of nobeam functionality.

* Remove duplicated source provider.

* Change syntax for python 2.7 compatibility.

* Update montblanc version in setup to avoid installation woes.

Co-authored-by: JSKenyon <jonosken@gmail.com>

* Remove two uses of future_fstrings.

* make pypi compatible (#446)

* make pypi compatible

* error

* Update setup.py

Only support up to v0.6.1 of montblanc

* Update setup.py

Co-authored-by: Benjamin Hugo <bennahugo@gmail.com>
Co-authored-by: JSKenyon <jskenyon007@gmail.com>
Co-authored-by: JSKenyon <jonathan.simon.kenyon@gmail.com>

* Update __init__.py

* Fix warning formatting

Co-authored-by: Oleg Smirnov <osmirnov@gmail.com>
Co-authored-by: Benjamin Hugo <bennahugo@gmail.com>
Co-authored-by: JSKenyon <jskenyon007@gmail.com>
Co-authored-by: JSKenyon <jonosken@gmail.com>
Co-authored-by: Gijs Molenaar <gijs@pythonic.nl>
Co-authored-by: JSKenyon <jonathan.simon.kenyon@gmail.com>
JSKenyon added a commit that referenced this pull request Apr 13, 2023
* Added different slope modes for slope solvers. Experimental.

* initial rehashing to support a more geneal slope structure (e.g. iono+delay)

* fixes #428

* fixes #433

* no-X polcal experiments

* added support for arbitrary Jones terms in *first* chain position

* fixed typo

* Noxcal (#450)

* partial fix for #93. Should allow for one spw at a time

* fixes #93. Adds workaround for casacore/python-casacore#130

* added future-fstrings

* correctly named future-fstrings

* ...and install it for all pythons

* back to mainstream sharedarray

* lowered message verbosity

* droppping support for python<3.6

* Issues 427 and 429 (#430)

* Fixes #427

* Fixes #429

* Update __init__.py

Bump version

* Update Jenkinsfile.sh (#447)

* Update Jenkinsfile.sh

Remove python 2 building

* Update Jenkinsfile.sh

* Issue 431 (#432)

* Beginning of nobeam functionality.

* Remove duplicated source provider.

* Change syntax for python 2.7 compatibility.

* Update montblanc version in setup to avoid installation woes.

Co-authored-by: JSKenyon <jonosken@gmail.com>

* Remove two uses of future_fstrings.

* make pypi compatible (#446)

* make pypi compatible

* error

* Update setup.py

Only support up to v0.6.1 of montblanc

* Update setup.py

Co-authored-by: Benjamin Hugo <bennahugo@gmail.com>
Co-authored-by: JSKenyon <jskenyon007@gmail.com>
Co-authored-by: JSKenyon <jonathan.simon.kenyon@gmail.com>

* Update __init__.py

* Fix warning formatting

Co-authored-by: Oleg Smirnov <osmirnov@gmail.com>
Co-authored-by: Benjamin Hugo <bennahugo@gmail.com>
Co-authored-by: JSKenyon <jskenyon007@gmail.com>
Co-authored-by: JSKenyon <jonosken@gmail.com>
Co-authored-by: Gijs Molenaar <gijs@pythonic.nl>
Co-authored-by: JSKenyon <jonathan.simon.kenyon@gmail.com>

* fixed bug when outer chain term was DD and incorrect model was used. Properly implemented scalar updates

* added scalar and unislope update types

* added auto-generated Stimela2 schemas

* added schemas to manifest

* use / separator for stimela schema; omit defaults in schema; fix path

* minor bugfixes

* added stimela_cabs file. Fixed problem with legacy-only flags on output

* added stimela_cabs.yml

* changed / to .

* fixed problem with IFR gain flags overpropagating

* added parset argument

---------

Co-authored-by: Oleg Smirnov <osmirnov@gmail.com>
Co-authored-by: Lexy Andati <andatilexy@gmail.com>
Co-authored-by: Benjamin Hugo <bennahugo@gmail.com>
Co-authored-by: Gijs Molenaar <gijs@pythonic.nl>
o-smirnov added a commit that referenced this pull request Feb 12, 2024
* Added different slope modes for slope solvers. Experimental.

* initial rehashing to support a more geneal slope structure (e.g. iono+delay)

* fixes #428

* fixes #433

* no-X polcal experiments

* added support for arbitrary Jones terms in *first* chain position

* fixed typo

* Noxcal (#450)

* partial fix for #93. Should allow for one spw at a time

* fixes #93. Adds workaround for casacore/python-casacore#130

* added future-fstrings

* correctly named future-fstrings

* ...and install it for all pythons

* back to mainstream sharedarray

* lowered message verbosity

* droppping support for python<3.6

* Issues 427 and 429 (#430)

* Fixes #427

* Fixes #429

* Update __init__.py

Bump version

* Update Jenkinsfile.sh (#447)

* Update Jenkinsfile.sh

Remove python 2 building

* Update Jenkinsfile.sh

* Issue 431 (#432)

* Beginning of nobeam functionality.

* Remove duplicated source provider.

* Change syntax for python 2.7 compatibility.

* Update montblanc version in setup to avoid installation woes.

Co-authored-by: JSKenyon <jonosken@gmail.com>

* Remove two uses of future_fstrings.

* make pypi compatible (#446)

* make pypi compatible

* error

* Update setup.py

Only support up to v0.6.1 of montblanc

* Update setup.py

Co-authored-by: Benjamin Hugo <bennahugo@gmail.com>
Co-authored-by: JSKenyon <jskenyon007@gmail.com>
Co-authored-by: JSKenyon <jonathan.simon.kenyon@gmail.com>

* Update __init__.py

* Fix warning formatting

Co-authored-by: Oleg Smirnov <osmirnov@gmail.com>
Co-authored-by: Benjamin Hugo <bennahugo@gmail.com>
Co-authored-by: JSKenyon <jskenyon007@gmail.com>
Co-authored-by: JSKenyon <jonosken@gmail.com>
Co-authored-by: Gijs Molenaar <gijs@pythonic.nl>
Co-authored-by: JSKenyon <jonathan.simon.kenyon@gmail.com>

* fixed bug when outer chain term was DD and incorrect model was used. Properly implemented scalar updates

* added scalar and unislope update types

* added auto-generated Stimela2 schemas

* added schemas to manifest

* use / separator for stimela schema; omit defaults in schema; fix path

* minor bugfixes

* added stimela_cabs file. Fixed problem with legacy-only flags on output

* added stimela_cabs.yml

* changed / to .

* fixed problem with IFR gain flags overpropagating

* Update __init__.py

* Stimelation (#480)

* fixes to AIPS leakage plotter (more table format support); started an AIPS bandpass plotter but this is WIP

* add check for INDE value in PRTAB leakages

* changed to hierarchical config

---------

Co-authored-by: JSKenyon <jskenyon007@gmail.com>
Co-authored-by: Jonathan <jonosken@gmail.com>
Co-authored-by: Lexy Andati <andatilexy@gmail.com>
Co-authored-by: Benjamin Hugo <bennahugo@gmail.com>
Co-authored-by: Gijs Molenaar <gijs@pythonic.nl>
Co-authored-by: JSKenyon <jonathan.simon.kenyon@gmail.com>
Co-authored-by: Athanaseus Javas Ramaila <aramaila@ska.ac.za>
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 this pull request may close these issues.

6 participants