A cookiecutter template for data analysis. Includes integration with Open Science Framework (OSF) storage. Includes a CLI for figure plotting (using click).
-
If your are using OSF, start an OSF repository and establish an ID. You will want this ID before initializing the project. You need not push your data to the OSF repository right away.
-
Install cookiecutter.
Using conda:conda install cookiecutter
-
Initialize the project folder. Using a terminal in the parent folder for your project destination, run
cookiecutter gh:wright-group/wright-cookiecutter-workup
and complete the prompts.
-
The project is now templated. You can begin working up data! Now is also a good time to start a git repository.
- To upload data in bulk (a nested folder structure), use osfclient's upload feature with the recursive setting:
You will need to supply our username password upon request (or you can use token authentications as well).
osf -u [username] -p [project_id] upload -r [source] [destination]
- The root directory of the remote filesystem is seen as "OSF storage" online; you do not need to include this name when specifying a destination path.
build.py fetch
will clone the osf directory into./data/osfstorage
. If you alter the contents of the local directory, you can update the remote with the update keywordosf -u [username] -p [project_id] upload -r --update ./path/to/osfstorage .
- osfclient's upload feature only works for osf-hosted data; you will have to organize remote folders another way if you host data with an add-on service.