Skip to main content

Python SDK for the Docufast API

Project description

Docufast

Docufast Python SDK

Programmatic access to your Docufast workspaces, collections, and media.

PyPI Python Docs License


Installation

pip install docufast
# or
poetry add docufast
# or
uv add docufast

Quick Start

from docufast import Docufast

client = Docufast(api_key="df_sdk_xxx", base_url="https://api.docufa.st")

# List your workspaces
workspaces = client.workspaces.list()

# Upload a document with custom metadata
doc = client.documents.upload(
    collection_id="uuid",
    file_path="./invoice.pdf",
    external_metadata={"customer_id": "123", "type": "invoice"},
)

# Create a note
note = client.notes.create(
    collection_id="uuid",
    name="Meeting Notes",
    data="Key decisions from today's meeting...",
    external_metadata={"meeting_id": "456"},
)

client.close()

Context Manager

with Docufast(api_key="df_sdk_xxx") as client:
    workspaces = client.workspaces.list()
    for ws in workspaces:
        print(ws.name)

Resources

Resource Methods
client.workspaces list()
client.collections list(workspace_id), create(...), delete(id)
client.documents upload(...), get(id), update_metadata(...), download(id), delete(id)
client.images upload(...), get(id), update_metadata(...), delete(id)
client.audio upload(...), get(id), update_metadata(...), delete(id)
client.videos upload(...), get(id), update_metadata(...), delete(id)
client.notes create(...), get(id), update_metadata(...), delete(id)
client.entities list(), create(...), get(id), delete(id), link_to_document(...)
client.locations list(), create(...), get(id), delete(id), link_to_document(...)

External Metadata

Every media type supports an external_metadata field — a free-form JSON object for storing app-specific data alongside your files:

doc = client.documents.upload(
    collection_id="uuid",
    file_path="./report.pdf",
    external_metadata={
        "source": "billing-system",
        "customer_id": "cust_123",
        "generated_at": "2026-03-10T12:00:00Z",
    },
)

# Update metadata later
client.documents.update_metadata(doc.id, {
    "source": "billing-system",
    "customer_id": "cust_123",
    "status": "reviewed",
})

Entities & Locations

Track people, companies, and physical locations linked to your documents:

# Create an entity
sender = client.entities.create(name="Acme Corp", entity_type="company")

# Create a location
office = client.locations.create(name="HQ", location="123 Main St")

# Link them to a document
client.entities.link_to_document(doc.id, sender_entity_id=sender["id"])
client.locations.link_to_document(doc.id, office["id"])

API Keys

Generate API keys from the Developers page at docufa.st. Keys are scoped to specific workspaces and prefixed with df_sdk_.

Links

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

docufast-0.3.0.tar.gz (6.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

docufast-0.3.0-py3-none-any.whl (11.6 kB view details)

Uploaded Python 3

File details

Details for the file docufast-0.3.0.tar.gz.

File metadata

  • Download URL: docufast-0.3.0.tar.gz
  • Upload date:
  • Size: 6.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for docufast-0.3.0.tar.gz
Algorithm Hash digest
SHA256 bfc6b9246129fdc2539c02e29af7c608a7eee01dbdd63df97b30c1c0815605f2
MD5 6824c7a86c4a5e1ee20c62aa75b31dd6
BLAKE2b-256 7f0417f9012606011238f5f9a6e8b3b2738c38148e9604c3c6419810a39ce1d0

See more details on using hashes here.

File details

Details for the file docufast-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: docufast-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 11.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for docufast-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 fa1f745885f9de74d1e31ed8c3baa73ac46644072014b6056bea4ce6c0a8ea5a
MD5 16d6cbcd784283bfd5b4ad6c7845e454
BLAKE2b-256 6ab538e3886d60d11997f94da74cc963fd866ed80c0c5d9eae315a1932da7536

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page