Skip to main content

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=…) and operation="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) and verify_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)

Source distribution for doconda 0.1.0
File Size Uploaded
doconda-0.1.0.tar.gz 24.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for doconda 0.1.0
File Interpreter ABI Platform
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}

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page