• Stars
    star
    460
  • Rank 94,598 (Top 2 %)
  • Language
    Python
  • License
    Other
  • Created about 3 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

The Good Research Code Handbook

The Good Research Code Handbook source

This is the source for the Good Research Code Handbook, by Patrick Mineault. The website lives at goodresearch.dev. This book uses jupyterbook to build, with a highly customized theme based off of tufte.css.

Reporting issues with the website

Please report any issues via the Issues tab.

Building the book

Netlify Status

Recreate the conda environment with:

conda env create -n cb --file environment.yml

Then conda activate cb.

For local development, I recommend using the auto-reloading sphinx-autobuild package. This will not only build the book and create a local server for you to preview the book, it will also rebuild and reload the browser whenever you make a change. Neat! Use make develop to get that going.

To build a version ready to be deployed:

  1. jupyter-book build docs --all for a full rebuild
  2. python strip_js.py to remove thebe.js includes, which would otherwise cause a 500KB javascript file to be loaded

These two can be run via make build.

I use the netlify deploy -d _build/html --prod or make deploy to manually deploy the book to goodreseach.dev. This command won't work for you unless you have my netlify credentials.

Note: when you push a PR through Github, it will build a preview of your work through Netlify automatically. When I merge the PR, it will automatically deploy the built website to goodresearch.dev. See the badge above for build status.

Building the book to PDF

The PDF of this book is built using LaTeX via CurveNote's MyST to tex conversion. As this feature is in alpha stage, there's an elaborate translation stage in assemble_one_pager.py. Because the CurveNote CLI is subject to change, make sure to use the exact version of the curvenote cli, v0.8.2, to build this.

Run git clone https://github.com/patrickmineault/plain_latex_book_chapter.git to fetch a plain tex template. Then place this under ../templates/plain_latex_book_chapter.

Build using make pdf. This will create a number of temporary files and the final pdf will live in tmp/exports/book-complete.pdf.

Citing this book

10.5281/zenodo.5796873

Patrick J Mineault & The Good Research Code Handbook Community (2021). The Good Research Code Handbook. Zenodo. doi:10.5281/zenodo.5796873

More Repositories

1

research_code

Writing good research code
Jupyter Notebook
106
star
2

xcorr-notebooks

An ongoing collection of ipython notebooks on neuroscience from xcorr: computational neuroscience.
Jupyter Notebook
73
star
3

big-neuro-ideas

An ongoing journal club for the study of big ideas in neuro
30
star
4

ml-theory-reading-list

An annotated reference list of ML theory
29
star
5

true-neutral-cookiecutter

A minimalist cookiecutter for research and data science projects
Python
23
star
6

your-head-is-there-to-move-you-around

Task-driven models of the dorsal visual stream
Jupyter Notebook
12
star
7

zipf

Jupyter Notebook
11
star
8

industry

8
star
9

vid2slides

Extract slides from video
Python
7
star
10

programming-course

Materials for programming course
Jupyter Notebook
7
star
11

boopology

Do android pigs dream of electric boops?
Jupyter Notebook
4
star
12

spikefinder_submission

Spikefinder submission
Jupyter Notebook
4
star
13

vr-neurons

Visualizing neurons in VR
Jupyter Notebook
3
star
14

learn-you

Haskell
3
star
15

deep-generative-models

Deep generative model reading group repo
Jupyter Notebook
3
star
16

neuromatch-nlp

Jupyter Notebook
3
star
17

awesome-neuro-notebooks

A list of awesome notebooks on neuro
3
star
18

welford

Welford's algorithm, in C++
C++
3
star
19

neuron-jungle

Analysis of neuron jungle
Jupyter Notebook
3
star
20

triplets

Jupyter Notebook
3
star
21

bench_embeddings

Jupyter Notebook
2
star
22

shablona-dup

My Shablona-based project
Jupyter Notebook
2
star
23

rock-steady-airsim

Jupyter Notebook
2
star
24

starter-hugo-academic

Jupyter Notebook
2
star
25

neuroai-tree

Jupyter Notebook
2
star
26

sendit

Send email batches with confidence
Python
2
star
27

blank-theme

Python
1
star
28

scrollytelling

Scrollytelling about excitatory-inhibitory networks
JavaScript
1
star
29

subtitle-scrubber

An applet to scrub through subtitles and thumbnails in a video
JavaScript
1
star
30

neurodynex

Jupyter Notebook
1
star
31

rock-steady

Airsim heading simulations
1
star
32

shablona-example

Jupyter Notebook
1
star
33

nm-matchexplanations

Python
1
star
34

nmc-videos

Pipeline to create videos with Neuromatch conference
Python
1
star
35

shablona-derivative-examplar

Jupyter Notebook
1
star
36

shablona-use-example

Example for NMA 2021 II
Jupyter Notebook
1
star
37

speaker-tf

Estimate transfer function of a speaker
1
star
38

psycho-haptics

A psychophysics experiment in haptics
Arduino
1
star
39

xcorr-drafts

1
star
40

drawcircle

Python
1
star
41

bayesian-doubling-times

Jupyter Notebook
1
star
42

codebook_examples

Examples for the book on good research code
Python
1
star
43

matlab-tools

Miscellaneous toolboxes for Matlab
1
star
44

widgets

Widget hsoting
HTML
1
star
45

dask-worker

Dockerfile for dask worker matched to notebook
Dockerfile
1
star
46

exam2

It's a secret to everybody
Python
1
star
47

puffinette-hunt

Those mysteries.
Python
1
star
48

dbserver

Python
1
star
49

scaling-octo-winter

1
star
50

repl-test

Jupyter Notebook
1
star
51

autre-main

HTML
1
star
52

react-map

A react map of NMA participant
JavaScript
1
star
53

test-driven-migration

Jupyter Notebook
1
star
54

precourse

Pre-course repo
HTML
1
star
55

ds

Data science portfolio
1
star
56

minimal-package

Python
1
star
57

dask-notebook

Dockerfile for dask-enabled jupyter notebook
Dockerfile
1
star
58

shablona-derivative

Jupyter Notebook
1
star
59

science-project

Let's do some science
1
star
60

causal-course

Notes from course on causal inference
1
star
61

hello-world

Hello world example
HTML
1
star
62

neuromatch-algo

The modern neuromatch algo
Jupyter Notebook
1
star
63

use-shablona-template

Just an example
Jupyter Notebook
1
star
64

haptic-duino

A haptics project in Arduino
C++
1
star
65

topog

Python
1
star
66

unet-spikes

UNets... for spikes!
Python
1
star
67

phaco-meta

Meta-analysis of Phacoemulsification effect on glaucoma
HTML
1
star
68

climate-change

Climate change notebooks
Jupyter Notebook
1
star
69

xcorr-snippets

Snippets for xcorr: computational neuroscience
Jupyter Notebook
1
star
70

mastodon-lotd-bot

Python
1
star
71

gradient-notebook

An environment for notebooks hosted on gradient
Dockerfile
1
star
72

complex-systems

Complex systems
Jupyter Notebook
1
star