Guidelines
This page highlights a few guidelines for development of DASCore and man other DASDAE packages.
Branching and versioning
We create new features or bug fixes in their own branches and merge them into master via pull requests. We may switch to a more complex branching model if the need arises.
If substantial new features have been added since the last release we will bump the minor version. If only bug fixes/minor changes have been made, only the patch version will be bumped. Like most python projects, we loosely follow semantic versioning in terms that we will not bump the major version until the package is more stable.
Paths
Prefer pathlib.Path
to strings when working with paths. However, when dealing with many many files (e.g., indexers) strings may be preferred for efficiency.
Working with dataframes
Column names should be snake_cased whenever possible.
Always access columns with getitem and not getattr (ie use df['column_name']
not df.column_name
).
Prefer creating a new DataFrame
/Series
to modifying them inplace. Inplace modifications should require opting in (usually through an inplace
key word argument).