python-documentcloud
A simple Python wrapper for the DocumentCloud API
What it is and what it does
python-documentcloud is a client library that abstracts the DocumentCloud REST API into Python objects and methods. It handles authentication, rate limiting, and HTTP communication so you can work with documents and projects programmatically rather than through the web interface. The package wraps core DocumentCloud operations—retrieving public and private documents, uploading PDFs, organizing into projects, and downloading extracted text and images—into a straightforward Python API.
The library depends on requests for HTTP, ratelimit and token-bucket for API throttling, python-dateutil for timestamp handling, and pyyaml and fastjsonschema for configuration and validation. It's designed for developers who need to integrate DocumentCloud into Python workflows, such as batch processing documents, automating uploads, or building tools that query a DocumentCloud repository.
Use it for:
- Batch upload a folder of PDFs to DocumentCloud and organize them into projects programmatically.
- Query and download extracted text from documents in your DocumentCloud account for analysis or indexing.
- Automate document management tasks like tagging, organizing, or updating metadata across many documents.
- Build a Python application that reads from or writes to a shared DocumentCloud repository.
- Extract and process images that DocumentCloud has already extracted from your PDF collection.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
A Python wrapper for the DocumentCloud API that lets you retrieve, upload, and manage documents and projects on documentcloud.org, including downloading extracted text and images from PDFs.
Yes. The package is actively maintained, has low install friction, carries a permissive MIT license, and has no known vulnerabilities. Install it if you need to work with DocumentCloud programmatically from Python; skip it if you only use the web interface or need features not yet wrapped by the library.
Install
python-documentcloud on PyPI
pip
pip install python-documentclouduv
uv add python-documentcloudpoetry
poetry add python-documentcloudInstalling python-documentcloud
Before you install
Low install friction with a pure-Python wheel. Active maintenance: last commit 2026-06-29, released 46 days ago. Ten runtime dependencies including requests, ratelimit, and token-bucket for API interaction.
License in practice
MIT license (permissive) means you can use, modify, and distribute this package freely in commercial and private projects with minimal restrictions.
Quickstart
pip install python-documentcloud
from documentcloud import DocumentCloud
client = DocumentCloud(username='your_email', password='your_password')
documents = client.documents.all()
Requires valid DocumentCloud account credentials (username and password or API token) to authenticate with the service.
Verify before relying
- Whether the package supports modern authentication methods beyond username/password (e.g., API tokens or OAuth).
- Performance characteristics when working with large document collections or bulk uploads.
- Whether all DocumentCloud API endpoints are fully wrapped or if some require direct HTTP calls.
Package facts
| License | MIT (permissive) |
| Python support | not specified |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 10 — future, listcrunch, python-dateutil, ratelimit, requests, urllib3, pyyaml, fastjsonschema, python-squarelet, token-bucket |
| Maintenance | actively maintained — 46 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 259,580/month — #8,411 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: python_documentcloud-4.8.1-py2.py3-none-any.whl
Tags
More WWW/HTTP packages
urllib3 is an HTTP client library that provides…
permissive · top 100 on PyPI
requestsRequests is a Python HTTP library that…
permissive · top 100 on PyPI
h11h11 is a pure-Python HTTP/1.1 protocol…
permissive · top 100 on PyPI
httpxHTTPX is a fully featured HTTP client library…
permissive · top 100 on PyPI
httpcoreA minimal low-level HTTP client library that…
permissive · top 100 on PyPI
aiohttpaiohttp is an async HTTP client and server…
permissive · top 100 on PyPI
aurelio-sdkClient library for the Aurelio Platform that…
unclear · top 15,000 on PyPI
cloudconvertOfficial Python SDK for CloudConvert API v2,…
permissive · top 15,000 on PyPI
osfclientosfclient is a Python library and command-line…
permissive · top 15,000 on PyPI
pdfservices-sdkClient library for Adobe PDF Services API,…
permissive · top 15,000 on PyPI
chunkr-aiA Python client for the Chunkr document…
permissive · top 5,000 on PyPI
python-squareletA Python client library for authenticating with…
permissive · top 15,000 on PyPI
pypdftkPython wrapper that drives the pdftk binary to…
permissive · top 15,000 on PyPI
PyPDF4PyPDF4 is a pure-Python PDF toolkit for…
permissive · top 15,000 on PyPI
extend-aiOfficial Python SDK for the Extend document…
permissive · top 15,000 on PyPI
PyPDF3PyPDF3 is a pure-Python PDF toolkit for…
permissive · top 15,000 on PyPI