Skip to content

Commit 56708c6

Browse files
authored
specification info page (#662)
specification info page
2 parents df89849 + f86a06d commit 56708c6

File tree

3 files changed

+35
-1
lines changed

3 files changed

+35
-1
lines changed

docs/source/index.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ Please report `Bugs <https://github.com/jupyter/repo2docker/issues>`_,
4242
:caption: Complete list of configuration files
4343

4444
config_files
45+
specification
4546

4647
.. toctree::
4748
:maxdepth: 2

docs/source/specification.rst

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
.. _specification:
2+
3+
====================================================
4+
The Reproducible Execution Environment Specification
5+
====================================================
6+
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).
11+
12+
The goal of the REES is to automate and encourage existing community best practices
13+
for reproducible computational environments. This includes installing pacakges using
14+
community-standard specification files and their corresponding tools,
15+
such as ``requirements.txt`` (with ``pip``), ``REQUIRE`` (with Julia), or
16+
``apt.txt`` (with ``apt``). While repo2docker automates the
17+
creation of the environment, a human should be able to look at a REES-compliant
18+
repository and reproduce the environment using common, clear steps without
19+
repo2docker software.
20+
21+
Currently, the definition of the REE Specification is the following:
22+
23+
Any directory containing zero or more files from the :ref:`config-files` list is a
24+
valid reproducible execution environment as defined by the REES. The
25+
configuration files have to all be placed either in the root of the
26+
directory, in a ``binder/`` sub-directory or a ``.binder/`` sub-directory.
27+
28+
For example, the REES recognises ``requirements.txt`` as a valid config file.
29+
The file format is as defined by the ``requirements.txt`` standard of the Python
30+
community. A REES-compliant tool will install a Python interpreter (of unspecified version)
31+
and perform the equivalent action of ``pip install -r requirements.txt`` so that the
32+
user can afterwards run python and use the packages installed.

docs/source/usage.rst

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,8 @@ Using ``repo2docker``
1010
order to run ``repo2docker``. For more information on installing
1111
``repo2docker``, see :ref:`install`.
1212

13-
``repo2docker`` is called with a URL/path to a git repository. It then
13+
``repo2docker`` can build a reproducible computational environment for any repository that
14+
follows :ref:`specification`. repo2docker is called with a URL/path to a repository. It then
1415
performs these steps:
1516

1617
1. Inspects the repository for :ref:`configuration files <config-files>`. These will be used to build

0 commit comments

Comments
 (0)