Skip to content

dmyersturnbull/science-notebook-template

Repository files navigation

Science notebook template

Binder DOI License template science_notebook

πŸ§ͺ A simple, elegant template for repositories supporting publications. Scientific companion to the much more sophisticated code template Tyrannosaurus πŸ¦– No cookiecutter. Just click Use this Template above.

πŸ‘‹ Citing

Just tell people how to cite your work.

Please reference the manuscript with this BibTeX:

@misc{sciencenotebooktemplate,
  doi = {10.5281/zenodo.4495745},
  url = {https://zenodo.org/record/4485186},
  author = {Myers-Turnbull, Douglas},
  title = {dmyersturnbull/science-notebook-template: v0.1.0},
  publisher = {Zenodo},
  year = {2021},
  copyright = {Open Access}
}

Or APA format:

Myers-Turnbull, D. (2021). dmyersturnbull/science-notebook-template (v0.1.0) [Computer software]. Zenodo. https://doi.org/10.5281/zenodo.4495745

🎁 About this repository

What’s in this repo?

  • Automatic linting of Python, Markdown, config files, etc. using pre-commit
  • Nice default GitHub settings (just install the Probot settings app to your repo
  • IDE hints via EditorConfig with good defaults for most languages CITATION.cff
  • Nice gitignore, dockerignore, changelog, and other misc files
  • Example/stub Conda environment file, Vagrantfile, and shields

πŸ“œ Steps to reproduce

How to download needed data, run the code, etc.

  1. Fork this repository as a template.
  2. Clone and run pip install pre-commit and pre-commit install.
  3. Install the Probot settings app.
  4. Fix .github/CODEOWNERS. Replace with your username or org name.
  5. Fix .github/settings.yml. (NOTE: Make sure to change private and name.)
  6. If you want to use Commitizen, uncomment the lines in .pre-commit.yaml. Otherwise, delete .cz.toml.
  7. Add to Binder and Get a DOI for your repo.
  8. Make a local clone of your repo. Modify the readme, changelog, etc. Add your code/notebooks. Feel free to remove or replace SPDX headers.
  9. Commit and push to main. (If a linter fails on commit, just re-run. It just meant the linter modified a file.)
  10. Configure branch rules Settings.

🌳 Layout

Describe the layout of this repo.

β”œβ”€β”€ src/                     ⟡ project source code
β”œβ”€β”€ data
β”‚   β”œβ”€β”€ temp-output/         ⟡ files generated per-run
β”‚   β”‚   β”œβ”€β”€ figures/         ⟡ raw charts and graphs
β”‚   β”‚   └── ...misc. files
β”‚   β”œβ”€β”€ living/              ⟡ files we are actively curating
β”‚   β”‚   β”œβ”€β”€ figures/
β”‚   β”‚   β”œβ”€β”€ manuscript/
β”‚   β”‚   └── ...misc. files
β”‚   └── frozen/              ⟡ non-modifiable files
β”‚       β”œβ”€β”€ raw/             ⟡ experimental or downloaded data
β”‚       └── ref/             ⟡ frozen analyses and figures
└── README.md

See research projects guide for more info.

πŸ”Œ External resources

Describe any external resources needed (e.g., API keys).

🍁 Contributing

Tell people how to report problems and ask questions.

The source code in this repository is licensed under the terms of the Apache License 2.0. Contributions and questions are welcome via issues. For reference, refer to the contributing guide and security policy.

Note: The source code headers (i.e., SPDX) are to protect you, the user. I don’t expect you to retain them. Remove them or replace them with your own when you modify them.