-
Notifications
You must be signed in to change notification settings - Fork 13
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merge development to master for 0.0.7 release finalization. #227
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Also make sure development version has `gmx.version.release = False` and note in RELEASE.txt
Miscellaneous updates to infrastructure. ## Import gmxapi target at more outer scope. Assume C++ code dependent on gmxapi target could exist in the `src` directory outside of `core`. ## Add some exception classes `src/gmx/core/exceptions.h` uses `gmxapicomat` namespace to remind us that these exceptions ought to be coming from code ported to the GROMACS `gmxapi` target and mapped to `gmxpy` Python exceptions, where appropriate (e.g. KeyError, TypeError, ValueError) ## Don't bind `gmx.core.MDArgs` to `std::vector<std::string>` Turn gmxpy::MDArgs from a type alias into a named type. Avoids binding all std::vector<std::string> to class gmx.core.MDArgs ## Update to C++14. Update CMake config and Travis-CI config for C++14 standard, gcc 6. Use std::make_unique. ## Remove unused bindings exporter. `export_session()`` was declared, but undefined and unused.
Remove legacy test. Catch deprecation warning from outdated networkx.
gmx.context.DefaultContext will have to go away very soon. I want to raise as many alarm bells as possible and not worry about breaking it. Note, already officially deprecated (use get_context).
Clean up test_pymd.py
Issue deprecation warning for DefaultContext.
* Remove unused bindings export declaration. * Add some header includes. * Remove some noisy stdio output.
Remove deprecated exceptions.
Create export_tprfile
* Add initial GmxMdParams stuff * Export basic bindings for "TprFile" -> TprFileHandle and "read_tprfile" -> &readTprFile
* Separate GmxMdParams into public and implementation classes. * Produce a GmxMdParams in a TprFile member function. * Get a list of keys from a gmx.core.TprFile.params()
Use some additional helpers to map C++ types to GROMACS types. As a design decision (at least for the moment), allow that all API input will be converted to a reduced set of types (e.g. float64 and int64), with precision reduced if needed based on the TPR file implementation. In a future change, we could check that the provided values will fit in the actual type when setting. Note that the basic Python API has a single integer type and a single floating point type.
Produce a Python dictionary with appropriate value types.
The current GmxMdParamsImpl class is specialized for TPR-based parameter sources. Remove dependency of TprFile on GmxMdParamsImpl and allow GmxMdParamsImpl to be dependent on TprFile. Reimplement getMdParams in terms of new GmxMdParamsImpl constructor.
Fixes kassonlab#192 Add gmx.fileio.read_tpr() to get an object providing simulation run input data from a TPR file. In this change, the interface to TprFile contents is not firm or well-documented, but the functionality is sufficient to allow proper inspection of the effects of the `end_time` parameter provided through the gmx.core.copy_tpr function (also not part of the public interface yet).
Allow setting of parameters in SimulationParameters objects. Allow SimulationParameters objects to be used as input for gmx.core.write_tpr()
Basic TPR reader
Fixes kassonlab#86 gmx.fileio.read_tpr() and gmx.fileio.write_tpr_file() work as standalone tools to read, manipulate, and rewrite a TPR file. We defer several enhancements to other issues, including: * use in work graphs (see kassonlab#85) * integration with checkpoint data (see kassonlab#71) * several missing parameters that should be added to tprfile.cpp (kassonlab#192) See kassonlab#187 for more discussion.
Rewrite TPR file with updated parameters (standalone operation)
Minor layout updates in reference.rst.
Add a SOURCE_URL build-arg to Dockerfile.
Exclude `venv` directory (created in the project directory by default by CLion), and `.python-version` (used by `pyenv` to set a working-directory scoped default Python installation).
Disable testing against GROMACS 2019: gmxapi 0.0.8 development does not currently prioritize GROMACS 2019 compatibility. Install newer CMake in CI builds: The version of cmake available in Travis-CI Ubuntu 14 containers is too old to satisfy newer GROMACS requirements.
Change URL in setup.py to point to the devel branch of gromacs-gmxapi.
CMake argument `-DGMXAPI=ON` was used for all cmake invocations in setup.py, but should only apply to optional private GROMACS builds (e.g. readthedocs.org)
Update host environment in .travis.yml Fixes kassonlab#222
* Require WorkElement.name to be str type. * Use str in WorkElement.depends * Consistently use native str for keys in dict of WorkElement.
If a tuple or list of dependencies is added to a work element, map the context_rank to the list item when setting up the graph builders in Context.__enter__ Fixes kassonlab#221
Fix broken link for devel branch build
Tie gmxapi 0.0.7 to GROMACS 2019
jmhays
approved these changes
Jul 1, 2019
peterkasson
approved these changes
Jul 1, 2019
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, thanks.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Accept initial 0.0.8 development as a tweak revision to the 0.0.7 branch (0.0.7.2). Development external to the GROMACS repository will be collected as a (hopefully) final tweak to the 0.0.7 release branch, which will be tied to GROMACS 2019 from now on.
devel
is being merged tomaster
, then torelease-0_0_7
with a new tag.It is worth noting that we changed the C++ stdlib requirement from 11 to 14 for std::make_unique. That's a bigger change than I would normally want without a more substantial version number increase, but I don't really think it is worth reverting at this point.
Candidate final 0.0.7 documentation is here
Refs #188