Skip to content
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
merged 45 commits into from
Jul 2, 2019

Conversation

eirrgang
Copy link
Collaborator

@eirrgang eirrgang commented Jul 1, 2019

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 to master, then to release-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

eirrgang and others added 30 commits November 15, 2018 19:27
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).
Issue deprecation warning for DefaultContext.
* Remove unused bindings export declaration.
* Add some header includes.
* Remove some noisy stdio output.
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()
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).
eirrgang and others added 15 commits January 17, 2019 21:06
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
Copy link
Collaborator

@peterkasson peterkasson left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thanks.

@eirrgang eirrgang merged commit d237d88 into kassonlab:master Jul 2, 2019
@eirrgang eirrgang deleted the devel branch July 2, 2019 07:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants