Handling Spaces Dependencies
Default dependencies
The default Spaces environment comes with several pre-installed dependencies:
The
huggingface_hub
client library allows you to manage your repository and files on the Hub with Python and programmatically access the Inference API from your Space. If you choose to instantiate the model in your app with the Inference API, you can benefit from the built-in acceleration optimizations. This option also consumes less computing resources, which is always nice for the environment! 🌎Refer to this page for more information on how to programmatically access the Inference API.
requests
is useful for calling third-party APIs from your app.datasets
allows you to fetch or display any dataset from the Hub inside your app.The SDK you specified, which could be either
streamlit
orgradio
. The version is specified in theREADME.md
file.Common Debian packages, such as
ffmpeg
,cmake
,libsm6
, and few others.
Adding your own dependencies
If you need other Python packages to run your app, add them to a requirements.txt file at the root of the repository. The Spaces runtime engine will create a custom environment on-the-fly. You can also add a pre-requirements.txt file describing dependencies that will be installed before your main dependencies. It can be useful if you need to update pip itself.
Debian dependencies are also supported. Add a packages.txt file at the root of your repository, and list all your dependencies in it. Each dependency should be on a separate line, and each line will be read and installed by apt-get install
.