Skip to content

About

Embedded local models made easy

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

2 stars

Watchers

0 watching

Forks

Latest commit

 

History

2,209 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pumas Library

Share one local model library across your applications, without keeping duplicate copies of the same weights.

Pumas Library combines a reusable Rust backend with an optional desktop app. Search Hugging Face, resume downloads, import existing files, and keep model metadata and runtime requirements alongside the files they describe. Applications can embed the Rust API or connect to the local HTTP/JSON-RPC server.

Pumas Library

Run the desktop app

Use Node.js 24.15.0, Rust 1.92.0 and Corepack, plus CMake and your platform's C/C++ build tools for native dependencies. The workspace pins pnpm in package.json. From a checkout:

git clone https://github.com/MrScripty/Pumas-Library.git
cd Pumas-Library
./launcher.sh --install
./launcher.sh --build
./launcher.sh --run

On Windows, use launcher.ps1 with the same flags. For a release build, use --build-release followed by --run-release. The launcher installs workspace packages; Rust, Node and Corepack must already be available. See development setup for platform details.

Your library root contains launcher-data/ and shared-resources/; models live in shared-resources/models/. Set PUMAS_LAUNCHER_ROOT to choose a root. Read the upgrade guide before opening an older library.

Run just the backend

Use Rust 1.92.0, CMake and your platform's C/C++ build tools. No Node, frontend assets or Electron are needed:

cargo build --manifest-path rust/Cargo.toml -p pumas-rpc --release
./rust/target/release/pumas-rpc --launcher-root /path/to/pumas --port 8080

The listener is loopback-only. Add --no-default-features to the build to omit inference-plugin integration. Inference runtimes and their native libraries have separate setup requirements; a working model catalog does not require every runtime.

Integrate it

Use pumas-library from pumas-core for an embedded library, or pumas-rpc for a separate process. One PumasApi owns a library root; use PumasLocalClient to connect to an existing owner. Native bindings are experimental: check their support status before choosing one.

Linux x64 is the primary runtime target. Windows x64 and macOS arm64 build artifacts exist, with narrower runtime qualification. See release guidance.

Go deeper

MIT License.

About

Embedded local models made easy

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages