molify 0.2.0__tar.gz → 0.2.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (149) hide show
  1. molify-0.2.1/.github/workflows/build-wheels.yaml +25 -0
  2. {molify-0.2.0 → molify-0.2.1}/PKG-INFO +2 -1
  3. {molify-0.2.0 → molify-0.2.1}/pyproject.toml +2 -10
  4. {molify-0.2.0 → molify-0.2.1}/src/molify/pack.py +3 -11
  5. molify-0.2.1/uv.lock +2676 -0
  6. molify-0.2.0/.github/workflows/build-wheels.yaml +0 -78
  7. molify-0.2.0/.gitmodules +0 -3
  8. molify-0.2.0/external/packmol/.git +0 -1
  9. molify-0.2.0/external/packmol/.github/workflows/actions.yml +0 -45
  10. molify-0.2.0/external/packmol/.gitignore +0 -20
  11. molify-0.2.0/external/packmol/AUTHORS +0 -11
  12. molify-0.2.0/external/packmol/CHANGELOG.md +0 -28
  13. molify-0.2.0/external/packmol/CMakeLists.txt +0 -60
  14. molify-0.2.0/external/packmol/LICENSE +0 -21
  15. molify-0.2.0/external/packmol/Makefile +0 -215
  16. molify-0.2.0/external/packmol/README.md +0 -85
  17. molify-0.2.0/external/packmol/app/packmol.f90 +0 -981
  18. molify-0.2.0/external/packmol/compile_cmake.sh +0 -26
  19. molify-0.2.0/external/packmol/configure +0 -53
  20. molify-0.2.0/external/packmol/fpm.toml +0 -19
  21. molify-0.2.0/external/packmol/header +0 -5
  22. molify-0.2.0/external/packmol/packmol +0 -0
  23. molify-0.2.0/external/packmol/solvate.tcl +0 -7625
  24. molify-0.2.0/external/packmol/src/ahestetic.f90 +0 -41
  25. molify-0.2.0/external/packmol/src/cell_indexing.f90 +0 -63
  26. molify-0.2.0/external/packmol/src/cenmass.f90 +0 -103
  27. molify-0.2.0/external/packmol/src/checkpoint.f90 +0 -116
  28. molify-0.2.0/external/packmol/src/cli_parser.f90 +0 -241
  29. molify-0.2.0/external/packmol/src/comparegrad.f90 +0 -98
  30. molify-0.2.0/external/packmol/src/comprest.f90 +0 -215
  31. molify-0.2.0/external/packmol/src/compute_data.f90 +0 -62
  32. molify-0.2.0/external/packmol/src/computef.f90 +0 -154
  33. molify-0.2.0/external/packmol/src/computeg.f90 +0 -245
  34. molify-0.2.0/external/packmol/src/exit_codes.f90 +0 -19
  35. molify-0.2.0/external/packmol/src/flashmod.f90 +0 -21
  36. molify-0.2.0/external/packmol/src/flashsort.f90 +0 -95
  37. molify-0.2.0/external/packmol/src/fparc.f90 +0 -78
  38. molify-0.2.0/external/packmol/src/gencan.f +0 -5992
  39. molify-0.2.0/external/packmol/src/gencan_ieee_signal_routines.f90 +0 -45
  40. molify-0.2.0/external/packmol/src/getinp.f90 +0 -1146
  41. molify-0.2.0/external/packmol/src/gparc.f90 +0 -87
  42. molify-0.2.0/external/packmol/src/gwalls.f90 +0 -327
  43. molify-0.2.0/external/packmol/src/heuristics.f90 +0 -150
  44. molify-0.2.0/external/packmol/src/initial.f90 +0 -558
  45. molify-0.2.0/external/packmol/src/input.f90 +0 -82
  46. molify-0.2.0/external/packmol/src/jacobi.f90 +0 -106
  47. molify-0.2.0/external/packmol/src/output.f90 +0 -598
  48. molify-0.2.0/external/packmol/src/pbc.f90 +0 -32
  49. molify-0.2.0/external/packmol/src/pgencan.f90 +0 -98
  50. molify-0.2.0/external/packmol/src/polartocart.f90 +0 -100
  51. molify-0.2.0/external/packmol/src/random.f90 +0 -47
  52. molify-0.2.0/external/packmol/src/resetcells.f90 +0 -43
  53. molify-0.2.0/external/packmol/src/restmol.f90 +0 -70
  54. molify-0.2.0/external/packmol/src/setsizes.f90 +0 -362
  55. molify-0.2.0/external/packmol/src/sizes.f90 +0 -29
  56. molify-0.2.0/external/packmol/src/strlength.f90 +0 -97
  57. molify-0.2.0/external/packmol/src/swaptype.f90 +0 -89
  58. molify-0.2.0/external/packmol/src/swaptypemod.f90 +0 -16
  59. molify-0.2.0/external/packmol/src/title.f90 +0 -19
  60. molify-0.2.0/external/packmol/src/tobar.f90 +0 -42
  61. molify-0.2.0/external/packmol/src/usegencan.f90 +0 -18
  62. molify-0.2.0/external/packmol/src/writesuccess.f90 +0 -49
  63. molify-0.2.0/external/packmol/testing/Project.toml +0 -3
  64. molify-0.2.0/external/packmol/testing/input_files/benzene2.inp +0 -12
  65. molify-0.2.0/external/packmol/testing/input_files/bilayer.inp +0 -40
  66. molify-0.2.0/external/packmol/testing/input_files/bilayer_pbc.inp +0 -39
  67. molify-0.2.0/external/packmol/testing/input_files/ieee_signaling.inp +0 -23
  68. molify-0.2.0/external/packmol/testing/input_files/mixture.inp +0 -18
  69. molify-0.2.0/external/packmol/testing/input_files/mixture_pbc.inp +0 -21
  70. molify-0.2.0/external/packmol/testing/input_files/only_one_fixed.inp +0 -10
  71. molify-0.2.0/external/packmol/testing/input_files/protein_outside_pbc_error.inp +0 -20
  72. molify-0.2.0/external/packmol/testing/input_files/solvprotein.inp +0 -34
  73. molify-0.2.0/external/packmol/testing/input_files/solvprotein_pbc.inp +0 -21
  74. molify-0.2.0/external/packmol/testing/input_files/spherical.inp +0 -42
  75. molify-0.2.0/external/packmol/testing/input_files/spherical_pbc.inp +0 -42
  76. molify-0.2.0/external/packmol/testing/input_files/toy_with_fixed.inp +0 -26
  77. molify-0.2.0/external/packmol/testing/input_files/water_box.inp +0 -14
  78. molify-0.2.0/external/packmol/testing/input_files/water_box_failed.inp +0 -16
  79. molify-0.2.0/external/packmol/testing/input_files/water_box_pbc.inp +0 -18
  80. molify-0.2.0/external/packmol/testing/input_files/water_box_pbc2.inp +0 -19
  81. molify-0.2.0/external/packmol/testing/input_files/water_box_pbc_negative_coordinates.inp +0 -16
  82. molify-0.2.0/external/packmol/testing/input_files/water_box_pbc_outside_box.inp +0 -19
  83. molify-0.2.0/external/packmol/testing/input_files/water_box_pbc_slab.inp +0 -17
  84. molify-0.2.0/external/packmol/testing/install_julia.sh +0 -9
  85. molify-0.2.0/external/packmol/testing/output_files/benzene2.pdb +0 -66
  86. molify-0.2.0/external/packmol/testing/runtests.jl +0 -108
  87. molify-0.2.0/external/packmol/testing/structure_files/CLA.pdb +0 -2
  88. molify-0.2.0/external/packmol/testing/structure_files/SOD.pdb +0 -2
  89. molify-0.2.0/external/packmol/testing/structure_files/benzene.pdb +0 -34
  90. molify-0.2.0/external/packmol/testing/structure_files/ieee_signaling.pdb +0 -5
  91. molify-0.2.0/external/packmol/testing/structure_files/ieee_signaling_box.pdb +0 -21848
  92. molify-0.2.0/external/packmol/testing/structure_files/palmitoil.pdb +0 -43
  93. molify-0.2.0/external/packmol/testing/structure_files/protein.pdb +0 -4248
  94. molify-0.2.0/external/packmol/testing/structure_files/spherical.pdb +0 -3006
  95. molify-0.2.0/external/packmol/testing/structure_files/urea.pdb +0 -17
  96. molify-0.2.0/external/packmol/testing/structure_files/water.pdb +0 -10
  97. molify-0.2.0/external/packmol/testing/structure_files/water_box.pdb +0 -18
  98. molify-0.2.0/external/packmol/testing/test.sh +0 -34
  99. molify-0.2.0/external/packmol/testing/test_cli.sh +0 -240
  100. molify-0.2.0/external/packmol/testing/test_connectivity.sh +0 -11
  101. molify-0.2.0/external/packmol/testing/test_failed.sh +0 -26
  102. molify-0.2.0/external/packmol/update_version.sh +0 -41
  103. molify-0.2.0/hatch_build.py +0 -116
  104. molify-0.2.0/molify/binaries/packmol +0 -0
  105. molify-0.2.0/src/molify/packmol.py +0 -102
  106. molify-0.2.0/uv.lock +0 -2093
  107. {molify-0.2.0 → molify-0.2.1}/.github/workflows/pages.yaml +0 -0
  108. {molify-0.2.0 → molify-0.2.1}/.github/workflows/pytest.yaml +0 -0
  109. {molify-0.2.0 → molify-0.2.1}/.gitignore +0 -0
  110. {molify-0.2.0 → molify-0.2.1}/.pre-commit-config.yaml +0 -0
  111. {molify-0.2.0 → molify-0.2.1}/.python-version +0 -0
  112. {molify-0.2.0 → molify-0.2.1}/CONTRIBUTING.md +0 -0
  113. {molify-0.2.0 → molify-0.2.1}/LICENSE +0 -0
  114. {molify-0.2.0 → molify-0.2.1}/README.md +0 -0
  115. {molify-0.2.0 → molify-0.2.1}/docs/Makefile +0 -0
  116. {molify-0.2.0 → molify-0.2.1}/docs/make.bat +0 -0
  117. {molify-0.2.0 → molify-0.2.1}/docs/source/ase_tools.ipynb +0 -0
  118. {molify-0.2.0 → molify-0.2.1}/docs/source/atom_selection.ipynb +0 -0
  119. {molify-0.2.0 → molify-0.2.1}/docs/source/conf.py +0 -0
  120. {molify-0.2.0 → molify-0.2.1}/docs/source/index.rst +0 -0
  121. {molify-0.2.0 → molify-0.2.1}/docs/source/modules.rst +0 -0
  122. {molify-0.2.0 → molify-0.2.1}/docs/source/networkx_tools.ipynb +0 -0
  123. {molify-0.2.0 → molify-0.2.1}/docs/source/packmol_tools.ipynb +0 -0
  124. {molify-0.2.0 → molify-0.2.1}/docs/source/rdkit_tools.ipynb +0 -0
  125. {molify-0.2.0 → molify-0.2.1}/src/molify/__init__.py +0 -0
  126. {molify-0.2.0 → molify-0.2.1}/src/molify/ase2x.py +0 -0
  127. {molify-0.2.0 → molify-0.2.1}/src/molify/bond_order.py +0 -0
  128. {molify-0.2.0 → molify-0.2.1}/src/molify/com.py +0 -0
  129. {molify-0.2.0 → molify-0.2.1}/src/molify/compress.py +0 -0
  130. {molify-0.2.0 → molify-0.2.1}/src/molify/networkx2x.py +0 -0
  131. {molify-0.2.0 → molify-0.2.1}/src/molify/rdkit2x.py +0 -0
  132. {molify-0.2.0 → molify-0.2.1}/src/molify/smiles2x.py +0 -0
  133. {molify-0.2.0 → molify-0.2.1}/src/molify/substructure.py +0 -0
  134. {molify-0.2.0 → molify-0.2.1}/src/molify/utils.py +0 -0
  135. {molify-0.2.0 → molify-0.2.1}/tests/conftest.py +0 -0
  136. {molify-0.2.0 → molify-0.2.1}/tests/data/ec_emc.xyz +0 -0
  137. {molify-0.2.0 → molify-0.2.1}/tests/integration/test_ase2x.py +0 -0
  138. {molify-0.2.0 → molify-0.2.1}/tests/integration/test_networkx2x.py +0 -0
  139. {molify-0.2.0 → molify-0.2.1}/tests/integration/test_rdkit2x.py +0 -0
  140. {molify-0.2.0 → molify-0.2.1}/tests/test_com.py +0 -0
  141. {molify-0.2.0 → molify-0.2.1}/tests/test_compress.py +0 -0
  142. {molify-0.2.0 → molify-0.2.1}/tests/test_connectivity.py +0 -0
  143. {molify-0.2.0 → molify-0.2.1}/tests/test_edgecases.py +0 -0
  144. {molify-0.2.0 → molify-0.2.1}/tests/test_examples.py +0 -0
  145. {molify-0.2.0 → molify-0.2.1}/tests/test_rdkit2ase.py +0 -0
  146. {molify-0.2.0 → molify-0.2.1}/tests/test_smiles2conformers.py +0 -0
  147. {molify-0.2.0 → molify-0.2.1}/tests/test_solvate.py +0 -0
  148. {molify-0.2.0 → molify-0.2.1}/tests/test_substructure.py +0 -0
  149. {molify-0.2.0 → molify-0.2.1}/tests/test_utils.py +0 -0
