Skip to content

A multi-platform experimentation framework written in python.

License

Notifications You must be signed in to change notification settings

rfbgo/ramble

 
 

Repository files navigation

Ramble is a multi-platform experimentation framework that is capable of driving software installation, acquire input files, configure experiments, and extract results. It works on Linux, macOS, and many supercomputers.

To install ramble and configure your experiment workspace, make sure you have Python. Then:

$ git clone -c feature.manyFiles=true https://github.com/GoogleCloudPlatform/ramble.git
$ cd ramble/bin
$ ./ramble workspace create -d test_workspace -c ../examples/basic_workspace.yaml

Dependencies

Ramble’s python dependencies can be installed using the included requirements.txt file.

e.g.

$ pip -r requirements.txt

Outside of these requirements, ramble requires an existing installation of spack for some application definition. See Spack’s documentation to install Spack.

Documentation

For help with Ramble’s commands, run ramble help or ramble help --all.

Community

Ramble is an open source project. Questions, discussion, and contributions are welcome. Contributions can be anything from new packages to bugfixes, documentation, or even new core features.

Resources:

Contributing

Contributing to Ramble is relatively easy. Just send us a pull request. When you send your request, make develop the destination branch on the Ramble repository.

Your PR must pass Ramble's unit tests and documentation tests, and must be PEP 8 compliant. We enforce these guidelines with our CI process. To run these tests locally, please use the test runners:

  • share/ramble/qa/run-unit-tests
  • share/ramble/qa/run-flake8-tests

For additional requirements about contributing, see our Contribution Guide.

Ramble's develop branch has the latest contributions. Pull requests should target develop, and users who want the latest package versions, features, etc. can use develop.

Releases

Each Ramble release series also has a corresponding branch, e.g. releases/v0.1 has 0.1.x versions of Ramble, and releases/v0.2 has 0.2.x versions. We backport important bug fixes to these branches but we do not advance the application definitions or make other changes that would change the way experiments Ramble would create within a release branch. So, you can base your Ramble deployment on a release branch subsequent updates can be considered non-breaking.

The latest release is always available with the releases/latest tag.

Code of Conduct

Please note that Ramble has a Code of Conduct. By participating in the Ramble community, you agree to abide by its rules.

Authors

Many thanks go to Ramble's contributors.

Ramble was created by Doug Jacobsen, [email protected].

License

This software is distributed under the terms of both the MIT license and the Apache License (Version 2.0).

See LICENSE for details.

SPDX-License-Identifier: (Apache-2.0 OR MIT)

About

A multi-platform experimentation framework written in python.

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 98.2%
  • Shell 1.2%
  • C 0.6%
  • Standard ML 0.0%
  • HTML 0.0%
  • Makefile 0.0%