GromacsWrapper icon indicating copy to clipboard operation
GromacsWrapper copied to clipboard

no console scripts installed in 0.9.0

Open orbeckst opened this issue 1 year ago • 2 comments

The gw-*.py scripts are not installed in the bin directory.

With the switch to pyproject.toml #278 and modern versions of setuptools, we cannot use

[tool.setuptools]

scripts = [
    "scripts/gw-join_parts.py",
    "scripts/gw-merge_topologies.py",
    "scripts/gw-forcefield.py",
    "scripts/gw-partial_tempering.py"
]

because with python -m build we get an error

configuration error: `tool.setuptools` must not contain {'scripts'} properties

Background

  • https://stackoverflow.com/a/74355524 says that we could include a shim setup.py just for scripts and that would likely work, but I want to make a clean break
  • https://stackoverflow.com/a/74955996 suggests that the code above ought to work and only raise a warning that it's discouraged but presumably 1-2 years later, setuptools decided to not support it anymore

orbeckst avatar Jun 15 '24 01:06 orbeckst

The clean solution is to properly use entrypoints, which would require refactoring the scripts into a gromacs.scripts module with main() functions. However, the scripts are likely not used much and it's too much work to refactor and adding tests.

Therefore, I will not include them, see if anyone complains, and probably eventually remove them.

orbeckst avatar Jun 15 '24 01:06 orbeckst

Also note that these scripts never had tests so one has to consider them broken...

orbeckst avatar Jun 15 '24 01:06 orbeckst