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

Add pore analyser to md kits #172

Open
wants to merge 9 commits into
base: main
Choose a base branch
from

Conversation

DSeiferth
Copy link

Hi MDA community,

I would like to add PoreAnalyser. https://www.sciencedirect.com/science/article/pii/S0006349524004491?via%3Dihub
I have written the tests not with pytest and might need some help with the test section in the metadata file.

@DSeiferth
Copy link
Author

There seem to be problems with python3.13:
AttributeError: module 'pkgutil' has no attribute 'ImpImporter'. Did you mean: 'zipimporter'?

I have added python requirements <=3.12.
In my CI, I can succsefully install PoreAnalyser with python version 3.9 - 3.12
How can I restart the failed tests?
I have published a new pip installable version of PoreAnalyser where I have specified the python requirements.

@orbeckst
Copy link
Member

orbeckst commented Oct 8, 2024

Restarting CI by closing and reopening... (or you could make a minimal change to the PR...)

@orbeckst
Copy link
Member

orbeckst commented Oct 8, 2024

@fiona-naughton could you please handle this kit?

Feel free to ask me any hole-related questions (or maybe @lilyminium , too?)

@orbeckst orbeckst added mdakit About an MDAKit. new create a new MDAKit labels Oct 8, 2024
mdakits/PoreAnalyser/metadata.yaml Outdated Show resolved Hide resolved

## str: the development status of the MDAKit
## See https://pypi.org/classifiers/ for development status classifiers.
#development_status: Production/Stable
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd add it — there's no shame in labelling it as alpha or beta. Or stable or mature ;-)

mdakits/PoreAnalyser/metadata.yaml Show resolved Hide resolved
@orbeckst
Copy link
Member

orbeckst commented Oct 8, 2024

Not sure why Python 3.13 is installed. @IAlibay said on Discord he'll look into it.

@IAlibay
Copy link
Member

IAlibay commented Oct 13, 2024

Not sure why Python 3.13 is installed. @IAlibay said on Discord he'll look into it.

Should be fixed with b9f0439
Was a long standing bug/typo that didn't show up until Python updated.

@DSeiferth
Copy link
Author

The tests yesterday failed again. Python 3.13 is used and version 0.0.7 is downloaded instead of version 0.0.9.
https://pypi.org/project/PoreAnalyser/#history

@orbeckst
Copy link
Member

@IAlibay is there something that needs to be done in this PR to have your fix take effect?

@IAlibay
Copy link
Member

IAlibay commented Oct 15, 2024

