====================
SEAMM Loop Plug-in
====================
.. image:: https://img.shields.io/github/issues-pr-raw/molssi-seamm/loop_step
:target: https://github.com/molssi-seamm/loop_step/pulls
:alt: GitHub pull requests
.. image:: https://github.com/molssi-seamm/loop_step/workflows/CI/badge.svg
:target: https://github.com/molssi-seamm/loop_step/actions
:alt: Build Status
.. image:: https://codecov.io/gh/molssi-seamm/loop_step/branch/master/graph/badge.svg
:target: https://codecov.io/gh/molssi-seamm/loop_step
:alt: Code Coverage
.. image:: https://github.com/molssi-seamm/loop_step/workflows/CodeQL/badge.svg
:target: https://github.com/molssi-seamm/loop_step/security/code-scanning
:alt: Code Quality
.. image:: https://github.com/molssi-seamm/loop_step/workflows/Release/badge.svg
:target: https://molssi-seamm.github.io/loop_step/index.html
:alt: Documentation Status
.. image:: https://img.shields.io/pypi/v/loop_step.svg
:target: https://pypi.python.org/pypi/loop_step
:alt: PyPi VERSION
A SEAMM plug-in which provides loops in flowcharts.
This plug-in provides looping control structures for flowcharts, like
a `for loop` in a programming language.
* Free software: BSD license
* Documentation: https://molssi-seamm.github.io/loop_step/index.html
* Code: https://github.com/molssi-seamm/loop_step
Features
--------
* Simple `for i = # to # by #` loops
* `Foreach` loop over elements in a list
* `For row` loop over rows in a table (see the `table plug-in`_)
.. _`table plug-in`: https://molssi-seamm.github.io/table_step/index.html
Acknowledgements
----------------
This package was created with Cookiecutter_ and the `molssi-seamm/cookiecutter-seamm-plugin`_ project template.
.. _Cookiecutter: https://github.com/audreyr/cookiecutter
.. _`molssi-seamm/cookiecutter-seamm-plugin`: https://github.com/molssi-seamm/cookiecutter-seamm-plugin
Developed by the Molecular Sciences Software Institute (MolSSI_),
which receives funding from the `National Science Foundation`_ under
award OAC-1547580 and CHE-2136142.
.. _MolSSI: https://www.molssi.org
.. _`National Science Foundation`: https://www.nsf.gov
=======
History
=======
2024.11.14: Enhancement: loop control
* Added methods in the loop_step module to break from a loop, break_loop(), continue
a loop, continue_loop(), and totallly skip an iteration, removing any files
assocatied with it, skip_iteration.
2024.10.15: Bugfix: incorrectly wrapping text description of substeps
* When printing the description of the substeps in the loop, the code incorrectly
wrapped the text, which caused issues with e.g. tables.
2024.8.23 -- Enhancement to 'For' loops
* For integer loops, ensure that the loop variable is an integer and
make the directory name be value of the loop variable to make it easier
to find the iteration of interest.
2024.8.21 -- Bugfix: Error selecting systems by name
* There was a bug selecting system by name in the For Systems in Database branch.
2024.8.16 -- Improved handling for For Systems in Database
* Added ability to get all configurations for each system, as well as using matching
or regexps for the names of configurations to select.
2024.7.30 -- Further improving naming of loop subdirectories
* For loops now use the value of loop index as the subdirectory
* Improved handling of lists for ForEach loops so blank-delimited lists work
properly. Quotes can be used for values with embedded blanks, much like the Linux
commandline.
2024.7.28 -- Improved naming of loop subdirectories
* The subdirectories now start at 1, not 0, to make counting more normal
* When looping over systems, now have the option to name the directories
after the system or configuration name, not the iteration number.
2023.11.9 -- Bugfix: "For" loops could crash
* For loops could crash writing to write final_structure.mmcif before the directory
had been made.
2023.10.30 -- Improved consistency of printing loop information
2023.4.24 -- Better support for rerunning/restarting jobs
* Remove 'iteration.out' if it already exists.
2023.2.15 -- Starting to add loops over structures in the database
* Reorganized the documentation and changed to the standard MolSSI theme.
2022.1.16 -- Improved error handling
* Wrote the traceback for any errors caught to item_nnn/stderr.out to aid debugging.
2021.12.21 -- Cleaned up the printing
2021.12.12 -- Error handling and querying for loops over tables
* Errors in the body of the loop are caught and can be ignored or handled in different
ways at the direction of the user.
* When looping over rows in a table, a query can be used to select the rows to operate
on.
2021.10.13 -- updated to Python 3.8 and 3.9
2021.6.3 -- updated for internal changes in argument parsing
2021.2.11 (11 February 2021)
----------------------------
* Updated the README file to give a better description.
* Updated the short description in setup.py to work with the new installer.
* Added keywords for better searchability.
2021.2.4 (4 February 2021)
--------------------------
* Updated for compatibility with the new system classes in MolSystem
2021.2.2 release.
2020.12.4 (4 December 2020)
---------------------------
* Internal: switching CI from TravisCI to GitHub Actions, and in the
process moving documentation from ReadTheDocs to GitHub Pages where
it is consolidated with the main SEAMM documentation.
2020.11.2 (2 November 2020)
---------------------------
* Updated to be compatible with the new command-line argument
handling.
2020.10.1 (1 October 2020)
--------------------------
* Bugfix: fixed a blocking bug in handling of periodic system.
2020.9.25.1 (25 September 2020)
-------------------------------
* Internal: added a missed installation requirement.
2020.9.25 (25 September 2020)
-----------------------------
* Updated to be compatible with the new system classes in MolSystem.
2020.8.3 (3 August 2020)
------------------------
* Bugfix: corrected problem that caused nested loops to fail
sometimes.
2020.7.0 (23 July 2020)
-----------------------
* Write the structure out at the end of each iteration so that it can
be viewed in the dashboard.
0.9 (15 April 2020)
-------------------
* Support for plots in the dashboard.
0.7.0 (17 December 2019)
------------------------
* General clean-up of code and output.
0.6 (8 September 2019)
----------------------
* Cleaned up description.
* Internal: preparing for using PyUp to check dependencies.
0.2.0 (2019-07-29)
------------------
* First release on PyPI.
0.1.0 (2019-01-13)
------------------
* First version created in GitHub.
Raw data
{
"_id": null,
"home_page": "https://github.com/molssi-seamm/loop_step",
"name": "loop-step",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": "SEAMM, plug-in, flowchart, control, loops",
"author": "Paul Saxe",
"author_email": "psaxe@molssi.org",
"download_url": "https://files.pythonhosted.org/packages/ae/a4/e5248c00ba41f7cd02cfeba04d3ecb36b04abc840ad9f8f1368161e876fb/loop_step-2024.11.14.tar.gz",
"platform": "Linux",
"description": "====================\nSEAMM Loop Plug-in\n====================\n\n.. image:: https://img.shields.io/github/issues-pr-raw/molssi-seamm/loop_step\n :target: https://github.com/molssi-seamm/loop_step/pulls\n :alt: GitHub pull requests\n\n.. image:: https://github.com/molssi-seamm/loop_step/workflows/CI/badge.svg\n :target: https://github.com/molssi-seamm/loop_step/actions\n :alt: Build Status\n\n.. image:: https://codecov.io/gh/molssi-seamm/loop_step/branch/master/graph/badge.svg\n :target: https://codecov.io/gh/molssi-seamm/loop_step\n :alt: Code Coverage\n\n.. image:: https://github.com/molssi-seamm/loop_step/workflows/CodeQL/badge.svg\n :target: https://github.com/molssi-seamm/loop_step/security/code-scanning\n :alt: Code Quality\n\n.. image:: https://github.com/molssi-seamm/loop_step/workflows/Release/badge.svg\n :target: https://molssi-seamm.github.io/loop_step/index.html\n :alt: Documentation Status\n\n.. image:: https://img.shields.io/pypi/v/loop_step.svg\n :target: https://pypi.python.org/pypi/loop_step\n :alt: PyPi VERSION\n\nA SEAMM plug-in which provides loops in flowcharts.\n\nThis plug-in provides looping control structures for flowcharts, like\na `for loop` in a programming language.\n\n* Free software: BSD license\n* Documentation: https://molssi-seamm.github.io/loop_step/index.html\n* Code: https://github.com/molssi-seamm/loop_step\n\nFeatures\n--------\n\n* Simple `for i = # to # by #` loops\n* `Foreach` loop over elements in a list\n* `For row` loop over rows in a table (see the `table plug-in`_)\n\n.. _`table plug-in`: https://molssi-seamm.github.io/table_step/index.html\n\nAcknowledgements\n----------------\n\nThis package was created with Cookiecutter_ and the `molssi-seamm/cookiecutter-seamm-plugin`_ project template.\n\n.. _Cookiecutter: https://github.com/audreyr/cookiecutter\n.. _`molssi-seamm/cookiecutter-seamm-plugin`: https://github.com/molssi-seamm/cookiecutter-seamm-plugin\n\nDeveloped by the Molecular Sciences Software Institute (MolSSI_),\nwhich receives funding from the `National Science Foundation`_ under\naward OAC-1547580 and CHE-2136142.\n\n.. _MolSSI: https://www.molssi.org\n.. _`National Science Foundation`: https://www.nsf.gov\n\n\n=======\nHistory\n=======\n2024.11.14: Enhancement: loop control\n * Added methods in the loop_step module to break from a loop, break_loop(), continue\n a loop, continue_loop(), and totallly skip an iteration, removing any files\n assocatied with it, skip_iteration.\n \n2024.10.15: Bugfix: incorrectly wrapping text description of substeps\n * When printing the description of the substeps in the loop, the code incorrectly\n wrapped the text, which caused issues with e.g. tables.\n \n2024.8.23 -- Enhancement to 'For' loops\n * For integer loops, ensure that the loop variable is an integer and\n make the directory name be value of the loop variable to make it easier\n to find the iteration of interest.\n\n2024.8.21 -- Bugfix: Error selecting systems by name\n * There was a bug selecting system by name in the For Systems in Database branch.\n \n2024.8.16 -- Improved handling for For Systems in Database\n * Added ability to get all configurations for each system, as well as using matching\n or regexps for the names of configurations to select.\n \n2024.7.30 -- Further improving naming of loop subdirectories\n * For loops now use the value of loop index as the subdirectory\n * Improved handling of lists for ForEach loops so blank-delimited lists work\n properly. Quotes can be used for values with embedded blanks, much like the Linux\n commandline.\n \n2024.7.28 -- Improved naming of loop subdirectories\n * The subdirectories now start at 1, not 0, to make counting more normal\n * When looping over systems, now have the option to name the directories\n after the system or configuration name, not the iteration number.\n \n2023.11.9 -- Bugfix: \"For\" loops could crash\n * For loops could crash writing to write final_structure.mmcif before the directory\n had been made.\n \n2023.10.30 -- Improved consistency of printing loop information\n\n2023.4.24 -- Better support for rerunning/restarting jobs\n * Remove 'iteration.out' if it already exists.\n \n2023.2.15 -- Starting to add loops over structures in the database\n\n* Reorganized the documentation and changed to the standard MolSSI theme.\n\n2022.1.16 -- Improved error handling\n\n* Wrote the traceback for any errors caught to item_nnn/stderr.out to aid debugging.\n\n2021.12.21 -- Cleaned up the printing\n\n2021.12.12 -- Error handling and querying for loops over tables\n\n* Errors in the body of the loop are caught and can be ignored or handled in different\n ways at the direction of the user.\n* When looping over rows in a table, a query can be used to select the rows to operate\n on.\n\n2021.10.13 -- updated to Python 3.8 and 3.9\n\n2021.6.3 -- updated for internal changes in argument parsing\n\n2021.2.11 (11 February 2021)\n----------------------------\n\n* Updated the README file to give a better description.\n* Updated the short description in setup.py to work with the new installer.\n* Added keywords for better searchability.\n\n2021.2.4 (4 February 2021)\n--------------------------\n\n* Updated for compatibility with the new system classes in MolSystem\n 2021.2.2 release.\n\n2020.12.4 (4 December 2020)\n---------------------------\n\n* Internal: switching CI from TravisCI to GitHub Actions, and in the\n process moving documentation from ReadTheDocs to GitHub Pages where\n it is consolidated with the main SEAMM documentation.\n\n2020.11.2 (2 November 2020)\n---------------------------\n\n* Updated to be compatible with the new command-line argument\n handling.\n\n2020.10.1 (1 October 2020)\n--------------------------\n\n* Bugfix: fixed a blocking bug in handling of periodic system.\n\n2020.9.25.1 (25 September 2020)\n-------------------------------\n\n* Internal: added a missed installation requirement.\n\n2020.9.25 (25 September 2020)\n-----------------------------\n\n* Updated to be compatible with the new system classes in MolSystem.\n\n2020.8.3 (3 August 2020)\n------------------------\n\n* Bugfix: corrected problem that caused nested loops to fail\n sometimes.\n\n2020.7.0 (23 July 2020)\n-----------------------\n\n* Write the structure out at the end of each iteration so that it can\n be viewed in the dashboard.\n\n0.9 (15 April 2020)\n-------------------\n\n* Support for plots in the dashboard.\n\n0.7.0 (17 December 2019)\n------------------------\n\n* General clean-up of code and output.\n\n0.6 (8 September 2019)\n----------------------\n\n* Cleaned up description.\n* Internal: preparing for using PyUp to check dependencies.\n \n0.2.0 (2019-07-29)\n------------------\n\n* First release on PyPI.\n\n0.1.0 (2019-01-13)\n------------------\n\n* First version created in GitHub.\n",
"bugtrack_url": null,
"license": "BSD-3-Clause",
"summary": "A SEAMM plug-in which provides loops in flowcharts.",
"version": "2024.11.14",
"project_urls": {
"Homepage": "https://github.com/molssi-seamm/loop_step"
},
"split_keywords": [
"seamm",
" plug-in",
" flowchart",
" control",
" loops"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "2a092d3681281bb5853fa696737dc91a860817f8afc2cfd1e5eb56f6867ab042",
"md5": "ef606a80dcb92036e4bd342fdbe726f5",
"sha256": "a33d68894f32542461b3827465a3ca016148a348638ff5203e075665a392ad95"
},
"downloads": -1,
"filename": "loop_step-2024.11.14-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "ef606a80dcb92036e4bd342fdbe726f5",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 17635,
"upload_time": "2024-11-14T18:46:01",
"upload_time_iso_8601": "2024-11-14T18:46:01.150926Z",
"url": "https://files.pythonhosted.org/packages/2a/09/2d3681281bb5853fa696737dc91a860817f8afc2cfd1e5eb56f6867ab042/loop_step-2024.11.14-py2.py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "aea4e5248c00ba41f7cd02cfeba04d3ecb36b04abc840ad9f8f1368161e876fb",
"md5": "d93a20737484af45a49f716ccf7242de",
"sha256": "2ceaa8800421132c87515f0dfdf9d2f212b874c3a79c56f4cab4b8afbfed1537"
},
"downloads": -1,
"filename": "loop_step-2024.11.14.tar.gz",
"has_sig": false,
"md5_digest": "d93a20737484af45a49f716ccf7242de",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 289147,
"upload_time": "2024-11-14T18:46:02",
"upload_time_iso_8601": "2024-11-14T18:46:02.837723Z",
"url": "https://files.pythonhosted.org/packages/ae/a4/e5248c00ba41f7cd02cfeba04d3ecb36b04abc840ad9f8f1368161e876fb/loop_step-2024.11.14.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-11-14 18:46:02",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "molssi-seamm",
"github_project": "loop_step",
"travis_ci": false,
"coveralls": true,
"github_actions": true,
"requirements": [
{
"name": "psutil",
"specs": []
},
{
"name": "seamm",
"specs": []
}
],
"lcname": "loop-step"
}