Use when when you need to verify a Python package installs successfully from a cloned or local repository, validate that all tests pass after installation, or prepare a development environment for contributing to the package.
Scanned 9/12/2026
Install to Claude Code
npx -y skills add HolobiomicsLab/asb-skill-collections --skill python-package-installation-from-source --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Python Package Installation From Source?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/holobiomicslab-python-package-installation-from-source)More formats (shields.io, HTML) on the badges page.
---
name: python-package-installation-from-source
description: Use when when you need to verify a Python package installs successfully from a cloned or local repository, validate that all tests pass after installation, or prepare a development environment for contributing to the package.
license: CC-BY-4.0
metadata:
edam_operation: http://edamontology.org/operation_3363
edam_topics:
- http://edamontology.org/topic_0091
tools:
- pip
- biosynfoni
- pytest
- black
derived_from:
- doi: 10.1186/s13321-025-01081-6
title: biosynfoni
evidence_spans:
- pip install -e .[dev]
- biosynfoni
- a biosynformatic molecular fingerprint tailored to natural product chem- and bioinformatic research
claims: []
provenance:
collection: https://w3id.org/holobiomicslab/asb-skill/collection/metabolomics/v1
assembled_by: scripts/collect_metabolomics_collection.py
sources:
- build: coll_biosynfoni
doi: 10.1186/s13321-025-01081-6
title: biosynfoni
dedup_kept_from: coll_biosynfoni
schema_version: 0.2.0
---
# python-package-installation-from-source
## Summary
Install a Python package directly from its source repository in development mode, with optional dev dependencies, to enable local testing and modification. This skill is essential for validating that a package builds correctly, its test suite passes, and the codebase is functional before contributing or deploying.
## When to use
When you need to verify a Python package installs successfully from a cloned or local repository, validate that all tests pass after installation, or prepare a development environment for contributing to the package. Use this when the package is not yet published to PyPI, you need bleeding-edge changes, or you must confirm the CI/CD test workflow works locally.
## When NOT to use
- Package is already installed from PyPI and you only need to run it (not develop or modify it).
- Repository has no tests or a broken test suite with known failures unrelated to your changes.
- You are in a read-only environment or production deployment (use stable PyPI releases instead).
## Inputs
- Python package source repository (git clone or local directory)
- pyproject.toml or setup.py with dev dependencies defined
- tests/ directory containing pytest test suite
## Outputs
- Installed Python package in editable/development mode
- pytest test report (pass/fail for all tests)
- confirmation that package is importable and functional
## How to apply
Clone or navigate to the package repository root directory. Install the package in development (editable) mode using `pip install -e .[dev]` to load source code directly and include development dependencies (typically pytest, code formatters like black, and linting tools). After installation, run the full test suite using `pytest tests/` to verify all unit tests pass. Check for a GitHub Actions CI workflow badge or CI configuration (e.g., test-biosynfoni.yml) to confirm the expected test targets. Development installation allows you to modify source code and immediately test changes without reinstalling; success is confirmed when all pytest tests pass without errors.
## Related tools
- **pip** (Package manager used to install the package in editable mode with optional dev dependencies via `pip install -e .[dev]`)
- **pytest** (Test runner used to execute the complete test suite on the tests/ directory via `pytest tests/`)
- **black** (Code formatter recommended for formatting source code before committing changes (invoked pre-submission, optional during dev installation)) — https://github.com/psf/black
- **biosynfoni** (Example package demonstrating the skill; provides CI workflow reference and dev dependency structure) — https://github.com/lucinamay/biosynfoni
## Examples
```
pip install -e .[dev] && pytest tests/
```
## Evaluation signals
- pip install exits with status 0 and package appears in site-packages or .eggs (confirm with `pip show <package>` or `python -c 'import <package>'`).
- pytest runs without import errors and discovers all tests in tests/ directory.
- All tests pass with 0 failures, 0 errors (pytest output shows '... passed' with no red X marks).
- Package is importable immediately after install: `python -c 'from biosynfoni import Biosynfoni'` succeeds.
- GitHub Actions CI workflow badge (e.g., Tests badge in README) shows passing status, confirming same test suite passes in CI.
## Limitations
- Development installation requires write access to the repository directory and may conflict with system-wide Python packages if virtual environments are not used.
- No changelog or version history was found in the biosynfoni repository, making it difficult to track which commits or tags correspond to tested versions.
- Platform-specific dependencies (e.g., RDKit compiled binaries) may fail on certain OS/architecture combinations despite successful local installation elsewhere.
- Dev dependencies must be explicitly defined in pyproject.toml or setup.py; if missing or incomplete, tests may fail due to unmet imports.
## Evidence
- [other] Install the package in development mode using pip with dev dependencies via `pip install -e .[dev]`.: "Install the package in development mode using pip with dev dependencies via `pip install -e .[dev]`."
- [other] Execute the complete test suite using pytest on the tests/ directory with `pytest tests/`.: "Execute the complete test suite using pytest on the tests/ directory with `pytest tests/`."
- [other] The biosynfoni package has a GitHub Actions CI workflow that runs tests, as indicated by the Tests badge displayed in the repository.: "The biosynfoni package has a GitHub Actions CI workflow that runs tests, as indicated by the Tests badge displayed in the repository."
- [other] Run the following command from the root of the project to install the project for development: "Run the following command from the root of the project to install the project for development"
- [other] You can also run the tests locally with the following command: "You can also run the tests locally with the following command"
- [readme] Biosynfoni requires Python 3.9 or later. RDKit is installed as a dependency when installing Biosynfoni.: "Biosynfoni requires Python 3.9 or later. RDKit is installed as a dependency when installing Biosynfoni."
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!