doconda
Generate, review and edit Word (DOCX), PowerPoint (PPTX), Excel (XLSX) and PDF documents from your AI agent or chatbot, with one call. Editable files with real Word styles, reviewed before they are delivered.
Use it when your agent has to hand the user a document and you don't want to maintain python-docx, python-pptx, openpyxl or templates. Works with Amazon Bedrock, Vertex AI, OpenAI, Claude, Gemini, LangChain, CrewAI and any model with tool calling.
pip install doconda
from doconda import Doconda
doconda = Doconda() # reads DOCONDA_API_KEY
doc = doconda.documents.create(format="docx", prompt="Report on the housing law")
print(doc["outputs"]) # links to the Word file and the PDF
open("report.docx", "wb").write(doconda.documents.download(doc["id"], "docx"))
As tools for your agent
doconda.tools() returns ready-made tools (name, description, JSON Schema, run) to create, review and edit documents. With Amazon Bedrock (Converse API):
import json
import boto3
from doconda import Doconda
bedrock = boto3.client("bedrock-runtime")
tools = Doconda().tools()
tool_config = {
"tools": [
{"toolSpec": {"name": t.name, "description": t.description, "inputSchema": {"json": t.input_schema}}}
for t in tools
]
}
messages = [{"role": "user", "content": [{"text": "Make an Excel with the event budget"}]}]
while True:
res = bedrock.converse(modelId=MODEL_ID, messages=messages, toolConfig=tool_config)
message = res["output"]["message"]
messages.append(message)
if res["stopReason"] != "tool_use":
break
results = []
for block in message["content"]:
if "toolUse" in block:
use = block["toolUse"]
out = next(t for t in tools if t.name == use["name"]).run(use["input"])
results.append(
{"toolResult": {"toolUseId": use["toolUseId"], "content": [{"text": json.dumps(out)}]}}
)
messages.append({"role": "user", "content": results})
The same tools plug into Vertex AI / Gemini, OpenAI, Claude, LangChain or CrewAI: see the guides.
What else
documents.create(operation="review", file=…)andoperation="edit": review and fix, or change, an existing Word, PowerPoint, Excel or PDF.documents.stream(…): the document's events as they happen.extract(file): any file to Markdown for your model (free).files.upload(path_or_bytes),webhooks.create(url)andverify_webhook(body, headers, secret).
Docs: https://docs.doconda.com/en/sdk/python · Guides per stack: https://docs.doconda.com/en/agents/introduction · Get an API key: https://doconda.com
Metadata
Release files for doconda 0.1.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 | |
|---|---|---|---|
| doconda-0.1.0.tar.gz | 24.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| doconda-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 35.6 kB
Release files / doconda-0.1.0.tar.gz
| Download URL | doconda-0.1.0.tar.gz |
|---|---|
| Size | 24.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
26e003d98861ec8f6a51834af62c7188e3b56dc7425df71f6534089b2be46f51
|
|
BLAKE2b-256 checksum How to use checksums |
7083c17f46ac62998947d358b800b3965b5bdb96aca0b2d3d232f92c6fc84dcf
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.23 {"installer":{"name":"uv","version":"0.12.23","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / doconda-0.1.0-py3-none-any.whl
| Download URL | doconda-0.1.0-py3-none-any.whl |
|---|---|
| Size | 11.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
4566e367f5f2545739adbb35066065fcc032c7c65956b4f190d015b4487e6f3d
|
|
BLAKE2b-256 checksum How to use checksums |
ddf0355ec16e26c90e62c04fa97b91bf26901b33e601f4f24aa2c285fcb5e15e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.23 {"installer":{"name":"uv","version":"0.12.23","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|