paperap.resources package
METADATA:
- File: __init__.py
Project: paperap
- Created: 2025-03-04
Version: 0.0.9
Author: Jess Mann Email: jess@jmann.me
Copyright (c) 2025 Jess Mann
LAST MODIFIED:
2025-03-04 By Jess Mann
- class paperap.resources.DocumentNoteResource(client)[source]
Bases:
StandardResource[DocumentNote,DocumentNoteQuerySet]Resource for managing document notes.
- Parameters:
client (
PaperlessClient)
- endpoints: ClassVar[Endpoints] = {'list': <string.Template object>}
- model_class
alias of
DocumentNote
- name: str = 'notes'
- queryset_class
alias of
DocumentNoteQuerySet
- class paperap.resources.DocumentResource(client)[source]
Bases:
StandardResource[Document,DocumentQuerySet]Resource for managing documents.
- Parameters:
client (
PaperlessClient)
- bulk_action(action, ids, **kwargs)[source]
Perform a bulk action on multiple documents.
- Parameters:
- Return type:
- Returns:
The API response
- Raises:
ConfigurationError – If the bulk edit endpoint is not defined
- bulk_merge(ids, metadata_document_id=None, delete_originals=False)[source]
Merge multiple documents.
- Parameters:
- Return type:
- Returns:
True if submitting the merge was successful
- Raises:
BadResponseError – If the merge action returns an unexpected response
APIError – If the merge action fails
- bulk_modify_custom_fields(ids, add_custom_fields=None, remove_custom_fields=None)[source]
Modify custom fields on multiple documents.
- bulk_set_permissions(ids, permissions=None, owner_id=None, merge=False)[source]
Set permissions for multiple documents.
- Parameters:
- Return type:
- Returns:
The API response
- endpoints: ClassVar[Endpoints] = {'create': <string.Template object>, 'delete': <string.Template object>, 'detail': <string.Template object>, 'download': <string.Template object>, 'empty_trash': <string.Template object>, 'list': <string.Template object>, 'next_asn': <string.Template object>, 'preview': <string.Template object>, 'thumbnail': <string.Template object>, 'update': <string.Template object>, 'upload': <string.Template object>}
- name: str = 'documents'
- queryset_class
alias of
DocumentQuerySet
- upload_async(filepath, **metadata)[source]
Upload a document from a file to paperless ngx.
- Parameters:
filepath (
Path|str) – The path to the file to upload.- Return type:
- Returns:
A UUID string (task identifier) as returned by Paperless ngx. e.g. ca6a6dc8-b434-4fcd-8436-8b2546465622
- Raises:
FileNotFoundError – If the file does not exist.
ResourceNotFoundError – If the upload fails.
- upload_content(file_content, filename, **metadata)[source]
Upload a document with optional metadata.
- Parameters:
- Returns:
ca6a6dc8-b434-4fcd-8436-8b2546465622 This is likely a task id, or similar.
- Return type:
A string that looks like this
- Raises:
ResourceNotFoundError – If the upload fails
- upload_sync(filepath, max_wait=300, poll_interval=1.0, **metadata)[source]
Upload a document and wait until it has been processed.
- Parameters:
- Return type:
- Returns:
A Document instance once available.
- Raises:
APIError – If the document is not processed within the max_wait.
BadResponseError – If document processing succeeds but no document ID is returned.
- class paperap.resources.CorrespondentResource(client)[source]
Bases:
StandardResource[Correspondent,CorrespondentQuerySet],BulkEditingResource for managing correspondents.
- Parameters:
client (
PaperlessClient)
- endpoints: ClassVar[Endpoints] = {'create': <string.Template object>, 'delete': <string.Template object>, 'detail': <string.Template object>, 'list': <string.Template object>, 'update': <string.Template object>}
- model_class
alias of
Correspondent
- name: str = 'correspondents'
- queryset_class
alias of
CorrespondentQuerySet
- class paperap.resources.TagResource(client)[source]
Bases:
StandardResource[Tag,TagQuerySet],BulkEditingResource for managing tags.
- Parameters:
client (
PaperlessClient)
- endpoints: ClassVar[Endpoints] = {'create': <string.Template object>, 'delete': <string.Template object>, 'detail': <string.Template object>, 'list': <string.Template object>, 'update': <string.Template object>}
- name: str = 'tags'
- queryset_class
alias of
TagQuerySet
- class paperap.resources.DocumentTypeResource(client)[source]
Bases:
StandardResource[DocumentType,DocumentTypeQuerySet],BulkEditingResource for managing document types.
- Parameters:
client (
PaperlessClient)
- endpoints: ClassVar[Endpoints] = {'create': <string.Template object>, 'delete': <string.Template object>, 'detail': <string.Template object>, 'list': <string.Template object>, 'update': <string.Template object>}
- model_class
alias of
DocumentType
- name: str = 'document_types'
- queryset_class
alias of
DocumentTypeQuerySet
- class paperap.resources.DocumentMetadataResource(client)[source]
Bases:
StandardResource[DocumentMetadata,DocumentMetadataQuerySet]- Parameters:
client (
PaperlessClient)
- endpoints: ClassVar[Endpoints] = {'detail': <string.Template object>}
- model_class
alias of
DocumentMetadata
- name: str = 'document_metadata'
- queryset_class
alias of
DocumentMetadataQuerySet
- class paperap.resources.DocumentSuggestionsResource(client)[source]
Bases:
StandardResource[DocumentSuggestions,DocumentSuggestionsQuerySet]- Parameters:
client (
PaperlessClient)
- endpoints: ClassVar[Endpoints] = {'detail': <string.Template object>}
- model_class
alias of
DocumentSuggestions
- name: str = 'document_suggestions'
- queryset_class
alias of
DocumentSuggestionsQuerySet
- class paperap.resources.DownloadedDocumentResource(client)[source]
Bases:
StandardResource[DownloadedDocument,DownloadedDocumentQuerySet]Resource for managing downloaded document content.
- Parameters:
client (
PaperlessClient)
- endpoints: ClassVar[Endpoints] = {RetrieveFileMode.DOWNLOAD: <string.Template object>, RetrieveFileMode.PREVIEW: <string.Template object>, RetrieveFileMode.THUMBNAIL: <string.Template object>}
- load(downloaded_document)[source]
Load the document file content from the API.
This method fetches the binary content of the document file and updates the model with the response data.
- Parameters:
downloaded_document (
DownloadedDocument)- Return type:
- model_class
alias of
DownloadedDocument
- name: str = 'document'
- queryset_class
alias of
DownloadedDocumentQuerySet
- class paperap.resources.ProfileResource(client)[source]
Bases:
StandardResource[Profile,ProfileQuerySet]Resource for managing profiles.
- Parameters:
client (
PaperlessClient)
- endpoints: ClassVar[Endpoints] = {'create': <string.Template object>, 'delete': <string.Template object>, 'detail': <string.Template object>, 'list': <string.Template object>, 'update': <string.Template object>}
- name: str = 'profile'
- queryset_class
alias of
ProfileQuerySet
Bases:
StandardResource[ShareLinks,ShareLinksQuerySet]Resource for managing share links.
- Parameters:
client (
PaperlessClient)
alias of
ShareLinks
alias of
ShareLinksQuerySet
- class paperap.resources.StoragePathResource(client)[source]
Bases:
StandardResource[StoragePath,StoragePathQuerySet],BulkEditingResource for managing storage paths.
- Parameters:
client (
PaperlessClient)
- endpoints: ClassVar[Endpoints] = {'create': <string.Template object>, 'delete': <string.Template object>, 'detail': <string.Template object>, 'list': <string.Template object>, 'update': <string.Template object>}
- model_class
alias of
StoragePath
- name: str = 'storage_paths'
- queryset_class
alias of
StoragePathQuerySet
- class paperap.resources.CustomFieldResource(client)[source]
Bases:
StandardResource[CustomField,CustomFieldQuerySet]Resource for managing custom fields.
- Parameters:
client (
PaperlessClient)
- endpoints: ClassVar[Endpoints] = {'create': <string.Template object>, 'delete': <string.Template object>, 'detail': <string.Template object>, 'list': <string.Template object>, 'update': <string.Template object>}
- model_class
alias of
CustomField
- name: str = 'custom_fields'
- queryset_class
alias of
CustomFieldQuerySet
- class paperap.resources.UserResource(client)[source]
Bases:
StandardResource[User,UserQuerySet]Resource for managing users.
- Parameters:
client (
PaperlessClient)
- endpoints: ClassVar[Endpoints] = {'create': <string.Template object>, 'delete': <string.Template object>, 'detail': <string.Template object>, 'list': <string.Template object>, 'update': <string.Template object>}
- queryset_class
alias of
UserQuerySet
- class paperap.resources.GroupResource(client)[source]
Bases:
StandardResource[Group,GroupQuerySet]Resource for managing groups.
- Parameters:
client (
PaperlessClient)
- endpoints: ClassVar[Endpoints] = {'create': <string.Template object>, 'delete': <string.Template object>, 'detail': <string.Template object>, 'list': <string.Template object>, 'update': <string.Template object>}
- queryset_class
alias of
GroupQuerySet
- class paperap.resources.TaskResource(client)[source]
Bases:
StandardResource[Task,TaskQuerySet]Resource for managing tasks.
- Parameters:
client (
PaperlessClient)
- endpoints: ClassVar[Endpoints] = {'create': <string.Template object>, 'delete': <string.Template object>, 'detail': <string.Template object>, 'list': <string.Template object>, 'update': <string.Template object>}
- execute_task(method, endpoint, data=None, max_wait=300)[source]
Execute a task synchronously.
This is a helper method that executes a task and waits for its completion.
- Parameters:
- Return type:
- Returns:
The task object, once completed.
- Raises:
APIError – If the task fails or times out
- get_task_result(task_id, wait=True, max_wait=300)[source]
Get the result of a task.
- Parameters:
- Return type:
- Returns:
The result of the task.
- Raises:
APIError – If the task fails or times out.
ResourceNotFoundError – If the task cannot be found.
- queryset_class
alias of
TaskQuerySet
- wait_for_task(task_id, max_wait=300, poll_interval=1.0, success_callback=None, failure_callback=None)[source]
Wait for a task to complete.
- Parameters:
task_id (
str) – The task ID to wait for.max_wait (
int) – Maximum time (in seconds) to wait for completion.poll_interval (
float) – Seconds between polling attempts.success_callback (
Optional[Callable[[Task],None]]) – Optional callback to execute when task succeeds.failure_callback (
Optional[Callable[[Task],None]]) – Optional callback to execute when task fails.
- Return type:
- Returns:
The completed Task instance.
- Raises:
APIError – If the task fails or times out.
ResourceNotFoundError – If the task cannot be found.
- class paperap.resources.SavedViewResource(client)[source]
Bases:
StandardResource[SavedView,SavedViewQuerySet]Resource for managing saved views.
- Parameters:
client (
PaperlessClient)
- endpoints: ClassVar[Endpoints] = {'create': <string.Template object>, 'delete': <string.Template object>, 'detail': <string.Template object>, 'list': <string.Template object>, 'update': <string.Template object>}
- name: str = 'saved_views'
- queryset_class
alias of
SavedViewQuerySet
- class paperap.resources.UISettingsResource(client)[source]
Bases:
StandardResource[UISettings,UISettingsQuerySet]Resource for managing UI settings.
- Parameters:
client (
PaperlessClient)
- delete(model_id)[source]
Delete a resource.
- Parameters:
model_id (
int|UISettings) – ID of the resource.- Return type:
- endpoints: ClassVar[Endpoints] = {'create': <string.Template object>, 'delete': <string.Template object>, 'detail': <string.Template object>, 'list': <string.Template object>, 'update': <string.Template object>}
- get_current()[source]
Get the current user’s UI settings.
- Return type:
- Returns:
The current user’s UI settings.
- model_class
alias of
UISettings
- name: str = 'ui_settings'
- queryset_class
alias of
UISettingsQuerySet
- class paperap.resources.WorkflowResource(client)[source]
Bases:
StandardResource[Workflow,WorkflowQuerySet]Resource for managing workflows.
- Parameters:
client (
PaperlessClient)
- endpoints: ClassVar[Endpoints] = {'create': <string.Template object>, 'delete': <string.Template object>, 'detail': <string.Template object>, 'list': <string.Template object>, 'update': <string.Template object>}
- name: str = 'workflows'
- queryset_class
alias of
WorkflowQuerySet
- class paperap.resources.WorkflowTriggerResource(client)[source]
Bases:
StandardResource[WorkflowTrigger,WorkflowTriggerQuerySet]Resource for managing workflow triggers.
- Parameters:
client (
PaperlessClient)
- endpoints: ClassVar[Endpoints] = {'create': <string.Template object>, 'delete': <string.Template object>, 'detail': <string.Template object>, 'list': <string.Template object>, 'update': <string.Template object>}
- model_class
alias of
WorkflowTrigger
- name: str = 'workflow_triggers'
- queryset_class
alias of
WorkflowTriggerQuerySet
- class paperap.resources.WorkflowActionResource(client)[source]
Bases:
StandardResource[WorkflowAction,WorkflowActionQuerySet]Resource for managing workflow actions.
- Parameters:
client (
PaperlessClient)
- endpoints: ClassVar[Endpoints] = {'create': <string.Template object>, 'delete': <string.Template object>, 'detail': <string.Template object>, 'list': <string.Template object>, 'update': <string.Template object>}
- model_class
alias of
WorkflowAction
- name: str = 'workflow_actions'
- queryset_class
alias of
WorkflowActionQuerySet
Submodules
- paperap.resources.base module
BaseResourceBaseResource.model_classBaseResource.queryset_classBaseResource.endpointsBaseResource.__init__()BaseResource.clientBaseResource.nameBaseResource.__init_subclass__()BaseResource.get_endpoint()BaseResource.all()BaseResource.filter()BaseResource.get()BaseResource.create()BaseResource.update()BaseResource.update_dict()BaseResource.delete()BaseResource.parse_to_model()BaseResource.transform_data_input()BaseResource.transform_data_output()BaseResource.create_model()BaseResource.request_raw()BaseResource.handle_response()BaseResource.handle_dict_response()BaseResource.handle_results()BaseResource.__call__()
StandardResourceBulkEditing
- paperap.resources.configs module
- paperap.resources.correspondents module
- paperap.resources.custom_fields module
- paperap.resources.document_download module
- paperap.resources.document_metadata module
- paperap.resources.document_notes module
- paperap.resources.document_suggestions module
- paperap.resources.document_types module
- paperap.resources.documents module
DocumentResourceDocumentResource.model_classDocumentResource.queryset_classDocumentResource.nameDocumentResource.endpointsDocumentResource.download()DocumentResource.preview()DocumentResource.thumbnail()DocumentResource.upload_async()DocumentResource.upload_sync()DocumentResource.upload_content()DocumentResource.next_asn()DocumentResource.bulk_action()DocumentResource.bulk_delete()DocumentResource.bulk_reprocess()DocumentResource.bulk_merge()DocumentResource.bulk_split()DocumentResource.bulk_rotate()DocumentResource.bulk_delete_pages()DocumentResource.bulk_modify_custom_fields()DocumentResource.bulk_modify_tags()DocumentResource.bulk_add_tag()DocumentResource.bulk_remove_tag()DocumentResource.bulk_set_correspondent()DocumentResource.bulk_set_document_type()DocumentResource.bulk_set_storage_path()DocumentResource.bulk_set_permissions()DocumentResource.empty_trash()DocumentResource.client
DocumentNoteResource
- paperap.resources.downloaded_documents module
- paperap.resources.groups module
- paperap.resources.profile module
- paperap.resources.profiles module
- paperap.resources.saved_views module
- paperap.resources.share_links module
- paperap.resources.storage_paths module
- paperap.resources.tags module
- paperap.resources.tasks module
- paperap.resources.ui_settings module
- paperap.resources.users module
- paperap.resources.workflow_actions module
- paperap.resources.workflow_triggers module
- paperap.resources.workflows module