A small API wrapper for the paperless-ngx dms.
Project description
Paperless API
Async Python wrapper for the paperless-ngx REST API endpoint. Find out more here: https://paperless-ngx.readthedocs.io/en/latest/api.html
It is very simple and stupid. Maybe I will update it in the future to add some nice stuff.
Examples
Request a list of correspondents and print them.
import asyncio
import pypaperless
async def main():
api = pypaperless.PaperlessAPI("http://127.0.0.1:9120", "SUPER_SECRET_API_TOKEN_HERE")
# alternative: api = pypaperless.PaperlessAPI("http://127.0.0.1:9120", username="user", password="pass")
correspondents = await api.get_correspondents()
for data in correspondents:
print(data.raw_data)
asyncio.run(main())
Same is possible for every other endpoint provided by the API, excepting logs.
doctypes = await api.get_document_types()
tags = await api.get_tags()
views = await api.get_saved_views()
documents = await api.get_documents()
tasks = await apt.get_tasks()
Request a single item by id from an endpoint.
doctype = await api.get_document_type(3)
tag = await api.get_tag(6)
document = await api.get_document(6)
task = await api.get_task(123)
by_task_id = await api.get_task_by_task_id("fdaa724b-xxxx-yyyy-aaf8-edc5c113c656")
Post a document to Paperless. Only the file is mandatory, title, creation date correspondent id, and document type id are optional. Tags are crurrently not supported.
await api.post_document("./invoice.pdf",title="Invoice bedroom closet")
Create a new correspondent:
correspondent = {
"name": "test",
"match": "test",
"matching_algorithm": 3,
"is_insensitive": "false",
}
print (await api.add_correspondent(correspondent))
Search for a document and receive a list of results. Search syntax is the same as in Paperless: https://docs.paperless-ngx.com/usage/#basic-usage_searching.
matching_documents = await api.search("bedroom*")
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for pypaperless-1.0.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 74333bc28e1e4f6dd1783fdeef8be335b7ef2872e0b3d767b87748e8c6386216 |
|
MD5 | 9bca92a53561faf1d50a1c82a1ff1f48 |
|
BLAKE2b-256 | 2ad8cd388fdb196c68c46ac3ee6ef04d9690abf40a024e7c2c3d296478ba5f96 |