Discussion: installed tools
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 24
- Forks
- 8
- PR merge metrics
- No merged PRs in 30d
Description
While parsing project metadata can be done without dependencies, making artefacts generally involves calling the appropriate tool as a subprocess. If the tool is not available, we currently just return the error (probably FileNotFound).
We have some code here for detecting and potentially saving whether certain commands are available or not, for the current environment, and this function to provide a reasonable message if not.
The question is, how best to sensibly know what is installed and how to apply that the to project types and their buildable artifacts. Should we be considering other (venv/conda) environments that might be lying around, or do the project management tools need to be available globally? What about other tools (like the webapp launchers, flask et al) that explicitly live within a python environment?
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading the command-availability code in src/projspec/utils.py around lines 153 and 209. Trace how project types and buildable artifacts would use those checks, then clarify whether global tools, virtual environments, or conda environments are supported. Done means the supported environment-selection behavior and missing-tool messaging are agreed and documented or implemented.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- build-system, tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100