Skip to content

Project Flows

voetberg edited this page Mar 1, 2023 · 4 revisions

This page is in progress! Please mind our dust.

This page gives a few example processes to follow for project flows. If you find yourself thinking "I bet there's a tool to use for this point in my project!" this is a good place to check. Chances are, there's something out there.

Science Workflows

Basic Workflow

  1. Create repository (with DeepTemplate-Science)

  2. Set up a connected overleaf project with showyourwork

  3. Set up a Zetoro page and start collecting resources.

  4. Either generate/gather your initial data and push it up to the cloud, or pull existing data, via DeepGotData

  5. Work towards proof of concept results

    a. Commit periodically

    b. Perform code reviews as needed

  6. Adapt into scripts

    a. Follow the outlines in Tool Workflow - Basic Workflow - Section N

  7. Iterate on results until you are satisfied with the final results

  8. Push up figures using the showyourwork hook

  9. Publish

    a. Finalize code in the repository

    b. Upload data to Zenodo

    c. Submit paper to journal

<Specific Workflow, Simulation maybe?>

Tool Workflows

Basic Workflow

  1. Create repository (with DeepTemplate-Tooling)
  2. Set up a project roadmap with outlines (You can either use a program like Notion or [GitHub Projects())
  3. Raise your first issue, assign it to the appropriate team member.
  4. Close that issue, update any tracking software with the changes.
  5. Perform code reviews once any milestones are reached.
  6. Reach all the milestones.
  7. Perform final reviews, start distribution process.
  8. Submit to a journal (most likely joss) if you so wish.

Github specific workflows

Issues, PRs, and branches.

  1. Raise an issue with a brief description and a tag (enhancement/fix will be most common). [INSERT EXAMPLE]
  2. Create a branch that will hold the results of the work on that issue.
  3. Move to that branch, begin work. Commit periodically with descriptive comments, push to your working branch.
  4. Write tests that verify that your code functions as expected.
  5. Once you think your work solves the issue as described, raise a push request for the development branch. Tag any reviewers or colleagues that would be interested in reviewing. Reference the issue that was raised in the push description.
  6. Let your reviewers approve your code, or request changes. If changes are requested, go back to step 3.
  7. Merge your pull request, make sure the issue is also closed, and move onto the next issue.

Distribution

<Specific workflow??>

DeepSkies Toolbox

Currently Available Software

  1. DeepTemplate-Tools
  2. DeepTemplate-Science

Coming soon

  1. DeepBench
  2. DeepGotData
  3. DeepUtils

Computational Facilities

  1. Google Colaboratory
  2. Elastic Analysis Facility (EAF; Fermilab)
    1. EAF ReadtheDocs
    2. Quick OnboardingGuide
  3. Research Computing Center (UChicago)

Computing Guides:

  1. coming soon.
Clone this wiki locally