How to install a package not on PyPI/Conda but available on GitHub
Overview
Are you trying to deploy your app to Streamlit Cloud, but don't know how to specify a Python dependency in your requirements file that is available on GitHub but not any package index like PyPI or Conda? If so, continue reading to find out how!
Let's suppose you want to install SomePackage
and its Python dependencies from GitHub, a hosting service for the popular version control system (VCS) Git. And suppose SomePackage
is found at the the following URL: https://github.com/SomePackage.git
.
pip (via requirements.txt
) supports installing from GitHub. This support requires a working executable to be available (for Git). It is used through a URL prefix: git+
.
Specify the GitHub web URL
To install SomePackage
, innclude the following in your requirements.txt
file:
git+https://github.com/SomePackage#egg=SomePackage
You can even specify a "git ref" such as branch name, a commit hash or a tag name, as shown in the examples below.
Specify a Git branch name
Install SomePackage
by specifying a branch name such as main
, master
, develop
, etc, in requirements.txt
:
git+https://github.com/SomePackage.git@main#egg=SomePackage
Specify a commit hash
Install SomePackage
by specifying a commit hash in requirements.txt
:
git+https://github.com/SomePackage.git@eb40b4ff6f7c5c1e4366cgfg0671291bge918#egg=SomePackage
Specify a tag
Install SomePackage
by specifying a tag in requirements.txt
:
git+https://github.com/SomePackage.git@v1.1.0#egg=SomePackage