Software practices¶
Core principles¶
All of the teams in Scientific Computing adhere to a set of core principles about our software.
Code Review¶
At least one other software developer needs to approve a pull request in order for it to be merged. Please be courteous when providing feedback. The team lead can resolve any conflicts.
Style¶
We use black, flake8, and interrogate to enforce PEP 8 standards with docstrings in NUMPY format.
Versioning¶
We use semver major.minor.patch versions, these are automatically incremented when you use the aind-library-template. Note that for major versions you need to put the exact string “BREAKING CHANGE” in the commit comment (not the title).
You should set patch version floor >=1.0.0 and major version ceiling <2 for each internal dependency that you use. This is good practice for all dependencies.
Team descriptions live in AIND scientific computing teams.
Resources for SWEs¶
For research software engineers, Good Research Code is a good primer.