env-finder
Investigate environment variables that can be set when building Python wheels for a given project. Analyzes setup.py, CMake files, and other build configuration files to discover customizable build environment variables.
$ Installer
git clone https://github.com/opendatahub-io/ai-helpers /tmp/ai-helpers && cp -r /tmp/ai-helpers/claude-plugins/python-packaging/skills/env-finder ~/.claude/skills/ai-helpers// tip: Run this command in your terminal to install the skill
name: env-finder description: Investigate environment variables that can be set when building Python wheels for a given project. Analyzes setup.py, CMake files, and other build configuration files to discover customizable build environment variables. allowed-tools: [Bash, Read, Grep, Glob]
Python Build Environment Variables Investigation
This skill helps you discover all environment variables that can be set when building Python wheels for a project. It performs a comprehensive analysis of build configuration files to identify customizable environment variables used during the wheel building process.
Instructions
When a user asks about environment variables for building Python wheels, investigating build configuration, or understanding build customization options:
-
Run the Environment Variables Investigation Script:
./scripts/env_finder.py [project_path] -
Analyze and present the findings focusing on:
Build Configuration Variables
- Setup.py Variables: Environment variables used in setup.py for customizing builds
- CMake Variables: Variables defined in CMakeLists.txt and related files
- Build Tool Variables: Variables used by setuptools, distutils, or other build systems
- Compiler Variables: Variables affecting compilation (CC, CXX, CFLAGS, etc.)
Variable Categories
Compiler and Linker Variables
CC,CXX- Compiler selectionCFLAGS,CXXFLAGS- Compilation flagsLDFLAGS- Linker flagsLIBS- Additional libraries
Path Configuration Variables
PREFIX- Installation prefixLIBRARY_PATH- Library search pathsINCLUDE_PATH- Header file pathsPKG_CONFIG_PATH- pkg-config search paths
Feature Control Variables
ENABLE_*- Feature enable/disable flagsWITH_*- Optional component inclusionUSE_*- Build option selectionDISABLE_*- Feature disable flags
Python-Specific Variables
PYTHON_INCLUDE_DIR- Python headers locationPYTHON_LIBRARY- Python library pathSETUPTOOLS_*- Setuptools configurationPIP_*- pip-related build variables
Usage Context
- When Variables Are Used: During which build phase each variable takes effect
- Default Values: What happens when variables are not set
- Required vs Optional: Which variables are mandatory for successful builds
-
Provide actionable guidance:
- How to set each variable for custom builds
- Common use cases for each variable
- Potential conflicts or compatibility issues
- Recommended values for different scenarios
Output Format
The skill should provide a structured list of environment variables with:
- Variable Name: Exact environment variable name
- Purpose: Clear description of what the variable controls
- Type: Expected value type (path, boolean, string, number)
- Default Value: What happens when not set
- Source File: Where the variable was discovered
- Usage Context: When and how the variable is used
Error Handling and Edge Cases
No Build Configuration Found
- Report that no environment variables were found
- Most packages don't have build configuration so it is fine
Repository
