|
4 | 4 | The Reproducible Execution Environment Specification |
5 | 5 | ==================================================== |
6 | 6 |
|
7 | | -repo2docker scans a repository for particular :ref:`config_files`, such |
8 | | -as ``requirements.txt`` or ``REQUIRE``. The collection of files and their contents |
9 | | -that repo2docker uses is known as the **Reproducible Execution Environment Specification**. |
| 7 | +repo2docker scans a repository for particular :ref:`config-files`, such |
| 8 | +as ``requirements.txt`` or ``REQUIRE``. The collection of files, their contents, |
| 9 | +and the resulting actions that repo2docker takes is known |
| 10 | +as the **Reproducible Execution Environment Specification** (or REES). |
10 | 11 |
|
11 | | -The goal of the REE Specification is to provide a structure that is clearly-defined and that |
12 | | -can be extended to accomodate more components of a reproducible workflow. |
| 12 | +The goal of the REES is to automate and encourage existing community best practices |
| 13 | +for reproducible computational environments. This includes installing |
| 14 | +community-standard specification files such as ``requirements.txt`` or ``REQUIRE`` using |
| 15 | +standard tools such as ``pip`` or ``conda`` or ``apt``. While repo2docker automates the |
| 16 | +creation of the environment, a human should be able to look at a REES-compliant |
| 17 | +repository and reproduce the environment using common, clear steps without |
| 18 | +repo2docker software. |
13 | 19 |
|
14 | 20 | Currently, the definition of the REE Specification is the following: |
15 | 21 |
|
16 | | -> Any collection of files taken from the :ref:`config_files` |
17 | | -> list, placed either in the root of a folder or in a sub-folder called either ``binder/`` or ``.binder/``. |
| 22 | + Any collection of files taken from the :ref:`config-files` |
| 23 | + list, placed either in the root of a folder or in a sub-folder called |
| 24 | + either ``binder/`` or ``.binder/``. |
18 | 25 |
|
19 | | -In the future, the repo2docker team plans to formalize this specification into a pattern |
20 | | -that can also be followed in other ways, such as by creating a JSON or YAML file. |
| 26 | +For example, the REES recognises ``requirements.txt`` as a valid config file. |
| 27 | +The file format is as defined by the ``requirements.txt`` standard of the Python |
| 28 | +community. A REES-compliant tool will install a Python interpreter (of unspecified version) |
| 29 | +and perform the equivalent action of ``pip install -r requirements.txt`` so that the |
| 30 | +user can afterwards run python and use the packages installed. |
0 commit comments