Skip to content

Publishing your Snaketool or Nektool

Michael Roach edited this page Nov 21, 2022 · 1 revision

Adding to PyPI

Better instructions available here

Check your setup.py file and check if you need to make any changes. Next, create a source distribution with pip.

python setup.py sdist

Install twine if you don't already have it.

pip install twine

Create an account on PyPI, create an API token from PyPI, then you can upload your dist using the token. Username will be __token__ and password will be the token value.

# upload to the test server
twine upload --repository testpypi dist/*

# or upload for realsies
twine upload dist/*

Done! View your package on (test)PyPI and test the installation.

pip install -i https://test.pypi.org/simple/ my_snaketool

pip install my_snaketool

Adding to Conda

Install conda build.

conda install conda-build

Generate the metadata file.

conda skeleton pypi my_snaketool

Check the metadata file and make any changes (you might want to substitute snakemake for snakemake-minimal). You can then add this as a new bioconda recipe, or build the conda package and submit it to your own channel.

Upload to your conda channel

build from the directory you got with conda skeleton.

conda build my_snaketool

Create an account on anaconda then upload the build.

anaconda login
anaconda upload <path/to/conda-built-my_snaketool-file.bz2>

Test the installation.

conda create -n my_snaketool -c yourChannelName my_snaketool
Clone this wiki locally