Skip to content

Commit 5b944e1

Browse files
committed
Flesh out tempalte
1 parent f60cd2b commit 5b944e1

File tree

11 files changed

+115
-1
lines changed

11 files changed

+115
-1
lines changed

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
# List any files that should be ignored from the repository here
2+
# Some standard files to ignore are already included
3+
14
# Ignore notebook checkpoint files
25
.ipynb_checkpoints
36

README.md

Lines changed: 54 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,56 @@
11
# ProjectTemplate
22

3-
Project description.
3+
A generic template for an analysis project repository.
4+
5+
## Overview
6+
7+
This repository is a template for scientific analysis projects.
8+
9+
## Files & Folders
10+
11+
This template lays out a set of recommended folders for organizing files in the project.
12+
13+
These folders are:
14+
15+
- `custom/` custom code for the project
16+
- `notebooks/` Jupyter notebooks that do or illustrate parts of the project
17+
- `scripts/` scripts that run parts of the project
18+
- `figures/` any figures from the project that are included in the repository
19+
- `data/` any data from the project that are included in the repository
20+
21+
In addition, the repository should include the following files:
22+
23+
- A LICENSE file, indicating the LICENSE that the code is shared under
24+
- A requirements.txt file, listing out any dependencies
25+
26+
## README Outline
27+
28+
The repository should include a descriptive README in the base folder.
29+
30+
Suggested sections in the README are as follows:
31+
32+
#### Overview
33+
34+
_A brief description of the project._
35+
36+
#### Project Guide
37+
38+
_A note on how to interact with this project._
39+
_For example, this could guide people interested in the project to start with the notebooks._
40+
41+
#### Reference
42+
43+
_Links to the reference for the project, such as a preprint or paper._
44+
45+
#### Requirements
46+
47+
_Notes on what requirements there are to run this project._
48+
49+
_This should include programming language, major version required, and any dependencies._
50+
51+
#### Repository Layout
52+
53+
_A brief description of the repository layout and contents._
54+
55+
_This should be a list of all subfolders, and a quick description of what they contain._
56+
_This list folder can be adapted from the `Files & Folders` list above._

custom/README.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
This folder should include any custom code for the project, organized into a mini-module.
2+
3+
This code should be organized into functions and classes and so on that can be imported by scripts or notebooks that need them.
4+
5+
Any general settings for the project can also be collected into a `settings.py` file, to be imported and used wherever they are needed.

custom/funcs.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,8 @@ def do_things():
77
"""Helper function to do things."""
88

99
print('Things have been done.')
10+
11+
def do_more_things():
12+
"""Helper function to do things."""
13+
14+
print('More things have been done.')

custom/settings.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
"""Any general settings for the project can be defined here."""
2+
3+
###################################################################################################
4+
###################################################################################################
5+
6+
# Set up some settings
7+
SETTING_ONE = [1, 2, 3]
8+
SETTING_TWO = True
9+
10+
# Set up some other settings
11+
DO_X = True
12+
DO_Y = False

data/README.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
This folder should include any data included in the project repository.
2+
3+
If there are folders from different analyses or aspects of the project, this folder can contain sub-folders, and the structure can be described in this README.

figures/README.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
This folder should include any figures included in the project repository.
2+
3+
If there are folders from different analyses or aspects of the project, this folder can contain sub-folders, and the structure can be described in this README.

notebooks/README.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
This folder should contain any notebooks included in the project.
2+
3+
If notebooks are ordered, there file names should be numbered, for example, as:
4+
5+
- `01-DoFirstThing.ipynb`
6+
- `02-NowDoSecondThing.ipynb`
7+
8+
This README can be used to include a brief description of the notebooks.

requirements.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
List any required packages for the project here.

scripts/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
This folder should contain any scripts included in the project.

0 commit comments

Comments
 (0)