@@ -0,0 +1,25 @@
1
+ name: Build and upload to PyPI
2
+
3
+ on:
4
+ workflow_dispatch:
5
+ release:
6
+ types:
7
+ - published
8
+ jobs:
9
+ pypi-publish:
10
+ name: Upload release to PyPI
11
+ runs-on: ubuntu-latest
12
+ environment:
13
+ name: pypi
14
+ url: https://pypi.org/p/molify
15
+ permissions:
16
+ id-token: write
17
+ steps:
18
+ - uses: actions/checkout@v5
19
+ - name: Install uv
20
+ uses: astral-sh/setup-uv@v5
21
+ - name: Build
22
+ run: |
23
+ uv build
24
+ - name: Publish package distributions to PyPI
25
+ uses: pypa/gh-action-pypi-publish@release/v1
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: molify
3
- Version: 0.2.0
3
+ Version: 0.2.1
4
4
  Summary: Molecular Structure Interface with RDKit, ASE, Packmol and NetworkX
5
5
  Project-URL: Repository, https://github.com/zincware/molify
6
6
  Project-URL: Releases, https://github.com/zincware/molify/releases
@@ -13,6 +13,7 @@ Requires-Python: >=3.10
13
13
  Requires-Dist: ase>=3.25.0
14
14
  Requires-Dist: matplotlib>=3.10.1
