This document provides instructions for deploying Bioinfo Tools to various package managers.
- PyPI account (register at https://pypi.org/)
twineinstalled:pip install twine build
-
Update version number in:
bioinfo_tools/__init__.pysetup.pypyproject.toml
-
Build the package:
python -m build
This creates distribution files in
dist/ -
Test the package locally:
pip install dist/bioinfo_tools-*.whl bioinfo-tools --help -
Upload to TestPyPI (optional but recommended):
twine upload --repository testpypi dist/* -
Upload to PyPI:
twine upload dist/* -
Verify installation:
pip install bioinfo-tools bioinfo-tools --version
- Fork of bioconda-recipes repository
- Conda installed
- GitHub account
-
Create a release on GitHub:
- Go to https://github.com/Mxrcon/Bioinfo-python-scripts/releases
- Click "Create a new release"
- Tag version:
v1.0.0 - Title: "Release 1.0.0"
- Add release notes
- Publish release
-
Get the SHA256 hash of the tarball:
wget https://github.com/Mxrcon/Bioinfo-python-scripts/archive/refs/tags/v1.0.0.tar.gz sha256sum v1.0.0.tar.gz
-
Update the conda recipe:
- Edit
conda_recipe/meta.yaml - Update the
sha256field with the hash from step 2 - Ensure version numbers match
- Edit
-
Test the conda recipe locally:
conda build conda_recipe/
-
Fork bioconda-recipes:
- Go to https://github.com/bioconda/bioconda-recipes
- Click "Fork"
-
Add your recipe to bioconda:
git clone https://github.com/YOUR_USERNAME/bioconda-recipes.git cd bioconda-recipes git checkout -b add-bioinfo-tools # Copy your recipe mkdir -p recipes/bioinfo-tools cp ../Bioinfo-python-scripts/conda_recipe/meta.yaml recipes/bioinfo-tools/ # Commit and push git add recipes/bioinfo-tools/ git commit -m "Add bioinfo-tools recipe" git push origin add-bioinfo-tools
-
Create a Pull Request:
- Go to your fork on GitHub
- Click "Pull Request"
- Title: "Add bioinfo-tools recipe"
- Description: Brief description of the tool
- Submit the PR
-
Wait for CI checks and review:
- Bioconda's CI will test your recipe
- Address any feedback from reviewers
- Once approved and merged, the package will be available via conda
-
Installation after deployment:
conda install -c bioconda bioinfo-tools
Pixi is already configured in pixi.toml. Users can use it as follows:
# Install pixi (if not already installed)
curl -fsSL https://pixi.sh/install.sh | bash
# Clone and use the project
git clone https://github.com/Mxrcon/Bioinfo-python-scripts.git
cd Bioinfo-python-scripts
pixi install
pixi shell# Install the package
pixi run install
# Run tests
pixi run test
# Clean build artifacts
pixi run clean
# Development environment (with linters and formatters)
pixi shell -e devWhen releasing a new version:
-
Update version in:
bioinfo_tools/__init__.pysetup.pypyproject.tomlpixi.tomlconda_recipe/meta.yaml
-
Update CHANGELOG.md with release notes
-
Commit changes:
git add . git commit -m "Bump version to X.Y.Z" git tag -a vX.Y.Z -m "Release X.Y.Z" git push origin main --tags
-
Follow deployment steps above for each platform
Problem: Package name already taken
Solution: Choose a different name in setup.py and pyproject.toml
Problem: Upload fails with authentication error
Solution: Use twine upload with --username and --password or configure .pypirc
Problem: Build fails with missing dependencies
Solution: Ensure all dependencies are listed in meta.yaml under requirements/run
Problem: Tests fail in conda build
Solution: Add required test files to the source distribution or simplify tests in meta.yaml
Problem: Command not found
Solution: Ensure you're in a pixi shell or use pixi run <command>
Problem: Dependencies not installing
Solution: Check that all channels are properly configured in pixi.toml
For deployment help or questions:
- Open an issue: https://github.com/Mxrcon/Bioinfo-python-scripts/issues
- Email: davijosuemarcon@gmail.com