aixai-labs
Official Python SDK for the AIxAI API.
AIxAI is an AI agency in Jaipur, India that builds and runs production AI systems: chatbots grounded in your own documents, workflow automation, data intelligence, and the pipelines underneath them.
The API is public and unauthenticated — there is no key to configure — and this package has no runtime dependencies.
pip install aixai-labs
The distribution is aixai-labs; the import is aixai.
Browse the service catalog
from aixai import AIxAI
client = AIxAI()
for service in client.iter_services(): # follows pagination for you
print(service["slug"], "—", service["title"])
chatbots = client.get_service("custom-ai-chatbots")
print(chatbots["longDescription"])
print(chatbots["useCases"])
Find the right service for a need
for match in client.search("chatbot over our internal handbook"):
print(match["score"], match["name"], match["url"])
Submit a project inquiry
Every non-dry-run call delivers a real email to the AIxAI team. Only send one with the end user's consent, using their own reply-to address.
# Rehearse first — validates the request without sending anything.
client.submit_inquiry(
name="Ada Lovelace",
email="ada@example.com",
message="We want a RAG chatbot over our internal docs.",
dry_run=True,
)
# Send for real.
result = client.submit_inquiry(
name="Ada Lovelace",
email="ada@example.com",
message="We want a RAG chatbot over our internal docs.",
)
print(result["message"])
An Idempotency-Key is generated for you, so a retried request after a network failure replays the original response instead of delivering a second email. Pass idempotency_key=... to control it yourself.
There is also a dedicated sandbox that never delivers, whatever you pass:
client.sandbox_inquiry(name="Ada", email="ada@example.com", message="testing")
Errors
Every failure raises an exception carrying the API's structured error fields:
from aixai import AIxAI, RateLimitError, ValidationError, AIxAIError
try:
client.submit_inquiry(name="Ada", email="not-an-email", message="hi")
except ValidationError as exc:
print(exc.code, exc.message, exc.hint) # validation_error ...
except RateLimitError as exc:
print("wait", exc.retry_after, "seconds")
except AIxAIError as exc:
print(exc.status, exc.code)
Rate limits are 10 requests/minute for inquiries and 60 for the catalog, per IP.
Command line
aixai services
aixai service custom-ai-chatbots
aixai search "automate invoice processing"
aixai contact --name "Ada Lovelace" --email ada@example.com --message "..." --dry-run
Other ways in
- MCP server —
https://www.aixai.co.in/api/mcp(Streamable HTTP, no auth), plus a documentation server at/api/mcp-docs - REST — OpenAPI specification
- Node CLI —
aixai-cli - Agent guidance — llms.txt
License
MIT. Contact: HQ@aixai.co.in
Release files for aixai-labs 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| aixai_labs-1.0.0.tar.gz | 8.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| aixai_labs-1.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 16.6 kB
Release files / aixai_labs-1.0.0.tar.gz
| Download URL | aixai_labs-1.0.0.tar.gz |
|---|---|
| Size | 8.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d0ace581d64899b32e22ff0687c9e6ea01f834ab2a5d99f24f5d08861e2b3aab
|
|
BLAKE2b-256 checksum How to use checksums |
28bfe1e51a04bc1fd7798e14581c1567923873fced9f06bdfd1aa53df279e8cc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.6
|
Release files / aixai_labs-1.0.0-py3-none-any.whl
| Download URL | aixai_labs-1.0.0-py3-none-any.whl |
|---|---|
| Size | 8.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
2380e14603f99e80cf500bc881c7b1eb12a756545dbc5473f50f99c2b6cd7c4a
|
|
BLAKE2b-256 checksum How to use checksums |
aa3bd9e6d3d606c70feaa13e7dec72c5c0e606d4dc68790f3370c62cad488fab
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.6
|