Skip to content

First pass overall API structure #48

@emiliom

Description

@emiliom

(Previously I started this issue with a draft recommendation and comments. After our meeting, I've re written this to reflect our decisions)

API re-organization (subpackages > modules) plan

Sub-packages and modules under them

  • loadinputs (or input)
    • load_biological_data.py
    • load_kriging_data.py
      • New module, with code moved from kriging_mesh.py). Note that I'm proposing the name load_kriging_data.py rather than load_kriging_mesh.py because it loads both the mesh and the smoothed contour data
    • load_nasc_data.py
    • load_stratification_data.py
  • computation (or compute verb, for consistency with other subpackage names)
    • compute_biomass_density.py
    • cv_analysis.py
    • kriging_mesh.py
      • Move to new loadinputs/load_kriging_data.py module the elements that load the mesh and smoother contour data
    • kriging.py
    • run_bootstrapping.py
    • semivariogram.py
  • export
    • generate_reports.py
    • visualization.py
  • utils
    • input_checks.py

"Root" level, https://github.com/uw-echospace/EchoPro/tree/master/EchoPro/

  • __init__.py
    • Note: remove from __future__ import from it
  • survey.py
    • Move from survey/survey.py

Other, related changes

  • create_preliminary_files/create_files.py: Remove this module and its parent subpackage. It's currently just a small stub and it's unclear yet to what extent we'll build this "pre-processing" functionality.
  • global_vars.py: It encompasses only kriging and semivariogram variables. Either move it to the new computation subpackage, or, preferably if not too difficult at this stage, eliminate the use of global-scope variables altogether.
  • numba_modules.py: Break apart and move individual functions to the corresponding subpackages or to the modules where they're used, if not used in multiple modules.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions