Longbow

Latest version: v1.5.3

Safety actively analyzes 714772 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 3

2.6

2. Unit testing added to repository and increased to 100% code coverage.
Badges have also been implemented so users can monitor success rate.
Codecoverage is picked up from travis and compiled at
https://coveralls.io/github/HECBioSim/Longbow.

3. Automated running of code quality checks is now triggered via github
pushes and is done at https://landscape.io/github/HECBioSim/Longbow

The actual changes to the code are:

1. Added in some extra commonly found naming for GROMACS executables
(gmx_mpi and gmx_mpi_d).

2. Bugs detected in shellwrappers.py during unit test writing have now
been fixed.

3. Fixed formatting issue with logging in staging.py -
stage_downstream()

4. Removed import statements for relative imports, this eliminated the
need for the try/except imports at the top of each code module.

5. The parameter "frequency" has been split into two parameters
"polling-frequency" and "staging-frequency". This enables the user to
have Longbow poll jobs without staging all the time.

6. The timing mechanism for timing between polling events has now been
changed from a disruptive wait() to a timestamp comparison. This stops
the process being "blocked" by wait() and in future will allow the
addition of other features that can happen on different timelines to
polling.

7. There are now two steps to job completion, instead of marking a job
as finished when it is finished on the remote host and results
downloaded, Longbow will now mark at as finished as it is finished on
the remote host and then once staging has happened it will then be
marked as complete.

8. Fixed glitch in applications.py processjobs() where the wrong
comparitor was used on the if statement to construct the upload include
list

9. Huge refactoring of code to break down larger methods into smaller
easier to test methods. All new methods are private methods (starting
with "_") these should not be used by people making use of Longbow in
their own code, unless they know what they are doing!

10. Moved all code for Longbow entrypoints out of the executable and
into corelibs/entrypoints.py, this allows more options for integration
and also simplifies it somewhat since the library top level can now be
imported from the library (otherwise hooking against the executable or
copying the code into a project was the only way).

11. The plugin framework no longer has a complicated path such as
plugins/apps/gromacs.py, now two directories "apps" and "schedulers" sit
at the same level as corelibs in the library. This removed most of the
complexity in the import system, now it is a very simple and elegant way
to provide plugins for these two categories.

12. Fixed the problem of returning information upon job submission
error, this was a typo in each of the scheduler plugins.

13. Fix for strange job status glitch when jobid appeard in say a
timestamp or some other parameter in the output of qstat etc, this has
been fixed across all schedulers.

14. Fixed spacing problem in some generated job submit files.

15. Modification into the way command-lines are parsed, this is so that
the detection of executables and their commands as well as Longbow
commands is much more robust and can now handle arbitrary executables.

16. Addition of --nochecks command-line flag, this will disable testing
whether the application is available on the remote host. In some
circumstances it is very difficult to get Longbow to recognise an
application is installed. This is aimed at advanced users only.

17. all parameters in the main entry point that were previous passed
into longbow have now all been assimilated into one dictionary
"parameters" this then allowed refactoring all the switch cases for
command-line parameters into a much neater single method.

18. Fix for problem detected during unit test writing for
configurations.py saveconfigs() where if used incorrectly would blow up.

19. Fixed problem in applications.py causing failed run under python 3.2

20. Fix for filenaming glitch when using global files in replicates.

21. Fixed problem where if required files were not found this was
ignored but should have been flagged up.

22. Fixed a number of bad initialisers that would cause filenames to go
missing.

23. legacy code in status method in all schedulers removed.

24. Fixed freezing glitch when all jobs failed to submit.

25. Fixed bad parameter in substitutions.

1.5.3

What's Changed
* Changed default log file name by jimboid in https://github.com/HECBioSim/Longbow/pull/123
* Renamed loggers 121 by jimboid in https://github.com/HECBioSim/Longbow/pull/124
* Added missing documentation by jimboid in https://github.com/HECBioSim/Longbow/pull/126
* fix issue 128 by jimboid in https://github.com/HECBioSim/Longbow/pull/133
* fix issue 131 by jimboid in https://github.com/HECBioSim/Longbow/pull/134
* fix issue 127 by jimboid in https://github.com/HECBioSim/Longbow/pull/135
* Fix for issue 129 by jimboid in https://github.com/HECBioSim/Longbow/pull/132
* Documented SGE and SoGE issue by jimboid in https://github.com/HECBioSim/Longbow/pull/136
* Removed old directory renaming by jimboid in https://github.com/HECBioSim/Longbow/pull/137
* Issue57 by jimboid in https://github.com/HECBioSim/Longbow/pull/138
* added the autodoc API documentation 119. by jimboid in https://github.com/HECBioSim/Longbow/pull/141
* Issue79 by jimboid in https://github.com/HECBioSim/Longbow/pull/140
* update for modern workflows by jimboid in https://github.com/HECBioSim/Longbow/pull/143
* add more python versions by jimboid in https://github.com/HECBioSim/Longbow/pull/144
* add new pypi release by jimboid in https://github.com/HECBioSim/Longbow/pull/145
* coveralls token by jimboid in https://github.com/HECBioSim/Longbow/pull/146
* fix CI not running on main by jimboid in https://github.com/HECBioSim/Longbow/pull/147


**Full Changelog**: https://github.com/HECBioSim/Longbow/compare/v1.5.2...1.5.3

1.5.2

The changes in this release are summarised below:

