Becksteinlab / GromacsWrapper

GromacsWrapper wraps system calls to GROMACS tools into thin Python classes (GROMACS 4.6.5 - 2024 supported).
https://gromacswrapper.readthedocs.org
GNU General Public License v3.0
166 stars 54 forks source link

no console scripts installed in 0.9.0 #279

Open orbeckst opened 4 weeks ago

orbeckst commented 4 weeks ago

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

orbeckst commented 4 weeks ago

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 commented 4 weeks ago

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