@DSeiferth @orbeckst if you merge main into this branch it might work (I don't have edit access to do this).

@orbeckst
Copy link
Member

Thanks @IAlibay. Had to do it locally as there was no update button on GH. Let's see if it dones anything good.

@orbeckst
Copy link
Member

Fails https://github.com/MDAnalysis/MDAKits/actions/runs/11353355295/job/31578167467?pr=172#step:5:38

Run conda-incubator/setup-miniconda@v2
Gathering Inputs...
Creating bootstrap condarc file in /home/runner/.condarc...
Ensuring installer...
Running installer...
  /usr/bin/bash /home/runner/work/_temp/d66cef9c-7e50-4396-a36e-c75bbb19560b.sh -f -b -p /usr/share/miniconda3
  PREFIX=/usr/share/miniconda3
  
  Transaction
  
    Prefix: /usr/share/miniconda3/envs/_virtual_specs_checks
  
    All requested packages already installed
  
  Dry run. Not executing the transaction.
  Unpacking payload ...
  Extracting _libgcc_mutex-0.1-conda_forge.tar.bz2
  Extracting charset-normalizer-3.3.2-pyhd8ed1ab_0.conda
  Extracting colorama-0.4.6-pyhd8ed1ab_0.tar.bz2
  Extracting distro-1.9.0-pyhd8ed1ab_0.conda
  Extracting frozendict-2.4.4-py312h66e93f0_1.conda
  Extracting hpack-4.0.0-pyh9f0ad1d_0.tar.bz2
  Extracting hyperframe-6.0.1-pyhd8ed1ab_0.tar.bz2
  Extracting idna-3.10-pyhd8ed1ab_0.conda
  Extracting jsonpointer-3.0.0-py312h7900ff3_1.conda
  Extracting libmamba-1.5.9-h4cc3d14_0.conda
  Extracting packaging-24.1-pyhd8ed1ab_0.conda
  Extracting platformdirs-4.3.6-pyhd8ed1ab_0.conda
  Extracting pluggy-1.5.0-pyhd8ed1ab_0.conda
  Extracting pycosat-0.6.6-py312h98912ed_0.conda
  Extracting pycparser-2.22-pyhd8ed1ab_0.conda
  Extracting pysocks-1.7.1-pyha2e5f31_6.tar.bz2
  Extracting ruamel.yaml.clib-0.2.8-py312h98912ed_0.conda
  Extracting setuptools-74.1.2-pyhd8ed1ab_0.conda
  Extracting truststore-0.9.2-pyhd8ed1ab_0.conda
  Extracting wheel-0.44.0-pyhd8ed1ab_0.conda
  Extracting cffi-1.17.1-py312h06ac9bb_0.conda
  Extracting h2-4.1.0-pyhd8ed1ab_0.tar.bz2
  Extracting jsonpatch-1.33-pyhd8ed1ab_0.conda
  Extracting libmambapy-1.5.9-py312h7fb9e8e_0.conda
  Extracting pip-24.2-pyh8b19718_1.conda
  Extracting ruamel.yaml-0.18.6-py312h98912ed_0.conda
  Extracting tqdm-4.66.5-pyhd8ed1ab_0.conda
  Extracting zstandard-0.23.0-py312hef9b889_1.conda
  Extracting conda-package-streaming-0.10.0-pyhd8ed1ab_0.conda
  Extracting urllib3-2.2.3-pyhd8ed1ab_0.conda
  Extracting conda-package-handling-2.3.0-pyh7900ff3_0.conda
  Extracting requests-2.32.3-pyhd8ed1ab_0.conda
  Extracting conda-24.7.1-py312h7900ff3_0.conda
  Extracting conda-libmamba-solver-24.7.0-pyhd8ed1ab_0.conda
  Extracting mamba-1.5.9-py312h9460a1c_0.conda
  Warning: Future Miniforge releases will NOT build Mambaforge installers. We advise you switch to Miniforge at your earliest convenience. More details at [https://conda-forge.org/news/2024/07/29/sunsetting-mambaforge/.](https://conda-forge.org/news/2024/07/29/sunsetting-mambaforge/)
  Warning: ERROR: executing pre_install.sh failed
  
  ERROR: executing pre_install.sh failed
Error: The process '/usr/bin/bash' failed with exit code 1

@orbeckst
Copy link
Member

From the error messages I have no idea why the installer is failing.

Looking back at b9f0439 I note that it only fixes gh-ci-cron.yaml so I am not even sure how it would affect the running of gh-ci.yaml.

@orbeckst
Copy link
Member

I opened #213.

@IAlibay
Copy link
Member

IAlibay commented Oct 15, 2024

Looking back at b9f0439 I note that it only fixes gh-ci-cron.yaml so I am not even sure how it would affect the running of gh-ci.yaml.

There was a follow-up fix that I did when I fixed the registry entry for zaartraj, but I'll have a look at what's happening here.

@IAlibay
Copy link
Member

IAlibay commented Oct 15, 2024

@DSeiferth the pyproject.toml for poreanalyzer states 'numpy >=1.0, <1.23.0', however the minimum supported version of numpy for python 3.12 is 1.26.0. You also state in your pyproject.toml that you support all the way through to python 3.12, can you weigh on this please?

@DSeiferth
Copy link
Author

@DSeiferth the pyproject.toml for poreanalyzer states 'numpy >=1.0, <1.23.0', however the minimum supported version of numpy for python 3.12 is 1.26.0. You also state in your pyproject.toml that you support all the way through to python 3.12, can you weigh on this please?

Thanks for spotting this, Irfan.
https://github.com/DSeiferth/PoreAnalyser/actions/runs/11236327945/job/31236196270
When I built PoreAnalyser with my CI, it downloaded numpy-1.26.4.

In the requirements.txt file, there was no <1.23 requirement (in the setup file either). Only in the pyproject.toml file.
I have removed the <1.23 requirement and published a new package version!

@DSeiferth
Copy link
Author

mdakit-ci (PoreAnalyser, develop) installs PoreAnalyser==0.0.11 and then fails at this stage:
INFO: pip is looking at multiple versions of poreanalyser to determine which version is compatible with other requirements. This could take a while.
ERROR: Package 'poreanalyser' requires a different Python: 3.12.7 not in '<=3.12,>=3.6'

In my CI, the install with python 3.12.7 was successful build (3.12)

mdakit-ci (PoreAnalyser, latest) still downloads poreanalyser-0.0.7.
However, at pypi, the latest version is 0.0.11.

@IAlibay IAlibay closed this Nov 10, 2024
@IAlibay IAlibay reopened this Nov 10, 2024
@IAlibay
Copy link
Member

IAlibay commented Nov 10, 2024

@DSeiferth

I had a dive into the PoreAnalyzer setup tooling and I'm not 100% sure what's going on, but I can reproduce the errors seen here on a fresh Python 3.12 install.

For the latest picking up v0.0.7: it looks like what's going on is that the same failure as the source install is happening, and pypi is just downgrading the poreanalyser version until it finds one that is suitable (turns out it's v0.0.7).

For the develop failure: from what I can tell, pip just doesn't like the >=3.6,<=3.12 range definition. I'm really not sure why, it could be a setuptools things (I notice you use flit instead). Setting it to >=3.6,<3.13 seems to do the trick (I've opened a PR on your repo that does this).

Edit: I believe that once you make that change, if develop goes green, all you'll need to do is make a new release and everything should be good.

@DSeiferth
Copy link
Author

Thanks @IAlibay , I have accepted your pull request regarding the "<" change and made a new release (v12).

@IAlibay
Copy link
Member

IAlibay commented Nov 12, 2024

Thanks @DSeiferth - looks like we got further this time around, but the tests are failing due to data files not being packaged, I'll open up a PR 😅

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
mdakit About an MDAKit. new create a new MDAKit
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants