analysis of experimental data of perturbed treadmill walking (slips, trips)
metabolics_slips_trips
│ README.md
├── src # The core library folder. All project-wide helper and algorithms go here
├── metabolic_slips_trips # contains the loader class and helper files for data analysis and plots
|
├── notebooks #jupyter notebooks that show how to load the data, compute features from the data and analyzse those features
|
├── data # The main data folder. Data is not uploaded, so it should be added here manually!! This is ignored in the `.gitignore` by default.
|
| pyproject.toml # The required python dependencies for the project
| uv.lock # The frozen python dependencies to reproduce exact results
|
This project was created using the mad-cookiecutter ds-base template.
To work with the project, you need to install:
Afterwards run use uv to install poethepoet:
uv tool install poethepoet
Then you can install the project dependencies using:
uv sync
And create a new experiment using:
poe experiment experiment_name
All dependencies are manged using uv.
uv will automatically create a new venv for the project, when you run uv sync.
Check out the documentation on how to add and remove dependencies.
To use jupyter notebooks with the project you need to add a jupyter kernel pointing to the venv of the project. This can be done by running:
poe conf_jupyter
Afterwards a new kernel called metabolics_slips_trips should be available in the jupyter lab / jupyter notebook interface.
Use that kernel for all notebooks related to this project.
All jupyter notebooks should go into the notebooks subfolder of the respective experiment.
To make best use of the folder structure, the parent folder of each notebook should be added to the import path.
This can be done by adding the following lines to your first notebook cell:
# Optional: Auto reloads the helper and the main metabolics_slips_trips module
%load_ext autoreload
%autoreload 2
from metabolics_slips_trips import conf_rel_path
conf_rel_path()This allows to then import the helper and the script module belonging to a specific experiment as follows:
import helper
# or
from helper import ...
To ensure consistent code structure, this project uses ruff to automatically check (and fix) the code format.
poe format # runs ruff format and ruff lint with the autofix flag
poe lint # runs ruff without autofix (will show issues that can not automatically be fixed)
If you want to check if all code follows the code guidelines, run poe ci_check.
This can be useful in the CI context
All tests are located in the tests folder and can be executed by using poe test.