cmatools requirements - cma-open/cmatools GitHub Wiki

See overview repo wiki for generic guidance

This page defines and details the project software requirements for the "cmatools" python package

It is very important to set early development goals that result in a working and testable system as soon as possible in the development cycle.

Software purpose

Aim 1:

  • A very simple and basic python package that can be installed as a dependency to other project based python projects, such as "cmascience".
  • Initially this can comprise a simple "hello world" function, and command line tool.

Aim 2:

  • A simple data creation and processing command line tool.
  • This tool allows example tests to be created for output data and metadata

Aim 3:

  • A suite of useful "common" functions, utilities across data formatting, download, logging, that will be useful to other project focussed repos.

Software use and user inputs

  • Software mainly intended to be used as a dependency, called from other python package
  • The system is expected to be accessed from a source archive (GitHub/GitLab) as a distribution package, rather than via PyPi or conda etc
  • The system should be accessible and supported via development mode to allow adapation and future development

User level

  • Designed for use by >= intermediate level python developer

Non-functional requirements

  • User friendly, well documented
  • System resource = assumes deployment on Linux
  • Network resources = requires internet access, assumes access to GitHub