GemmaNet - The Operating System for the AI Economy
Project description
GemmaNet
The Operating System for the AI Economy
GemmaNet is a model-agnostic platform that turns any AI model into a node in a global AI services network. Provide services in 10 lines of code, consume them in 5. Whether you're running Gemma, Llama, Qwen, Mistral, or your own fine-tuned model, GemmaNet handles discovery, routing, load balancing, and credit transfers so you can focus on building great AI applications.
Features
- Model Agnostic — Use any AI model: Gemma, Llama, Qwen, Mistral, or your own
- Provide in 10 Lines — Register a node and start serving requests with minimal code
- Consume in 5 Lines — Send tasks to the network and get results instantly
- Earn Credits — Serve AI requests from other users and earn credits automatically
- Smart Routing — Requests are routed to the best available node based on capability and load
- Task Splitting — Large tasks are automatically split across multiple nodes for parallel processing
- Built-in Credits — Integrated credit system for frictionless payments between nodes
- Dashboard — Real-time web dashboard for monitoring nodes, tasks, and credit balances
- Open Source — Apache 2.0 licensed, community-driven development
Quick Start
Installation
pip install gemmanet
Create a Node (Provider)
from gemmanet import Node
node = Node(
name="my-echo-node",
capabilities=["echo"],
hub_url="ws://localhost:8000/ws/node",
)
@node.handler("echo")
async def handle_echo(task):
return {"response": task.payload["text"]}
node.run()
Send a Task (Client)
from gemmanet import Client
client = Client(hub_url="http://localhost:8000")
result = client.send_task("echo", {"text": "Hello, GemmaNet!"})
print(result)
Documentation
How It Works
- Create Nodes — Register AI models as nodes with declared capabilities
- Connect — Nodes connect to the GemmaNet hub via WebSocket
- Route — The hub routes incoming tasks to the best available node
- Transfer Credits — Credits are automatically transferred from consumers to providers
Development
# Clone the repository
git clone https://github.com/gemmanet/gemmanet.git
cd gemmanet
# Create a virtual environment
python -m venv .venv
source .venv/bin/activate
# Install in development mode
pip install -e ".[dev]"
# Run tests
pytest tests/ -v --ignore=tests/test_e2e.py
# Lint
ruff check src/
Contributing
We welcome contributions! Please see CONTRIBUTING.md for guidelines on how to get started.
License
GemmaNet is licensed under the Apache License 2.0.
Disclaimer: Gemma is a trademark of Google LLC. GemmaNet is an independent open-source project and is not affiliated with, endorsed by, or sponsored by Google.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file gemmanet-0.1.0a1.tar.gz.
File metadata
- Download URL: gemmanet-0.1.0a1.tar.gz
- Upload date:
- Size: 23.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
40001b4e8d4caaa58178330392efef94f1f4821f8fe9dc1d9b0c1e71c2d03561
|
|
| MD5 |
22bb40f3183001d1997f6bb5dda292ae
|
|
| BLAKE2b-256 |
6d1315269aa34fdb439b03f0c34cb6072b3c793226d328acfa8931503a4098dd
|
File details
Details for the file gemmanet-0.1.0a1-py3-none-any.whl.
File metadata
- Download URL: gemmanet-0.1.0a1-py3-none-any.whl
- Upload date:
- Size: 24.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4251f261b8ac8030d75c7b02aa96ae684f71bcf800548a236598b402b3273e81
|
|
| MD5 |
6f8a59738616f813621c1153d881b7e3
|
|
| BLAKE2b-256 |
5ce68f53f73ddf939a2f4bfe825899f654d6424f8fc3848e59d78517f92f72ed
|