MetOffice / MetOffice/fab

Investigate use of ``shutil.which`` to discover tool availability

Open
#393 3 comments 0 reactions 0 assignees View on GitHub
good first issue technical debt
Dominant language
Python
Stars
9
Forks
9
Avg merge
12d 12h
Merged PRs (30d)
2

Description

Currently a "null" operation for each tool is needed to determine if it is available. This causes a lot of mess in the code and seems unnecessary as the ``which`` command is provided for precisely this job.

It can't cope with the situation where the tool exist but is broken (for example fails to link with a missing library) but maybe we don't need to worry about this as long as tool execution can gracefully report broken tooling.

Some tools (PSyclone is an example) behave different depending on their version but is this something we need to take into account in the availability check?

Contributor guide

Open the contributing guide

Research direction

Start by tracing how each tool currently performs its null operation to determine availability, then inspect the execution path that reports broken tooling. Compare that flow with Python's shutil.which, including version-dependent tools such as PSyclone; done means the project has a decided availability-check approach and graceful handling for tools that exist but cannot run.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
build-system, tooling
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.