1. Bug fix - OMP environment variable added to all schedulers to fix a specific
set of user reported issues (issue 114).

2. Bug fix - Further PBS and NAMD SMP issues relating to under subscription,
users had to do a hacky way by dropping the corespernode parameter to under
subscribe which resulted in errors from the scheduler. Now users wishing to
do this should set mpiprocs in their job or host conf files to do this (issue 105).

3. Bug fix - The memory parameter only worked with the PBS scheduler, this has
now been extended to work in all schedulers (issue 98).

4. Bug fix - The --maxtime parameter went missing from the --help output (issue 96).

5. Doc fix - The documentation for the recovery mode was incorrect (issue 102).

6. New feature - An update mode has been added so that users doing
disconnectable sessions can simply run an update to get the current
simulation status and download a snapshot of the data (issue 61).

7. New feature - Move documentation to be under version control, using sphinx
and readthedocs for auto documentation assembly. Documentation can then
become part of the CI cycle and thus be enforced on code contribution (issue 90).

8. Enhancement - users can now explicitly set the filenames of stderr and
stdout from the scheduler script using the parameters "stdout = filename"
and "stderr = filename" in their host of job conf files (issue 108).

9. Enhancement - Users can now make use of existing job scripts, by providing
the name of the script to the parameter "subfile" in their host or job conf
files. This mode is mainly aimed at advanced users that understand the short
falls of doing this and the problems that could occur (issue 77).

10. Enhancement - Users can now set the naming scheme of the replicate
directories. Instead of having to provide directories of the form
rep1, rep2, ...., repx. Users can now set the name of the "rep" part by
setting the "replicate-naming" parameter. So "replicate-naming = foo"
would need directories named foo1, foo2, ...., foox (issue 92).

11. Enhancement - Documentation for the examples have been cleaned up and added
to the new sphinx docs (issue 10).

12. Enhancement - Refactor the exception code in the top level API methods to
remove duplication (issue 44).

13. Removed support for Python versions 2.6, 3.2 and 3.3 due to these versions
being old unsupported versions and various python packages such as
pip/ci-tools withdrawing support. Longbow may still work for these versions
but this is no longer guaranteed (issue 113).

1.5.1

The changes in this release are summarised below:

1. Bug fix - a number of parameters that are only used in specific scheduler or application plugins have been renamed to include the plugin name prefix (issue 54)

2. Bug fix - executables expressed as absolute paths for supported plugins would cause a crash due to searching for a module with that key. (issue 63)

3. Bug fix - wrong error message was displayed when an executable didn't exist on HPC machine (issue 65)

4. Bug fix - fix for crash when using NAMD SMP builds, the commandline parameters beginning with "+" would trigger the crash (issue 66)

5. Bug fix - fixed misleading error messages about missing files and flags (issue 67)

6. Bug fix - fixed problem where the newly added bash autocomplete did not allow filenames on disk to autocomplete (issue 68)

7. Bug fix - fixed a problem when a large number of short jobs that trigger job subqueuing would cause a crash (issue 72)

8. Bug fix - fixed user reported bug with strange looking error messages concealing a further absolute path bug (issue 75)

9. New feature - Added support for the slurm gres flag so users can do something like this "slurm-gres = gpu:1" in their host or job conf files (issue 76)

10. Bug fix - Restored the ability to issue --maxtime on the commandline (issue 78)

11. New feature - support added for the upcoming release of python chemshell (issue 80)

12. Bug fix - fix for problem where parameters in configuration files containing the "=" sign would cause the input file parser to misread them (issue 81)

13. Bug fix - fix for problem with LAMMPS jobs where files provided with "include" or as part of other parameters would not be transferred, thanks to Anders Johansson for suggesting some ideas and solutions (issue 86)

14. The structure of the Longbow API has been simplified, the source files no longer reside in a subdirectory called "core" within the installation directory. This has made importing much simpler and imports shorter

15. Examples have been restructured and the how to run instructions updated. The actual run files remain the same, there are still incompatibilities with these and newer versions of MD codes but this will be addressed in the next version

1.5.0

The changes in this release are summarised below:

1. Change of license from GPLv2 to the BSD 3 clause license. This will resolve
the copy-left issues a number of projects are having (Issue 30).

2. Fix for problem where environment is not properly loaded on some machines,
this is a non-login shell related problem (Issue 4).

3. Removal of capitalisation from around the whole project for convenience
(Issues 26 28 46 47).

4. Longbow will now clean out recovery files upon successful completion of the
session (Issue 24).

5. Bash autocomplete creation added to the setup.py (Issue 23 49).

6. Fix for bad exit from recovery mode when user issues a keyboard interrupt
(ctrl-c) (Issue 25).

7. Fix for monitoring phase causing CPU to be spun up to 100% (Issue 35).

8. Fix for bug when examples are downloaded in app, the original zip archive
is not removed after extraction (Issue 34).

9. Fixed a bug in setup script with the python version check code (Issue 32).

10. Python 3.6 added to supported versions (Issue 33).

11. All public methods in the Longbow API can now be accessed from a single
import, (ie "import longbow" then "longbow.somemethod()") (Issue 27).

1.4.0

This release is a rather large release with a lot of changes to the code
and also to the way things are being done.

This project is moving towards using CI tools more and more, and in this
release and all future releases tools for automated unit testing and
code quality checks will be used. In this release the following changes
have been made in this regard:

1. Travis-CI is now used to automate testing for all versions of python

Page 1 of 3

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.