ImperialCollegeLondon / ImperialCollegeLondon/RCDS-profiling-and-optimisation-in-python

Include requirements.txt file

Open
#1 2 comments 0 reactions 0 assignees View on GitHub
Dominant language
Jupyter Notebook
Stars
38
Forks
12
PR merge metrics
No merged PRs in 30d

Description

Dear team,

I appreciate you providing the course materials for users who do not want to rely on Google.
However, in lack of a `requirements.txt` file, reconstructing the necessary Python environment to run the notebooks is taking some time. Whilst you do specify some of the packages required the list is not complete. Moreover, some packages are being installed repeatedly inside code blocks in the Jupyter notebook, instead of being installed in the environment, i.e. the same `pip install` command is repeated many times in the same notebook. This is not recommended in lack of a virtual environment, but the instructions you provide do not stress the importance of using one, or offer alternatives to Anaconda. Providing a `requirements.txt` is the simplest and most agnostic way to support people in running this code locally inside a Python environment.
I have done this in preparation of attending the course, so below is the content of the `requirements.txt` file I used

```
graphviz
jupyterlab
jupyter_contrib_nbextensions
line_profiler
numba
pycallgraph2
pympler
```

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reviewing the Jupyter notebooks and the package list in the issue, checking where pip install commands are repeated. Add a requirements.txt containing the needed packages, then update the environment guidance if the scope includes virtual environments or Anaconda alternatives. Done means users can install the listed dependencies from one file.

Written by the indexing model from the issue text.

Assessment

Tech stack
jupyter-notebook, python
Domain
developer-experience, documentation
Issue type
Feature
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
52/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.