15
15
  Requires-Dist: networkx>=3.4.2
16
+ Requires-Dist: packmol>=21.1.2
16
17
  Requires-Dist: rdkit>=2024
17
18
  Provides-Extra: vesin
18
19
  Requires-Dist: vesin>=0.3.7; extra == 'vesin'
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "molify"
3
- version = "0.2.0"
3
+ version = "0.2.1"
4
4
  description = "Molecular Structure Interface with RDKit, ASE, Packmol and NetworkX"
5
5
  readme = "README.md"
6
6
  license = "Apache-2.0"
@@ -12,6 +12,7 @@ dependencies = [
12
12
  "ase>=3.25.0",
13
13
  "matplotlib>=3.10.1",
14
14
  "networkx>=3.4.2",
15
+ "packmol>=21.1.2",
15
16
  "rdkit>=2024",
16
17
  ]
17
18
 
@@ -37,9 +38,6 @@ vesin = [
37
38
  "vesin>=0.3.7",
38
39
  ]
39
40
 
40
- [project.scripts]
41
- packmol = "molify.packmol:packmol_cli"
42
-
43
41
  [project.urls]
44
42
  Repository = "https://github.com/zincware/molify"
45
43
  Releases = "https://github.com/zincware/molify/releases"
@@ -57,11 +55,5 @@ extend-ignore = [
57
55
  requires = ["hatchling"]
58
56
  build-backend = "hatchling.build"
59
57
 
60
- [tool.hatch.build.hooks.custom]
61
- path = "hatch_build.py"
62
-
63
- [tool.hatch.build.targets.wheel]
64
- packages = ["src/molify"]
65
-
66
58
  [tool.codespell]
67
59
  skip = "*.ipynb"
@@ -9,7 +9,6 @@ import numpy as np
9
9
  from ase.io.proteindatabank import write_proteindatabank
10
10
  from rdkit import Chem
11
11
 
12
- from molify.packmol import get_packmol_binary
13
12
  from molify.utils import calculate_box_dimensions
14
13
 
15
14
  log = logging.getLogger(__name__)
@@ -147,7 +146,7 @@ def pack(
147
146
  seed: int = 42,
148
147
  tolerance: float = 2,
149
148
  verbose: bool = False,
150
- packmol: str | None = None,
149
+ packmol: str = "packmol",
151
150
  pbc: bool = True,
152
151
  output_format: FORMAT = "pdb",
153
152
  ratio: tuple[float, float, float] = (1.0, 1.0, 1.0),
@@ -169,11 +168,8 @@ def pack(
169
168
  The tolerance for the packing algorithm, by default 2.
170
169
  verbose : bool, optional
171
170
  If True, enables logging of the packing process, by default False.
172
- packmol : str or None, optional
173
- The path to the packmol executable. If None (default), uses the bundled
174
- packmol binary shipped with molify. You can provide a custom path to
175
- use a different packmol installation (e.g., "packmol" to use system
176
- PATH, or "/path/to/custom/packmol").
171
+ packmol : str, optional
172
+ The path to the packmol executable.
177
173
  pbc : bool, optional
178
174
  Ensure tolerance across periodic boundaries, by default True.
179
175
  output_format : str, optional
@@ -199,10 +195,6 @@ def pack(
199
195
  >>> print(packed_system)
200
196
  Atoms(symbols='C10H44O12', pbc=True, cell=[8.4, 8.4, 8.4])
201
197
  """
202
- # Use bundled packmol binary if not specified
203
- if packmol is None:
204
- packmol = str(get_packmol_binary())
205
-
206
198
  selected_images = _select_conformers(data, counts, seed)
207
199
  cell = calculate_box_dimensions(images=selected_images, density=density)
208
200