fsspec / fsspec/projspec

Discussion: installed tools

Open
#46 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

question
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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.