To upload code to Code Ocean, you first create a compute capsule for the code to "live in". The compute capsule will contain not only the code, but everything else that the code needs in order to run, namely (1) any data, and (2) a specification of the computational environment – the specific versions of the operating system, packages, libraries, and any other artifacts your code depends on.

The compute capsule is the key to enabling computational reproducibility on Code Ocean. It allows us to guarantee that your published analysis or algorithm implementation will run the same way, and reproduce your results, regardless of who runs it or when – today, tomorrow, or next year.

For the technically-inclined, at the core of the compute capsule is a Docker image (and Dockerfile), with all necessary infrastructural layers built-in, and a set of constraints enforced to facilitate computational reproducibility. For details on accessing this Dockerfile, see Exporting capsules and reproducing results on your local machine.

Did this answer your question?