ga4gh / fasp-scripts

Apache License 2.0
11 stars 7 forks source link

Review repository/package structure before Jan 2021 hackathon #5

Closed ianfore closed 3 years ago

ianfore commented 3 years ago

After merging in https://github.com/DNAstack/plenary-resources-2020 moved the plenary-resources folder to top level.

Seems more appropriate at the top level but I suggest we need a more considered rethink.

Some considerations The initial aim was to get working examples up and running and evolve a more thorough architecture as we go. At this point clients for search, object location/retrieval and workflow execution were included under the fasp package. Long term, one might expect these clients to be in different packages/repos. Recognizing this, separate packages were created for each of these functions

Also

ianfore commented 3 years ago

@mbarkley we should probably make some attempt at this before hackathon gets into its stride. Doesn't need to be fully definitive - just good enough for next week.

One thought is a notebooks folder at top level with subfolders for workflow, registry, search and so on. They're currently under scripts but the hierarchy is starting to get deep. Flattening seems like it would help.

Any other thoughts.

ianfore commented 3 years ago

Created the restructure branch to explore possibilities.

Move scripts out of the fasp branch to the top level. Rationale: The scripts are custom code that use the fasp module rather than are part of it. The scripts were not installed as part of the FASP package.

Create notebooks directory also at the top level. Rationale: This separates the two groups of code depending on the approach being taken. The appeal of using notebooks seems strong, and could be the way to go. Others may want to use standalone python, or there could be a mixture. We can always revise this approach as seems to work best, and ohers can create their one structures as needed anyway. For example, there are already sub-directories created for exploring individual apis too - registry, search and wes.

The convention is scripts that use the three-step FASP pattern (search, locate, workflow) are at the top level in both notebooks and scripts.

Readme information now gets split across the top level and in scripts/notebooks.

Moved GA4GHRegistry to a dedicated module. Considering a fasp.registry package as a better location for this class. Rename as GA4GHRegistryClient

ianfore commented 3 years ago

Pull Request https://github.com/ga4gh/fasp-scripts/pull/12 added. Besides changes described in the pull request it moves the plenary resources into the new structure under scripts. README files are updated.