Skip to content

Commit

Permalink
specification info page (#662)
Browse files Browse the repository at this point in the history
specification info page
  • Loading branch information
betatim authored May 5, 2019
2 parents df89849 + f86a06d commit 56708c6
Show file tree
Hide file tree
Showing 3 changed files with 35 additions and 1 deletion.
1 change: 1 addition & 0 deletions docs/source/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ Please report `Bugs <https://github.com/jupyter/repo2docker/issues>`_,
:caption: Complete list of configuration files

config_files
specification

.. toctree::
:maxdepth: 2
Expand Down
32 changes: 32 additions & 0 deletions docs/source/specification.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
.. _specification:

====================================================
The Reproducible Execution Environment Specification
====================================================

repo2docker scans a repository for particular :ref:`config-files`, such
as ``requirements.txt`` or ``REQUIRE``. The collection of files, their contents,
and the resulting actions that repo2docker takes is known
as the **Reproducible Execution Environment Specification** (or REES).

The goal of the REES is to automate and encourage existing community best practices
for reproducible computational environments. This includes installing pacakges using
community-standard specification files and their corresponding tools,
such as ``requirements.txt`` (with ``pip``), ``REQUIRE`` (with Julia), or
``apt.txt`` (with ``apt``). While repo2docker automates the
creation of the environment, a human should be able to look at a REES-compliant
repository and reproduce the environment using common, clear steps without
repo2docker software.

Currently, the definition of the REE Specification is the following:

Any directory containing zero or more files from the :ref:`config-files` list is a
valid reproducible execution environment as defined by the REES. The
configuration files have to all be placed either in the root of the
directory, in a ``binder/`` sub-directory or a ``.binder/`` sub-directory.

For example, the REES recognises ``requirements.txt`` as a valid config file.
The file format is as defined by the ``requirements.txt`` standard of the Python
community. A REES-compliant tool will install a Python interpreter (of unspecified version)
and perform the equivalent action of ``pip install -r requirements.txt`` so that the
user can afterwards run python and use the packages installed.
3 changes: 2 additions & 1 deletion docs/source/usage.rst
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,8 @@ Using ``repo2docker``
order to run ``repo2docker``. For more information on installing
``repo2docker``, see :ref:`install`.

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

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

0 comments on commit 56708c6

Please sign in to comment.