@@ -127,16 +127,16 @@ Google Colaboratory], community-maintained libraries for data manipulation
127127visualization [ e.g., ` Matplotlib ` , @Hunt07 ; ` seaborn ` , @Wask21 ] , and myriad
128128other tools.
129129
130- However, one impediment to sharing and reproducing computational work
131- implemented in Python is that different versions of a given package or library
132- can behave differently, use different syntax, add or drop support for specific
133- functions or other libraries, address (or introduce) bugs, and so on. While
134- these challenges are present to some extent in any language or ecosystem, they
135- have a particular impact on the Python community due to its unusually rapid
136- growth relative to other languages. Ensuring stable and reproducible results
137- across users typically requires ensuring that shared code is always run with the
138- same set of versions for each package used. One common approach to solving this
139- problem is to create containerized or virtualized environments (e.g., using
130+ One impediment to sharing and reproducing computational work implemented in
131+ Python is that different versions of a given package or library can behave
132+ differently, use different syntax, add or drop support for specific functions or
133+ other libraries, address (or introduce) bugs, and so on. While these challenges
134+ are present to some extent in any language or ecosystem, they have a particular
135+ impact on the Python community due to its unusually rapid growth relative to
136+ other languages. Ensuring stable and reproducible results across users typically
137+ requires ensuring that shared code is always run with the same set of versions
138+ for each package used. One common approach to solving this problem is to create
139+ containerized or virtualized environments (e.g., using
140140[ Docker] ( https://www.docker.com/ ) ,
141141[ Singularity] ( https://sylabs.io/singularity/ ) , or
142142[ conda] ( https://docs.conda.io/en/latest/ ) ) that house fully isolated Python
@@ -171,7 +171,7 @@ are satisfied after they are initially installed. Most dependency specification
171171schemes follow a common strategy: required packages and package versions are
172172listed in a configuration file (e.g., a ` requirements.txt ` , ` pyproject.toml ` ,
173173` environment.yml ` , ` Pipfile ` , ` RUN ` instructions in a ` Dockerfile ` , etc.) which
174- is used to install them in a Python environment upfront . After this initial
174+ is used to install them in a Python environment up front . After this initial
175175setup, however, this method generally does not ensure that the specified
176176requirements * remain* installed, allowing them to be easily
177177altered&mdash ; sometimes inadvertently. This can lead to subtle issues when
0 commit comments