installation-validation-reporting
Summary
Verify successful installation of a Python package and its core functional modules by performing sequential imports and generating a validation report. This skill ensures that a package installation from PyPI (or other distribution channels) is complete and that critical modules are accessible before downstream analysis workflows commence.
When to use
When deploying a new Python package in a reproducible analysis environment or continuous integration pipeline, and you need to confirm that all required core modules (e.g., pyteomics.mass, pyteomics.pepxml, pyteomics.mzid, pyteomics.tandem, pyteomics.auxiliary) are available and importable before proceeding to data analysis tasks.
When NOT to use
- When validating an already-running installation for which you only need to check specific functionality (use targeted import tests instead of full validation)
- When the package is already integrated into a locked environment (e.g., conda environment.yml, Docker image, or virtual environment snapshot) and you only need to verify runtime behavior, not installation completeness
Inputs
- Package name and optional version specifier (e.g., 'pyteomics' or 'pyteomics>=0.4.0')
- List of core module names to validate (e.g., ['pyteomics.mass', 'pyteomics.pepxml', 'pyteomics.mzid'])
- Python 3 environment with pip available
Outputs
- Installation success/failure status
- Per-module import validation report (success/failure for each module)
- Structured validation report (JSON, CSV, or plain text) documenting module readiness
- Package version information
- Error logs for any failed imports
How to apply
Install the target package using pip in a clean Python 3 environment by executing pip install <package_name>. Immediately after installation, attempt sequential imports of each core module listed in the package documentation, capturing import success and any error messages. Log the import status (success/failure) for each module alongside version information. Generate a structured validation report documenting which modules are ready for use and which failed, allowing downstream workflows to make informed decisions about available functionality or halt gracefully if critical modules are unavailable.
Related tools
Examples
pip install pyteomics && python -c "import pyteomics.mass, pyteomics.pepxml, pyteomics.mzid, pyteomics.tandem, pyteomics.auxiliary; print('All core modules imported successfully')"
Evaluation signals
- All core modules listed in the validation plan produce successful import statements with no ImportError or ModuleNotFoundError exceptions
- Version string is retrievable and matches or exceeds the minimum specified version requirement
- Validation report file is created and contains structured entries for each module (pass/fail state)
- No unresolved dependency errors during installation (pip install completes with exit code 0)
- Import test script executes without runtime exceptions and produces human-readable summary (e.g., '5 of 5 modules imported successfully')
Limitations
- The skill validates import-time availability but does not test functional correctness or runtime behavior of individual modules
- Optional dependencies (e.g., matplotlib, pandas, sqlalchemy, pynumpress) may not be installed; validation should distinguish between core and optional module imports
- Platform-specific issues (e.g., lxml compilation on certain systems, numpy binary compatibility) may cause failures that are outside the scope of the validation report
- No changelog is available in the repository to document breaking changes between versions, so version mismatch errors may not be immediately obvious from the validation report alone
Evidence
- [other] Pyteomics provides a growing set of modules designed to facilitate common proteomics data analysis tasks: "Pyteomics provides a growing set of modules to facilitate the most common tasks in proteomics data analysis"
- [other] pip is the main distribution channel for Pyteomics: "The main way to obtain Pyteomics is via `pip Python package manager"
- [other] Core modules must be imported sequentially to verify installation: "Verify installation by attempting sequential imports of pyteomics.mass, pyteomics.pepxml, pyteomics.mzid, pyteomics.tandem, and pyteomics.auxiliary modules"
- [other] A validation report documents installation completion and module readiness: "Log import success/failure status for each module and generate a validation report documenting installation completion and module readiness"
- [readme] Pyteomics is a Python-based collection of tools: "Pyteomics is a collection of lightweight and handy tools for Python that help to handle various sorts of proteomics data"
1---2name: installation-validation-reporting3description: Use when when deploying a new Python package in a reproducible analysis environment or continuous integration pipeline, and you need to confirm that all required core modules (e.g., pyteomics.mass, pyteomics.pepxml, pyteomics.mzid, pyteomics.tandem, pyteomics.4license: CC-BY-4.05---67# installation-validation-reporting89## Summary1011Verify successful installation of a Python package and its core functional modules by performing sequential imports and generating a validation report. This skill ensures that a package installation from PyPI (or other distribution channels) is complete and that critical modules are accessible before downstream analysis workflows commence.1213## When to use1415When deploying a new Python package in a reproducible analysis environment or continuous integration pipeline, and you need to confirm that all required core modules (e.g., pyteomics.mass, pyteomics.pepxml, pyteomics.mzid, pyteomics.tandem, pyteomics.auxiliary) are available and importable before proceeding to data analysis tasks.1617## When NOT to use1819- When validating an already-running installation for which you only need to check specific functionality (use targeted import tests instead of full validation)20- When the package is already integrated into a locked environment (e.g., conda environment.yml, Docker image, or virtual environment snapshot) and you only need to verify runtime behavior, not installation completeness2122## Inputs2324- Package name and optional version specifier (e.g., 'pyteomics' or 'pyteomics>=0.4.0')25- List of core module names to validate (e.g., ['pyteomics.mass', 'pyteomics.pepxml', 'pyteomics.mzid'])26- Python 3 environment with pip available2728## Outputs2930- Installation success/failure status31- Per-module import validation report (success/failure for each module)32- Structured validation report (JSON, CSV, or plain text) documenting module readiness33- Package version information34- Error logs for any failed imports3536## How to apply3738Install the target package using pip in a clean Python 3 environment by executing `pip install <package_name>`. Immediately after installation, attempt sequential imports of each core module listed in the package documentation, capturing import success and any error messages. Log the import status (success/failure) for each module alongside version information. Generate a structured validation report documenting which modules are ready for use and which failed, allowing downstream workflows to make informed decisions about available functionality or halt gracefully if critical modules are unavailable.3940## Related tools4142- **pip** (Package installer used to obtain Pyteomics and its dependencies from PyPI) — https://pypi.org/project/pyteomics/43- **Python** (Runtime environment in which package imports are executed and validated)44- **conda** (Alternative package manager that can be used to install Pyteomics from Bioconda as an alternative to pip) — http://bioconda.github.io/recipes/pyteomics/README.html4546## Examples4748```49pip install pyteomics && python -c "import pyteomics.mass, pyteomics.pepxml, pyteomics.mzid, pyteomics.tandem, pyteomics.auxiliary; print('All core modules imported successfully')"50```5152## Evaluation signals5354- All core modules listed in the validation plan produce successful import statements with no ImportError or ModuleNotFoundError exceptions55- Version string is retrievable and matches or exceeds the minimum specified version requirement56- Validation report file is created and contains structured entries for each module (pass/fail state)57- No unresolved dependency errors during installation (pip install completes with exit code 0)58- Import test script executes without runtime exceptions and produces human-readable summary (e.g., '5 of 5 modules imported successfully')5960## Limitations6162- The skill validates import-time availability but does not test functional correctness or runtime behavior of individual modules63- Optional dependencies (e.g., matplotlib, pandas, sqlalchemy, pynumpress) may not be installed; validation should distinguish between core and optional module imports64- Platform-specific issues (e.g., lxml compilation on certain systems, numpy binary compatibility) may cause failures that are outside the scope of the validation report65- No changelog is available in the repository to document breaking changes between versions, so version mismatch errors may not be immediately obvious from the validation report alone6667## Evidence6869- [other] Pyteomics provides a growing set of modules designed to facilitate common proteomics data analysis tasks: "Pyteomics provides a growing set of modules to facilitate the most common tasks in proteomics data analysis"70- [other] pip is the main distribution channel for Pyteomics: "The main way to obtain Pyteomics is via `pip Python package manager"71- [other] Core modules must be imported sequentially to verify installation: "Verify installation by attempting sequential imports of pyteomics.mass, pyteomics.pepxml, pyteomics.mzid, pyteomics.tandem, and pyteomics.auxiliary modules"72- [other] A validation report documents installation completion and module readiness: "Log import success/failure status for each module and generate a validation report documenting installation completion and module readiness"73- [readme] Pyteomics is a Python-based collection of tools: "Pyteomics is a collection of lightweight and handy tools for Python that help to handle various sorts of proteomics data"