Skip to content

Packaging Alpaca

Jeffry Samuel edited this page Mar 7, 2025 · 7 revisions

Alpaca is open source and welcomes external packaging, whilst my intentions with the project is for it to be package in sandboxed universal solutions (Snap and Flatpak), I'm also willing to publicize other packaging methods.

Summary

  • Running Alpaca outside a sandbox might be dangerous.
  • There are required dependencies you must include for Alpaca to run.
  • You shouldn't make Ollama a requirement, Alpaca can run without a local instance.

Understanding the Importance of Sandbox

When packaging Alpaca you need to be aware of the importance in sandboxing Alpaca, that mainly has to do with how code running work.

Dependencies

Alpaca uses many Python libraries and other open source projects to include functionality, mainly the connection to Ollama, attachment handling, YouTube caption extraction, ETC.

Needed

Name Reason
Requests Communication with Ollama instance.
Pillow Handling images.
PyPDF Extracting text from PDF.
YouTube-Transcript-API Extracting transcripts from YouTube videos.
HTML2Text Extracting text from webpages.
PyDBus Publishing Alpaca to DBus.
ODFPy Extracting text from ODT files.
VTE Internal terminal for running scripts.
PyICU Translating language names for models.
Matplotlib Rendering LaTeX equations.
LibSpelling Spellchecker.
OpenAI Handling instance connection

Ollama Involvement

Alpaca has been made in a way that makes it work with or without an included Ollama instance, this is important because many people might want to run Alpaca with existing Ollama instances in external servers or containers.

So, Ollama should not be included in any repackaging of Alpaca.

Clone this wiki locally