Skip to content

Compatibility gmx-top4py#583

Open
emerbitz wants to merge 19 commits intograeter-group:mainfrom
emerbitz:feat/gmx-top4py
Open

Compatibility gmx-top4py#583
emerbitz wants to merge 19 commits intograeter-group:mainfrom
emerbitz:feat/gmx-top4py

Conversation

@emerbitz
Copy link
Copy Markdown
Collaborator

Integrate gmx-top4py

The package gmx-top4py bundles the following functionality that was originally part of kimmdy into a new package:

  • read/write top-files
  • access topology information and force field parameters
  • alter force field parameters

@emerbitz emerbitz marked this pull request as ready for review October 31, 2025 12:08
@emerbitz
Copy link
Copy Markdown
Collaborator Author

Results of tox testing:
clean: OK (2.11=setup[2.01]+cmd[0.10] seconds)
py310: OK (401.21=setup[199.80]+cmd[201.41] seconds)
clean-310: OK (5.61=setup[2.12]+cmd[3.49] seconds)
py311: FAIL code 1 (180.68 seconds)
report: FAIL code 1 (2.08=setup[1.97]+cmd[0.12] seconds)
evaluation failed :( (591.76 seconds)

During the installation phase of the py311 venv the following error occurs:
ERROR: Could not install packages due to an OSError: [Errno 28] No space left on device

Tox subsequently fails with:
No source for code: '/__w/kimmdy/kimmdy/.tox/py310/lib/python3.10/site-packages/kimmdy/init.py'; see https://coverage.readthedocs.io/en/7.11.0/messages.html#error-no-source

@emerbitz
Copy link
Copy Markdown
Collaborator Author

Is it possible that the docker container runs out of space to install the packages?

@jmbuhr
Copy link
Copy Markdown
Collaborator

jmbuhr commented Oct 31, 2025

Hi Eddi, thanks for the refactor. Multiple people had already told me that the topology features might be useful outside of KIMMDY as well, so this is a useful step. There are some things that should be addressed:

I was wondering about our license, which is gnu 3.0, meaning redistribution is allowed, but not changing the code. However, I think for the purpose of this license we are the same person (same GitHub org), but just in case I want to state that this refactor is authorized.
I do think though that the new package should state very clearly where the code came from, including links to the original repo.

I am personally not a big fan of the name. In my opinion there is no need for 4py, because obviously it is a Python package and adding harder to type things just makes us more vulnerable to supply chain attacks.
How about just gmxtop? Both for the package and the module.

Testing: All tests should pass before we can merge this.

@jmbuhr
Copy link
Copy Markdown
Collaborator

jmbuhr commented Oct 31, 2025

Is it possible that the docker container runs out of space to install the packages?

Yes, this is most likely what is happening. This is why the cleanup step was introduced in tox between the py version tests. But it looks like now we have to reduce the size more. Does the topology package ship it's test assets when installed from pypi?

@jmbuhr
Copy link
Copy Markdown
Collaborator

jmbuhr commented Oct 31, 2025

Speaking of which, for development it would be nice to have the topology module as a git submodule and available in the same pyproject workspace like the reaction plugins.

@emerbitz
Copy link
Copy Markdown
Collaborator Author

Hi Yannik,
thanks for your advice, I will incorportate the improvements, especially the linking to kimmdy package for code origin:)

@emerbitz
Copy link
Copy Markdown
Collaborator Author

I agree that the package name "gmx-top4py" may be suboptimal and that gmxtop may be nicer. Yet gmx-top4py is already on pypi and I am not sure if it still makes sense to change it

@jmbuhr
Copy link
Copy Markdown
Collaborator

jmbuhr commented Oct 31, 2025

I agree that the package name "gmx-top4py" may be suboptimal and that gmxtop may be nicer. Yet gmx-top4py is already on pypi and I am not sure if it still makes sense to change it

Sure, now is the time to change it before it's incorporated into other things.

@emerbitz
Copy link
Copy Markdown
Collaborator Author

emerbitz commented Nov 5, 2025

Hi Jannik,
I have (1) changed gmx-top4py to gmxtop, (2) added attributions, and (3) made the gmxtop installation as a submodule into plugins. You were further right that the pypi version of gmx-top4py shipped the examples and tests. This is now also fixed. The github action tests are still failing due OSError: [Errno 28] No space left on device. Do you have a suggestion:)?

@emerbitz
Copy link
Copy Markdown
Collaborator Author

emerbitz commented Nov 5, 2025

Hi Jannik, I have (1) changed gmx-top4py to gmxtop, (2) added attributions, and (3) made the gmxtop installation as a submodule into plugins. You were further right that the pypi version of gmx-top4py shipped the examples and tests. This is now also fixed. The github action tests are still failing due OSError: [Errno 28] No space left on device. Do you have a suggestion:)?

The submodule installation of gmxtop shipps of course again the examples and tests. Alternative we could go with the pypi install that does not have the examples and tests folders

@jmbuhr
Copy link
Copy Markdown
Collaborator

jmbuhr commented Jan 2, 2026

@emerbitz I simplified our testing environment a bit and freed up space. I believe if you rebase this on the latest main branch, the tests should run successfully.

@emerbitz
Copy link
Copy Markdown
Collaborator Author

emerbitz commented Jan 5, 2026

Okay, thank you very much, I will do so:)

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.

2 participants