MAAP-Project / Community

Issue for MAAP (Zenhub)
2 stars 1 forks source link

Create a template repo for users to start writing algorithms from #1039

Open sujen1412 opened 1 month ago

sujen1412 commented 1 month ago

Describe the solution you'd like A github repo template consisting of best practices could help users to start writing out code that can eventually be packaged and deployed on the cloud for large scale processing.

Additional context Currently we have a dps_tutorial repo to walk users through some best practices for writing algorithms for DPS, but the goal of this template would be broader best practices of organizing, writing, and packaging code for general re-use.

sujen1412 commented 1 month ago

One possible structure for the template repo

algorithm-template/
├── CONTRIBUTING.md
├── LICENSE
├── README.md
├── algorithm_template
│     └── main.py
├── bin
│     ├── build
│     └── run
├── docs
├── notebook
│     ├── MAAP-Platform-Example.ipynb
│     └── SimpleUsage.ipynb
├── pyproject.toml
└── tests
chuckwondo commented 2 weeks ago

As discussed elsewhere, Sam Niemoeller and I are going to work on this indirectly by using the structure above (at least approximately) as a basis for the sar2-d2 algorithm repo.

We decided that since we need to create a new algorithm anyway, it would be better to base the new repo on the above structure first, and eventually construct a template from that repo, rather than the other way around, because that should reduce (if not eliminate) the likelihood of missing a necessary file since we would base the template on a functional algorithm (once sar2-d2 is at least in a state where it can be successfully built and a job successfully executed).

Further, this will also allow others to review the structure of the sar2-d2 repo as a "reference" repo and provide feedback, and for us to then make refinements as necessary before finally creating the template repo from the reviewed/refined "reference" repo.