Skip to main content

Private AI clusters pooled over the internet, on your hardware. No VPS, no API fees.

Project description

progresspals

Private AI clusters pooled over the internet, on your hardware. No VPS, no API fees.

ProgressPals lets a small group of trusted people pool their GPUs and run massive open-source language models that no single machine could host on its own. One CLI, one invite link, one local OpenAI-compatible endpoint.

Install

pip install progresspals

Requires Python 3.10+ on Linux or macOS. Windows is supported via WSL2.

Quick start

# 1. Authenticate (one-time)
pals init

# 2. Start a new private swarm
pals create Qwen/Qwen3-32B

# 3. Mint an invite for a teammate
pals invite create

# 4. They join with one command
pals join Qwen/Qwen3-32B <invite-token>

# 5. Expose an OpenAI-compatible endpoint at localhost:8080
pals serve

Then point Cursor, Aider, Continue, n8n, the OpenAI SDK, or anything that speaks /v1/chat/completions at http://localhost:8080/v1.

Supported models

Pass any of these HuggingFace model IDs directly to pals create:

Family Sizes
Qwen 3 0.6B, 1.7B, 4B, 8B, 14B, 32B (dense), 30B-A3B, 235B-A22B (MoE)
Qwen 3-Coder 30B-A3B, 480B-A35B
Qwen 2.5 0.5B, 1.5B, 3B, 7B, 14B, 32B, 72B
Qwen 2.5-Coder 0.5B, 1.5B, 3B, 7B, 14B, 32B
Llama 2 / 3 / 3.1 / 3.3 up to 405B
Mixtral 8x7B, 8x22B
Falcon 40B, 180B
BLOOM 176B

How it works

The model is split across machines. Each peer holds a slice of the transformer layers. Inputs flow through the chain one peer at a time and stream back. Pipeline parallelism over libp2p, with per-swarm AES-256-GCM encryption on activation tensors between peers.

Swarms are invite-only. No public discovery, no leaderboard, no telemetry. Membership lives as a per-swarm allow-list and is enforced server-side every ~30 seconds.

What's inside

  • Pipeline-parallel distributed inference for 8 model families
  • libp2p peer discovery + NAT traversal
  • Per-swarm AES-256-GCM activation encryption with HKDF-SHA256 key derivation
  • Single-use, regenerable invite tokens
  • Live peer dashboard (pals dash) — TUI with peer health, layer coverage, RPC stats
  • OpenAI-compatible HTTP server (pals serve) — /v1/chat/completions, /v1/models, SSE streaming
  • Member controls (pals peers list / kick, pals invite list / revoke)
  • Optional INT8 / NF4 quantization via bitsandbytes for smaller VRAM footprints

License

Apache License 2.0. See LICENSE and NOTICE for full text and attributions.

Links

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

progresspals-0.1.2.tar.gz (209.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

progresspals-0.1.2-py3-none-any.whl (250.9 kB view details)

Uploaded Python 3

File details

Details for the file progresspals-0.1.2.tar.gz.

File metadata

  • Download URL: progresspals-0.1.2.tar.gz
  • Upload date:
  • Size: 209.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for progresspals-0.1.2.tar.gz
Algorithm Hash digest
SHA256 adeff07b268fd92d6583f2dc0766ee4768039abd18a011f3938140e588b971d1
MD5 6242c4228623170e9dbda83afa23d536
BLAKE2b-256 4805a8f88794ef7a30f8a3a13974a8f080c0dbbb4e4fee6c938e4f39ce149090

See more details on using hashes here.

Provenance

The following attestation bundles were made for progresspals-0.1.2.tar.gz:

Publisher: publish-pypi.yml on oceanmanfran/Progresspalspods

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file progresspals-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: progresspals-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 250.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for progresspals-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 0dbb048d530770979ca24cd98db547b2bb841dceef04d4e88cf5f9f8171aff31
MD5 c6c47d678e47cd2bfffadac2fcaab60b
BLAKE2b-256 2c04a59749aeea931cb8c8b659589b3ad899782cd2b4c6df0f456b15f3d8d708

See more details on using hashes here.

Provenance

The following attestation bundles were made for progresspals-0.1.2-py3-none-any.whl:

Publisher: publish-pypi.yml on oceanmanfran/Progresspalspods

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page