WACP (Web Agent Client Protocol) Python SDK (wacp)
Version: 2.0.4
pip install wacp
One package, all frameworks. Same function name everywhere:
from wacp.fastapi import wacp_router # FastAPI
from wacp.flask import wacp_router # Flask
from wacp.django import wacp_router # Django
Only pydantic is installed as a dependency. Your framework (fastapi/flask/django) must already be in your environment.
Quick start — FastAPI
from fastapi import FastAPI
from wacp.fastapi import wacp_router
app = FastAPI()
app.include_router(
wacp_router(
app,
base_dir="ai",
discover=True,
)
)
Quick start — Flask
from flask import Flask
from wacp.flask import wacp_router
app = Flask(__name__)
app.register_blueprint(
wacp_router(
app,
base_dir="ai",
discover=True,
)
)
Quick start — Django
# urls.py
from wacp.django import wacp_router
urlpatterns = [
# ... your routes ...
] + wacp_router(base_dir="ai", discover=True, urlconf="myproject.urls")
If ai/config/ does not exist, the SDK auto-scaffolds starter JSON files + a setup guide on first boot.
Package layout
wacp/
core/ # config, scaffold, search, types (shared across all frameworks)
fastapi/ # FastAPI adapter (wacp_router, FastAPIDiscovery)
flask/ # Flask adapter (wacp_router, FlaskDiscovery)
django/ # Django adapter (wacp_router, DjangoDiscovery)
Routes
| Method | Path | Purpose |
|---|---|---|
| GET | /ai |
Entry: app info, navigation, quick access |
| GET | /ai/all |
Flat list of endpoints (?page=&limit= optional) |
| GET | /ai/category |
Category index |
| GET | /ai/category/{id} |
Endpoints in a category |
| GET | /ai/endpoint/{id} |
Full endpoint detail |
| GET | /ai/docs |
Docs index |
| GET | /ai/docs/{filename} |
Raw doc content |
| GET | /ai/search?q= |
Lexical search |
Discovery
Each adapter supports discover=True which scans your app's routes and writes config/_discovered.json:
- FastAPI:
wacp_router(app, discover=True) - Flask:
wacp_router(app, discover=True) - Django:
wacp_router(discover=True, urlconf="myproject.urls")
The file is never served and never merged — copy blocks into your endpoints.json.
Search & pagination
Lightweight lexical search via GET /ai/search?q=....
List routes accept optional ?page=&limit=.
License
MIT
Release files for wacp 2.0.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| wacp-2.0.4.tar.gz | 1.3 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| wacp-2.0.4-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 2.7 MB
Release files / wacp-2.0.4.tar.gz
| Download URL | wacp-2.0.4.tar.gz |
|---|---|
| Size | 1.3 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0674b67754562529fe225cf1b9e686eaf0c6484dfde5abcaba636184dd672e92
|
|
BLAKE2b-256 checksum How to use checksums |
262c0c6876a7d629bd566b5954fe52bb00360a799830612665c01177378683f9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.11
|
Release files / wacp-2.0.4-py3-none-any.whl
| Download URL | wacp-2.0.4-py3-none-any.whl |
|---|---|
| Size | 1.4 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
9b538e3bfe0a449dd77bb41a5a0aa276cb70d480a6e2065e5ee6f226ba7e842e
|
|
BLAKE2b-256 checksum How to use checksums |
732d94812f0d465a0a78abc3dbd6f996cacb3a67061a6999f78b13973f6cb7f1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.11
|