Coverage report: 42%

Files Functions Classes

coverage.py v7.15.2, created at 2026-10-10 09:07 +0000

      Statements   Branches   Total
File class   coverage statements missing excluded   coverage branches partial   coverage
documents/__init__.py (no class)   100% 2 0 0   100% 0 0   100%
documents/_snowball_stopwords.py (no class)   100% 2 0 0   100% 0 0   100%
documents/admin.py CorrespondentAdmin   100% 0 0 0   100% 0 0   100%
documents/admin.py TagAdmin   0% 8 8 0   0% 4 0   0%
documents/admin.py DocumentTypeAdmin   100% 0 0 0   100% 0 0   100%
documents/admin.py DocumentAdmin   0% 14 14 0   0% 2 0   0%
documents/admin.py RuleInline   100% 0 0 0   100% 0 0   100%
documents/admin.py SavedViewAdmin   0% 1 1 0   100% 0 0   0%
documents/admin.py StoragePathInline   100% 0 0 0   100% 0 0   100%
documents/admin.py StoragePathAdmin   100% 0 0 0   100% 0 0   100%
documents/admin.py TaskAdmin   100% 0 0 0   100% 0 0   100%
documents/admin.py NotesAdmin   0% 1 1 0   100% 0 0   0%
documents/admin.py ShareLinksAdmin   0% 1 1 0   100% 0 0   0%
documents/admin.py ShareLinkBundleAdmin   0% 1 1 0   100% 0 0   0%
documents/admin.py CustomFieldsAdmin   100% 0 0 0   100% 0 0   100%
documents/admin.py CustomFieldInstancesAdmin   0% 1 1 0   100% 0 0   0%
documents/admin.py LogEntryAUDIT   0% 1 1 0   100% 0 0   0%
documents/admin.py (no class)   100% 116 0 0   50% 4 2   98%
documents/apps.py DocumentsConfig   100% 25 0 0   100% 0 0   100%
documents/apps.py (no class)   100% 6 0 0   100% 0 0   100%
documents/barcodes.py Barcode   0% 7 7 0   0% 4 0   0%
documents/barcodes.py BarcodePlugin   0% 118 118 0   0% 42 0   0%
documents/barcodes.py (no class)   64% 106 38 0   5% 20 1   55%
documents/bulk_download.py BulkArchiveStrategy   47% 19 10 0   30% 10 1   41%
documents/bulk_download.py OriginalsOnlyStrategy   0% 1 1 0   100% 0 0   0%
documents/bulk_download.py ArchiveOnlyStrategy   40% 5 3 0   25% 4 1   33%
documents/bulk_download.py OriginalAndArchiveStrategy   0% 5 5 0   0% 4 0   0%
documents/bulk_download.py (no class)   84% 19 3 0   50% 2 1   81%
documents/bulk_edit.py SourceModeChoices   100% 0 0 0   100% 0 0   100%
documents/bulk_edit.py ResolvedDocPair   100% 0 0 0   100% 0 0   100%
documents/bulk_edit.py (no class)   21% 514 407 0   6% 174 8   17%
documents/caching.py MetadataCacheData   100% 0 0 0   100% 0 0   100%
documents/caching.py SuggestionCacheData   100% 0 0 0   100% 0 0   100%
documents/caching.py (no class)   57% 100 43 0   12% 16 2   51%
documents/checks.py (no class)   78% 18 4 0   33% 6 2   67%
documents/classifier.py _SignedFileWriter   0% 17 17 0   0% 4 0   0%
documents/classifier.py IncompatibleClassifierVersionError   0% 2 2 0   100% 0 0   0%
documents/classifier.py ClassifierModelCorruptError   100% 0 0 0   100% 0 0   100%
documents/classifier.py DocumentClassifier   0% 200 200 0   0% 56 0   0%
documents/classifier.py (no class)   56% 117 51 0   6% 18 1   50%
documents/conditionals.py (no class)   60% 77 31 0   29% 28 8   51%
documents/consumer.py WorkflowTriggerPlugin   0% 4 4 0   0% 2 0   0%
documents/consumer.py ConsumerError   100% 0 0 0   100% 0 0   100%
documents/consumer.py ConsumeFileDuplicateError   0% 3 3 0   100% 0 0   0%
documents/consumer.py ConsumerStatusShortMessage   100% 0 0 0   100% 0 0   100%
documents/consumer.py ConsumerPluginMixin   0% 7 7 0   100% 0 0   0%
documents/consumer.py ConsumerPlugin   0% 238 238 0   0% 76 0   0%
documents/consumer.py ConsumerPreflightPlugin   0% 34 34 0   0% 12 0   0%
documents/consumer.py AsnCheckPlugin   0% 13 13 0   0% 8 0   0%
documents/consumer.py (no class)   80% 150 30 0   6% 16 1   73%
documents/context_processors.py (no class)   100% 9 0 0   100% 0 0   100%
documents/converters.py (no class)   40% 20 12 0   0% 2 0   36%
documents/data_models.py StoredBarcode   100% 0 0 0   100% 0 0   100%
documents/data_models.py DocumentMetadataOverrides   0% 63 63 0   0% 42 0   0%
documents/data_models.py DocumentSource   100% 0 0 0   100% 0 0   100%
documents/data_models.py ConsumableDocument   100% 2 0 0   100% 0 0   100%
documents/data_models.py ConsumeFileDuplicateResult   100% 0 0 0   100% 0 0   100%
documents/data_models.py ConsumeFileSuccessResult   100% 0 0 0   100% 0 0   100%
documents/data_models.py ConsumeFileStoppedResult   100% 0 0 0   100% 0 0   100%
documents/data_models.py (no class)   100% 48 0 0   100% 0 0   100%
documents/double_sided.py CollatePlugin   0% 37 37 0   0% 12 0   0%
documents/double_sided.py (no class)   100% 23 0 0   100% 0 0   100%
documents/export/__init__.py (no class)   100% 0 0 0   100% 0 0   100%
documents/export/compression.py (no class)   0% 46 46 0   0% 20 0   0%
documents/export/sinks.py StreamingManifestWriter   0% 10 10 0   0% 4 0   0%
documents/export/sinks.py ExportSink   0% 7 7 0   0% 6 0   0%
documents/export/sinks.py DirectoryExportSink   0% 63 63 0   0% 30 0   0%
documents/export/sinks.py ZipExportSink   0% 67 67 0   0% 20 0   0%
documents/export/sinks.py (no class)   0% 63 63 0   0% 4 0   0%
documents/file_handling.py UnsafeFilePathError   100% 0 0 0   100% 0 0   100%
documents/file_handling.py (no class)   35% 96 62 0   18% 44 8   30%
documents/filters.py CorrespondentFilterSet   100% 0 0 0   100% 0 0   100%
documents/filters.py CorrespondentFilterSet.Meta   100% 0 0 0   100% 0 0   100%
documents/filters.py TagFilterSet   100% 0 0 0   100% 0 0   100%
documents/filters.py TagFilterSet.Meta   100% 0 0 0   100% 0 0   100%
documents/filters.py DocumentTypeFilterSet   100% 0 0 0   100% 0 0   100%
documents/filters.py DocumentTypeFilterSet.Meta   100% 0 0 0   100% 0 0   100%
documents/filters.py StoragePathFilterSet   100% 0 0 0   100% 0 0   100%
documents/filters.py StoragePathFilterSet.Meta   100% 0 0 0   100% 0 0   100%
documents/filters.py ObjectFilter   100% 17 0 0   100% 8 0   100%
documents/filters.py InboxFilter   100% 5 0 0   100% 4 0   100%
documents/filters.py TitleContentFilter   100% 5 0 0   100% 2 0   100%
documents/filters.py EffectiveContentFilter   100% 4 0 0   100% 2 0   100%
documents/filters.py SharedByUser   100% 4 0 0   100% 0 0   100%
documents/filters.py CustomFieldFilterSet   100% 0 0 0   100% 0 0   100%
documents/filters.py CustomFieldFilterSet.Meta   100% 0 0 0   100% 0 0   100%
documents/filters.py CustomFieldsFilter   62% 13 5 0   30% 10 1   48%
documents/filters.py MimeTypeFilter   100% 4 0 0   100% 2 0   100%
documents/filters.py MonetaryAmountField   0% 10 10 0   0% 4 0   0%
documents/filters.py SelectField   0% 7 7 0   100% 0 0   0%
documents/filters.py CustomFieldQueryParser   17% 124 103 0   3% 58 2   13%
documents/filters.py CustomFieldQueryFilter   75% 8 2 0   100% 2 0   80%
documents/filters.py DocumentFilterSet   89% 9 1 0   50% 2 1   82%
documents/filters.py DocumentFilterSet.Meta   100% 0 0 0   100% 0 0   100%
documents/filters.py ShareLinkFilterSet   100% 0 0 0   100% 0 0   100%
documents/filters.py ShareLinkFilterSet.Meta   100% 0 0 0   100% 0 0   100%
documents/filters.py ShareLinkBundleFilterSet   89% 9 1 0   50% 4 2   77%
documents/filters.py ShareLinkBundleFilterSet.Meta   100% 0 0 0   100% 0 0   100%
documents/filters.py PaperlessTaskFilterSet   79% 19 4 0   62% 8 3   74%
documents/filters.py PaperlessTaskFilterSet.Meta   100% 0 0 0   100% 0 0   100%
documents/filters.py PermittedObjectsFilter   78% 9 2 0   67% 6 2   73%
documents/filters.py DocumentsOrderingFilter   9% 34 31 0   5% 22 1   7%
documents/filters.py (no class)   99% 217 1 0   50% 2 1   99%
documents/loggers.py LoggingMixin   0% 2 2 0   100% 0 0   0%
documents/loggers.py (no class)   100% 4 0 0   100% 0 0   100%
documents/mail.py EmailAttachment   100% 0 0 0   100% 0 0   100%
documents/mail.py (no class)   37% 38 24 0   0% 10 0   29%
documents/management/__init__.py (no class)   100% 0 0 0   100% 0 0   100%
documents/management/commands/__init__.py (no class)   100% 0 0 0   100% 0 0   100%
documents/management/commands/base.py _BufferedRecord   100% 0 0 0   100% 0 0   100%
documents/management/commands/base.py BufferingLogHandler   0% 16 16 0   0% 4 0   0%
documents/management/commands/base.py ProcessResult   0% 1 1 0   100% 0 0   0%
documents/management/commands/base.py PaperlessCommand   0% 83 83 0   0% 36 0   0%
documents/management/commands/base.py (no class)   0% 75 75 0   0% 2 0   0%
documents/management/commands/convert_mariadb_uuid.py Command   0% 12 12 0   0% 4 0   0%
documents/management/commands/convert_mariadb_uuid.py (no class)   0% 8 8 0   100% 0 0   0%
documents/management/commands/document_archiver.py Command   0% 16 16 0   0% 6 0   0%
documents/management/commands/document_archiver.py (no class)   0% 12 12 0   100% 0 0   0%
documents/management/commands/document_consumer.py TrackedFile   0% 12 12 0   100% 0 0   0%
documents/management/commands/document_consumer.py FileStabilityTracker   0% 47 47 0   0% 22 0   0%
documents/management/commands/document_consumer.py ConsumerFilter   0% 18 18 0   0% 10 0   0%
documents/management/commands/document_consumer.py Command   0% 113 113 0   0% 64 0   0%
documents/management/commands/document_consumer.py (no class)   0% 86 86 0   0% 8 0   0%
documents/management/commands/document_create_classifier.py Command   0% 5 5 0   100% 0 0   0%
documents/management/commands/document_create_classifier.py (no class)   0% 9 9 0   100% 0 0   0%
documents/management/commands/document_exporter.py Command   0% 174 174 0   0% 94 0   0%
documents/management/commands/document_exporter.py (no class)   0% 84 84 0   0% 6 0   0%
documents/management/commands/document_fuzzy_match.py _WorkPackage   100% 0 0 0   100% 0 0   100%
documents/management/commands/document_fuzzy_match.py _WorkResult   100% 0 0 0   100% 0 0   100%
documents/management/commands/document_fuzzy_match.py Command   0% 81 81 0   0% 42 0   0%
documents/management/commands/document_fuzzy_match.py (no class)   0% 26 26 0   100% 0 0   0%
documents/management/commands/document_importer.py Command   0% 247 247 0   0% 122 0   0%
documents/management/commands/document_importer.py (no class)   0% 125 125 0   0% 22 0   0%
documents/management/commands/document_index.py Command   0% 21 21 0   0% 10 0   0%
documents/management/commands/document_index.py (no class)   0% 16 16 0   100% 0 0   0%
documents/management/commands/document_llmindex.py Command   0% 9 9 0   0% 4 0   0%
documents/management/commands/document_llmindex.py (no class)   0% 11 11 0   100% 0 0   0%
documents/management/commands/document_renamer.py Command   0% 2 2 0   0% 2 0   0%
documents/management/commands/document_renamer.py (no class)   0% 8 8 0   100% 0 0   0%
documents/management/commands/document_retagger.py RetaggerStats   100% 0 0 0   100% 0 0   100%
documents/management/commands/document_retagger.py DocumentSuggestion   0% 1 1 0   100% 0 0   0%
documents/management/commands/document_retagger.py Command   0% 68 68 0   0% 28 0   0%
documents/management/commands/document_retagger.py (no class)   0% 91 91 0   0% 12 0   0%
documents/management/commands/document_sanity_checker.py Command   0% 37 37 0   0% 22 0   0%
documents/management/commands/document_sanity_checker.py (no class)   0% 17 17 0   100% 0 0   0%
documents/management/commands/document_thumbnails.py Command   0% 10 10 0   0% 6 0   0%
documents/management/commands/document_thumbnails.py (no class)   0% 21 21 0   0% 2 0   0%
documents/management/commands/manage_superuser.py Command   69% 16 5 0   50% 6 3   64%
documents/management/commands/manage_superuser.py (no class)   100% 10 0 0   100% 0 0   100%
documents/management/commands/mixins.py CryptFields   100% 0 0 0   100% 0 0   100%
documents/management/commands/mixins.py CryptMixin   0% 13 13 0   0% 2 0   0%
documents/management/commands/mixins.py (no class)   0% 25 25 0   100% 0 0   0%
documents/management/commands/prune_audit_logs.py Command   0% 7 7 0   0% 4 0   0%
documents/management/commands/prune_audit_logs.py (no class)   0% 8 8 0   100% 0 0   0%
documents/matching.py (no class)   14% 241 208 0   1% 140 1   9%
documents/models.py ModelWithOwner   100% 0 0 0   100% 0 0   100%
documents/models.py ModelWithOwner.Meta   100% 0 0 0   100% 0 0   100%
documents/models.py MatchingModel   100% 1 0 0   100% 0 0   100%
documents/models.py MatchingModel.Meta   100% 0 0 0   100% 0 0   100%
documents/models.py Correspondent   100% 0 0 0   100% 0 0   100%
documents/models.py Correspondent.Meta   100% 0 0 0   100% 0 0   100%
documents/models.py Tag   77% 13 3 0   62% 8 3   71%
documents/models.py Tag.Meta   100% 0 0 0   100% 0 0   100%
documents/models.py DocumentType   100% 0 0 0   100% 0 0   100%
documents/models.py DocumentType.Meta   100% 0 0 0   100% 0 0   100%
documents/models.py StoragePath   100% 0 0 0   100% 0 0   100%
documents/models.py StoragePath.Meta   100% 0 0 0   100% 0 0   100%
documents/models.py Document   40% 68 41 0   27% 30 8   36%
documents/models.py Document.Meta   100% 0 0 0   100% 0 0   100%
documents/models.py SavedView   0% 1 1 0   100% 0 0   0%
documents/models.py SavedView.Icon   100% 0 0 0   100% 0 0   100%
documents/models.py SavedView.DisplayMode   100% 0 0 0   100% 0 0   100%
documents/models.py SavedView.DisplayFields   100% 0 0 0   100% 0 0   100%
documents/models.py SavedView.Meta   100% 0 0 0   100% 0 0   100%
documents/models.py SavedViewFilterRule   0% 1 1 0   100% 0 0   0%
documents/models.py SavedViewFilterRule.Meta   100% 0 0 0   100% 0 0   100%
documents/models.py UiSettings   0% 1 1 0   100% 0 0   0%
documents/models.py PaperlessTask   22% 9 7 0   17% 6 1   20%
documents/models.py PaperlessTask.Status   100% 0 0 0   100% 0 0   100%
documents/models.py PaperlessTask.TaskType   100% 0 0 0   100% 0 0   100%
documents/models.py PaperlessTask.TriggerSource   100% 0 0 0   100% 0 0   100%
documents/models.py PaperlessTask.Meta   100% 0 0 0   100% 0 0   100%
documents/models.py Note   0% 1 1 0   100% 0 0   0%
documents/models.py Note.Meta   100% 0 0 0   100% 0 0   100%
documents/models.py DocumentBarcode   0% 1 1 0   100% 0 0   0%
documents/models.py DocumentBarcode.Format   100% 0 0 0   100% 0 0   100%
documents/models.py DocumentBarcode.Meta   100% 0 0 0   100% 0 0   100%
documents/models.py ShareLink   0% 1 1 0   100% 0 0   0%
documents/models.py ShareLink.FileVersion   100% 0 0 0   100% 0 0   100%
documents/models.py ShareLink.Meta   100% 0 0 0   100% 0 0   100%
documents/models.py ShareLinkBundle   0% 20 20 0   0% 6 0   0%
documents/models.py ShareLinkBundle.Status   100% 0 0 0   100% 0 0   100%
documents/models.py ShareLinkBundle.Meta   100% 0 0 0   100% 0 0   100%
documents/models.py CustomField   100% 1 0 0   100% 0 0   100%
documents/models.py CustomField.FieldDataType   100% 0 0 0   100% 0 0   100%
documents/models.py CustomField.Meta   100% 0 0 0   100% 0 0   100%
documents/models.py CustomFieldInstance   31% 13 9 0   0% 4 0   24%
documents/models.py CustomFieldInstance.Meta   100% 0 0 0   100% 0 0   100%
documents/models.py WorkflowTrigger   0% 1 1 0   100% 0 0   0%
documents/models.py WorkflowTrigger.WorkflowTriggerMatching   100% 0 0 0   100% 0 0   100%
documents/models.py WorkflowTrigger.WorkflowTriggerType   100% 0 0 0   100% 0 0   100%
documents/models.py WorkflowTrigger.DocumentSourceChoices   100% 0 0 0   100% 0 0   100%
documents/models.py WorkflowTrigger.ScheduleDateField   100% 0 0 0   100% 0 0   100%
documents/models.py WorkflowTrigger.Meta   100% 0 0 0   100% 0 0   100%
documents/models.py WorkflowActionEmail   0% 1 1 0   100% 0 0   0%
documents/models.py WorkflowActionWebhook   0% 1 1 0   100% 0 0   0%
documents/models.py WorkflowAction   0% 1 1 0   100% 0 0   0%
documents/models.py WorkflowAction.WorkflowActionType   100% 0 0 0   100% 0 0   100%
documents/models.py WorkflowAction.AISuggestionField   100% 0 0 0   100% 0 0   100%
documents/models.py WorkflowAction.Meta   100% 0 0 0   100% 0 0   100%
documents/models.py Workflow   0% 1 1 0   100% 0 0   0%
documents/models.py WorkflowRun   0% 1 1 0   100% 0 0   0%
documents/models.py WorkflowRun.Meta   100% 0 0 0   100% 0 0   100%
documents/models.py (no class)   100% 586 0 0   50% 4 2   99%
documents/parsers.py ParseError   100% 0 0 0   100% 0 0   100%
documents/parsers.py DocumentParser   0% 28 28 0   0% 2 0   0%
documents/parsers.py (no class)   43% 106 60 0   19% 16 3   40%
documents/permissions.py PaperlessObjectPermissions   100% 5 0 0   100% 4 0   100%
documents/permissions.py PaperlessAdminPermissions   100% 1 0 0   100% 0 0   100%
documents/permissions.py ViewDocumentsPermissions   67% 3 1 0   50% 2 1   60%
documents/permissions.py TrashPermissions   67% 3 1 0   50% 2 1   60%
documents/permissions.py PaperlessNotePermissions   100% 4 0 0   100% 2 0   100%
documents/permissions.py AcknowledgeTasksPermissions   75% 4 1 0   50% 2 1   67%
documents/permissions.py (no class)   82% 172 31 0   59% 70 17   75%
documents/plugins/__init__.py (no class)   100% 0 0 0   100% 0 0   100%
documents/plugins/base.py StopConsumeTaskError   0% 2 2 0   100% 0 0   0%
documents/plugins/base.py ConsumeTaskPlugin   0% 6 6 0   100% 0 0   0%
documents/plugins/base.py AlwaysRunPluginMixin   0% 1 1 0   100% 0 0   0%
documents/plugins/base.py NoSetupPluginMixin   0% 1 1 0   100% 0 0   0%
documents/plugins/base.py NoCleanupPluginMixin   0% 1 1 0   100% 0 0   0%
documents/plugins/base.py (no class)   100% 27 0 0   100% 0 0   100%
documents/plugins/date_parsing/__init__.py (no class)   42% 43 25 0   0% 8 0   35%
documents/plugins/date_parsing/base.py DateParserConfig   100% 0 0 0   100% 0 0   100%
documents/plugins/date_parsing/base.py DateParserPluginBase   0% 10 10 0   0% 2 0   0%
documents/plugins/date_parsing/base.py (no class)   100% 20 0 0   100% 0 0   100%
documents/plugins/date_parsing/regex_parser.py RegexDateParserPlugin   0% 10 10 0   0% 6 0   0%
documents/plugins/date_parsing/regex_parser.py (no class)   100% 11 0 0   100% 0 0   100%
documents/plugins/helpers.py ProgressStatusOptions   100% 0 0 0   100% 0 0   100%
documents/plugins/helpers.py PermissionsData   100% 0 0 0   100% 0 0   100%
documents/plugins/helpers.py ProgressUpdateData   100% 0 0 0   100% 0 0   100%
documents/plugins/helpers.py StatusUpdatePayload   100% 0 0 0   100% 0 0   100%
documents/plugins/helpers.py DocumentsDeletedData   100% 0 0 0   100% 0 0   100%
documents/plugins/helpers.py DocumentsDeletedPayload   100% 0 0 0   100% 0 0   100%
documents/plugins/helpers.py DocumentUpdatedData   100% 0 0 0   100% 0 0   100%
documents/plugins/helpers.py DocumentUpdatedPayload   100% 0 0 0   100% 0 0   100%
documents/plugins/helpers.py BaseStatusManager   46% 13 7 0   33% 6 2   42%
documents/plugins/helpers.py ProgressManager   0% 6 6 0   100% 0 0   0%
documents/plugins/helpers.py DocumentsStatusManager   50% 4 2 0   100% 0 0   50%
documents/plugins/helpers.py (no class)   97% 36 1 0   50% 2 1   95%
documents/regex.py (no class)   30% 54 38 0   100% 0 0   30%
documents/sanity_checker.py MessageEntry   100% 0 0 0   100% 0 0   100%
documents/sanity_checker.py SanityCheckMessages   0% 57 57 0   0% 24 0   0%
documents/sanity_checker.py SanityCheckFailedException   100% 0 0 0   100% 0 0   100%
documents/sanity_checker.py (no class)   38% 99 61 0   0% 26 0   30%
documents/schema.py AngularApiAuthenticationOverrideScheme   0% 1 1 0   100% 0 0   0%
documents/schema.py PaperelessBasicAuthenticationScheme   100% 1 0 0   100% 0 0   100%
documents/schema.py (no class)   100% 14 0 0   100% 0 0   100%
documents/search/__init__.py (no class)   100% 17 0 0   100% 0 0   100%
documents/search/_backend.py ViewerGrant   100% 0 0 0   100% 0 0   100%
documents/search/_backend.py SearchMode   100% 0 0 0   100% 0 0   100%
documents/search/_backend.py SearchHit   100% 0 0 0   100% 0 0   100%
documents/search/_backend.py TantivyRelevanceList   60% 15 6 0   33% 6 2   52%
documents/search/_backend.py SearchIndexLockError   100% 0 0 0   100% 0 0   100%
documents/search/_backend.py WriteBatch   59% 46 19 0   29% 14 4   52%
documents/search/_backend.py TantivyBackend   19% 250 202 0   17% 94 8   19%
documents/search/_backend.py _DocumentViewerStream   0% 5 5 0   0% 4 0   0%
documents/search/_backend.py (no class)   72% 162 46 0   25% 20 3   66%
documents/search/_errors.py SearchQueryError   100% 0 0 0   100% 0 0   100%
documents/search/_errors.py InvalidDateQuery   0% 3 3 0   100% 0 0   0%
documents/search/_errors.py InvalidNumberQuery   0% 3 3 0   100% 0 0   0%
documents/search/_errors.py QueryTooLongError   0% 3 3 0   100% 0 0   0%
documents/search/_errors.py MultipleSearchQueryErrors   0% 2 2 0   100% 0 0   0%
documents/search/_errors.py (no class)   76% 17 4 0   25% 4 1   67%
documents/search/_fields.py (no class)   100% 5 0 0   100% 0 0   100%
documents/search/_query.py (no class)   64% 233 84 0   36% 88 12   56%
documents/search/_registry.py (no class)   90% 31 3 0   75% 4 1   89%
documents/search/_schema.py FieldDescriptor   100% 0 0 0   100% 0 0   100%
documents/search/_schema.py (no class)   59% 99 41 0   50% 36 4   56%
documents/search/_tokenizer.py (no class)   89% 55 6 0   58% 12 5   84%
documents/serialisers.py DynamicFieldsModelSerializer   100% 7 0 0   100% 4 0   100%
documents/serialisers.py DocumentUpdateFieldsModelSerializer   0% 17 17 0   0% 8 0   0%
documents/serialisers.py MatchingModelSerializer   100% 14 0 0   100% 4 0   100%
documents/serialisers.py SetPermissionsMixin   100% 25 0 0   94% 18 1   98%
documents/serialisers.py SerializerWithPerms   100% 4 0 0   100% 0 0   100%
documents/serialisers.py PermissionSetSerializer   100% 0 0 0   100% 0 0   100%
documents/serialisers.py SetPermissionsSerializer   100% 5 0 0   100% 4 0   100%
documents/serialisers.py OwnedObjectSerializer   66% 80 27 0   72% 36 2   68%
documents/serialisers.py OwnedObjectListSerializer   100% 2 0 0   100% 0 0   100%
documents/serialisers.py CorrespondentSerializer   100% 0 0 0   100% 0 0   100%
documents/serialisers.py CorrespondentSerializer.Meta   100% 0 0 0   100% 0 0   100%
documents/serialisers.py DocumentTypeSerializer   100% 0 0 0   100% 0 0   100%
documents/serialisers.py DocumentTypeSerializer.Meta   100% 0 0 0   100% 0 0   100%
documents/serialisers.py DeprecatedColors   100% 0 0 0   100% 0 0   100%
documents/serialisers.py ColorField   0% 8 8 0   0% 8 0   0%
documents/serialisers.py TagSerializer   83% 48 8 0   100% 10 0   86%
documents/serialisers.py TagSerializer.Meta   100% 0 0 0   100% 0 0   100%
documents/serialisers.py CorrespondentField   100% 1 0 0   100% 0 0   100%
documents/serialisers.py TagsField   100% 1 0 0   100% 0 0   100%
documents/serialisers.py DocumentTypeField   100% 1 0 0   100% 0 0   100%
documents/serialisers.py StoragePathField   100% 1 0 0   100% 0 0   100%
documents/serialisers.py CustomFieldSerializer   62% 13 5 0   42% 12 3   52%
documents/serialisers.py CustomFieldSerializer.Meta   100% 0 0 0   100% 0 0   100%
documents/serialisers.py ReadWriteSerializerMethodField   75% 4 1 0   100% 0 0   75%
documents/serialisers.py CustomFieldInstanceSerializer   0% 43 43 0   0% 20 0   0%
documents/serialisers.py CustomFieldInstanceSerializer.Meta   100% 0 0 0   100% 0 0   100%
documents/serialisers.py BasicUserSerializer   100% 0 0 0   100% 0 0   100%
documents/serialisers.py BasicUserSerializer.Meta   100% 0 0 0   100% 0 0   100%
documents/serialisers.py DocumentBarcodeSerializer   100% 0 0 0   100% 0 0   100%
documents/serialisers.py DocumentBarcodeSerializer.Meta   100% 0 0 0   100% 0 0   100%
documents/serialisers.py NotesSerializer   100% 0 0 0   100% 0 0   100%
documents/serialisers.py NotesSerializer.Meta   100% 0 0 0   100% 0 0   100%
documents/serialisers.py DuplicateDocumentSummarySerializer   100% 0 0 0   100% 0 0   100%
documents/serialisers.py _DocumentVersionInfo   100% 0 0 0   100% 0 0   100%
documents/serialisers.py DocumentVersionInfoSerializer   100% 0 0 0   100% 0 0   100%
documents/serialisers.py DocumentSerializer   5% 97 92 0   4% 54 0   5%
documents/serialisers.py DocumentSerializer.Meta   100% 0 0 0   100% 0 0   100%
documents/serialisers.py SearchResultListSerializer   100% 5 0 0   100% 0 0   100%
documents/serialisers.py SearchResultSerializer   11% 9 8 0   0% 2 0   9%
documents/serialisers.py SearchResultSerializer.Meta   100% 0 0 0   100% 0 0   100%
documents/serialisers.py SavedViewFilterRuleSerializer   100% 0 0 0   100% 0 0   100%
documents/serialisers.py SavedViewFilterRuleSerializer.Meta   100% 0 0 0   100% 0 0   100%
documents/serialisers.py SavedViewSerializer   41% 107 63 0   36% 56 10   39%
documents/serialisers.py SavedViewSerializer.Meta   100% 0 0 0   100% 0 0   100%
documents/serialisers.py DocumentListSerializer   78% 9 2 0   67% 6 2   73%
documents/serialisers.py DocumentSelectionSerializer   100% 10 0 0   100% 6 0   100%
documents/serialisers.py SourceModeValidationMixin   100% 3 0 0   100% 2 0   100%
documents/serialisers.py RotateDocumentsSerializer   100% 1 0 0   100% 0 0   100%
documents/serialisers.py MergeDocumentsSerializer   100% 0 0 0   100% 0 0   100%
documents/serialisers.py MergeDocumentsAsVersionsSerializer   39% 18 11 0   25% 12 1   33%
documents/serialisers.py PdfEditOperationSerializer   100% 1 0 0   100% 0 0   100%
documents/serialisers.py EditPdfDocumentsSerializer   44% 16 9 0   29% 14 2   37%
documents/serialisers.py RemovePasswordDocumentsSerializer   100% 0 0 0   100% 0 0   100%
documents/serialisers.py DeleteDocumentsSerializer   100% 0 0 0   100% 0 0   100%
documents/serialisers.py ReprocessDocumentsSerializer   100% 0 0 0   100% 0 0   100%
documents/serialisers.py BulkEditSerializer   38% 250 154 0   43% 180 18   40%
documents/serialisers.py PostDocumentSerializer   51% 49 24 0   58% 26 7   53%
documents/serialisers.py DocumentVersionSerializer   100% 0 0 0   100% 0 0   100%
documents/serialisers.py DocumentVersionLabelSerializer   100% 4 0 0   100% 2 0   100%
documents/serialisers.py BulkDownloadSerializer   100% 2 0 0   100% 0 0   100%
documents/serialisers.py EmailSerializer   79% 14 3 0   50% 6 3   70%
documents/serialisers.py StoragePathSerializer   73% 11 3 0   50% 6 3   65%
documents/serialisers.py StoragePathSerializer.Meta   100% 0 0 0   100% 0 0   100%
documents/serialisers.py UiSettingsViewSerializer   50% 8 4 0   50% 2 1   50%
documents/serialisers.py UiSettingsViewSerializer.Meta   100% 0 0 0   100% 0 0   100%
documents/serialisers.py TaskSerializerV10   100% 0 0 0   100% 0 0   100%
documents/serialisers.py TaskSerializerV10.Meta   100% 0 0 0   100% 0 0   100%
documents/serialisers.py TaskSerializerV9   0% 33 33 0   0% 20 0   0%
documents/serialisers.py TaskSerializerV9.Meta   100% 0 0 0   100% 0 0   100%
documents/serialisers.py TaskSummarySerializer   100% 0 0 0   100% 0 0   100%
documents/serialisers.py RunTaskSerializer   100% 0 0 0   100% 0 0   100%
documents/serialisers.py AcknowledgeTasksViewSerializer   88% 17 2 0   80% 10 2   85%
documents/serialisers.py ShareLinkSerializer   40% 5 3 0   0% 2 0   29%
documents/serialisers.py ShareLinkSerializer.Meta   100% 0 0 0   100% 0 0   100%
documents/serialisers.py ShareLinkBundleSerializer   19% 21 17 0   33% 6 0   22%
documents/serialisers.py ShareLinkBundleSerializer.Meta   100% 0 0 0   100% 0 0   100%
documents/serialisers.py BulkEditObjectsSerializer   89% 38 4 0   77% 26 6   84%
documents/serialisers.py WorkflowTriggerSerializer   100% 19 0 0   100% 12 0   100%
documents/serialisers.py WorkflowTriggerSerializer.Meta   100% 0 0 0   100% 0 0   100%
documents/serialisers.py WorkflowActionEmailSerializer   100% 0 0 0   100% 0 0   100%
documents/serialisers.py WorkflowActionEmailSerializer.Meta   100% 0 0 0   100% 0 0   100%
documents/serialisers.py WorkflowActionWebhookSerializer   50% 2 1 0   100% 0 0   50%
documents/serialisers.py WorkflowActionWebhookSerializer.Meta   100% 0 0 0   100% 0 0   100%
documents/serialisers.py WorkflowActionSerializer   91% 23 2 0   89% 18 2   90%
documents/serialisers.py WorkflowActionSerializer.Meta   100% 0 0 0   100% 0 0   100%
documents/serialisers.py WorkflowSerializer   96% 141 6 0   95% 80 4   95%
documents/serialisers.py WorkflowSerializer.Meta   100% 0 0 0   100% 0 0   100%
documents/serialisers.py TrashSerializer   100% 4 0 0   100% 2 0   100%
documents/serialisers.py StoragePathTestSerializer   88% 8 1 0   75% 4 1   83%
documents/serialisers.py (no class)   97% 569 18 0   29% 14 2   95%
documents/settings.py (no class)   0% 9 9 0   100% 0 0   0%
documents/signals/__init__.py (no class)   100% 4 0 0   100% 0 0   100%
documents/signals/handlers.py CannotMoveFilesException   100% 0 0 0   100% 0 0   100%
documents/signals/handlers.py (no class)   42% 608 355 0   26% 278 44   37%
documents/tasks.py (no class)   30% 418 292 0   3% 108 3   25%
documents/templating/__init__.py (no class)   100% 0 0 0   100% 0 0   100%
documents/templating/environment.py JinjaEnvironment   40% 5 3 0   0% 2 0   29%
documents/templating/environment.py (no class)   100% 5 0 0   100% 0 0   100%
documents/templating/filepath.py FilePathTemplate   100% 7 0 0   100% 0 0   100%
documents/templating/filepath.py PlaceholderString   17% 6 5 0   0% 2 0   12%
documents/templating/filepath.py MatchingModelContext   75% 4 1 0   100% 0 0   75%
documents/templating/filepath.py (no class)   80% 104 21 0   50% 16 6   76%
documents/templating/filters.py (no class)   32% 28 19 0   0% 12 0   22%
documents/templating/utils.py (no class)   75% 8 2 0   100% 0 0   75%
documents/templating/workflows.py (no class)   50% 60 30 0   10% 10 1   44%
documents/utils.py QuerySetStream   0% 4 4 0   100% 0 0   0%
documents/utils.py (no class)   42% 76 44 0   5% 20 1   34%
documents/validators.py (no class)   67% 18 6 0   17% 6 1   54%
documents/versioning.py VersionResolutionError   100% 0 0 0   100% 0 0   100%
documents/versioning.py VersionResolution   100% 0 0 0   100% 0 0   100%
documents/versioning.py (no class)   57% 107 46 0   25% 36 3   49%
documents/views.py SearchParams   100% 0 0 0   100% 0 0   100%
documents/views.py SearchResultPage   100% 0 0 0   100% 0 0   100%
documents/views.py ResolvedRequestDocs   100% 0 0 0   100% 0 0   100%
documents/views.py IndexView   0% 18 18 0   0% 4 0   0%
documents/views.py PassUserMixin   78% 9 2 0   100% 2 0   82%
documents/views.py BulkPermissionMixin   94% 32 2 0   83% 12 2   91%
documents/views.py PermissionsAwareDocumentCountMixin   85% 13 2 0   75% 4 1   82%
documents/views.py CorrespondentViewSet   80% 5 1 0   50% 2 1   71%
documents/views.py TagViewSet   94% 31 2 0   80% 10 2   90%
documents/views.py DocumentTypeViewSet   100% 0 0 0   100% 0 0   100%
documents/views.py EmailDocumentDetailSchema   100% 0 0 0   100% 0 0   100%
documents/views.py DocumentViewSet   21% 425 337 0   6% 120 3   17%
documents/views.py ChatStreamingSerializer   100% 0 0 0   100% 0 0   100%
documents/views.py ChatStreamingView   14% 21 18 0   17% 6 1   15%
documents/views.py UnifiedSearchViewSet   71% 91 26 0   54% 24 5   68%
documents/views.py LogViewSet   96% 23 1 0   90% 10 1   94%
documents/views.py SavedViewViewSet   100% 0 0 0   100% 0 0   100%
documents/views.py DocumentSelectionMixin   44% 32 18 0   50% 12 2   45%
documents/views.py DocumentOperationPermissionMixin   50% 28 14 0   43% 14 2   48%
documents/views.py BulkEditView   80% 40 8 0   70% 20 4   77%
documents/views.py RotateDocumentsView   100% 3 0 0   100% 0 0   100%
documents/views.py MergeDocumentsView   100% 3 0 0   100% 0 0   100%
documents/views.py MergeDocumentsAsVersionsView   67% 3 1 0   100% 0 0   67%
documents/views.py DeleteDocumentsView   100% 3 0 0   100% 0 0   100%
documents/views.py ReprocessDocumentsView   100% 3 0 0   100% 0 0   100%
documents/views.py EditPdfDocumentsView   67% 3 1 0   100% 0 0   67%
documents/views.py RemovePasswordDocumentsView   100% 3 0 0   100% 0 0   100%
documents/views.py PostDocumentView   90% 29 3 0   50% 6 3   83%
documents/views.py SelectionDataView   92% 13 1 0   50% 2 1   87%
documents/views.py SearchAutoCompleteView   100% 11 0 0   100% 6 0   100%
documents/views.py GlobalSearchView   98% 56 1 0   80% 10 2   95%
documents/views.py StatisticsView   100% 15 0 0   100% 0 0   100%
documents/views.py BulkDownloadView   88% 34 4 0   90% 10 1   89%
documents/views.py StoragePathViewSet   53% 19 9 0   50% 6 1   52%
documents/views.py UiSettingsView   76% 42 10 0   50% 18 5   68%
documents/views.py RemoteVersionView   72% 18 5 0   75% 4 1   73%
documents/views.py _TasksViewSetSchema   100% 3 0 0   100% 2 0   100%
documents/views.py TasksViewSet   76% 74 18 0   57% 30 7   70%
documents/views.py ShareLinkViewSet   100% 0 0 0   100% 0 0   100%
documents/views.py ShareLinkBundleViewSet   30% 47 33 0   30% 10 1   30%
documents/views.py SharedLinkView   0% 25 25 0   0% 12 0   0%
documents/views.py BulkEditObjectsView   83% 46 8 0   67% 18 4   78%
documents/views.py WorkflowTriggerViewSet   100% 3 0 0   100% 2 0   100%
documents/views.py WorkflowActionViewSet   100% 3 0 0   100% 2 0   100%
documents/views.py WorkflowViewSet   100% 0 0 0   100% 0 0   100%
documents/views.py CustomFieldViewSet   100% 0 0 0   100% 0 0   100%
documents/views.py SystemStatusView   62% 111 42 0   41% 32 9   57%
documents/views.py TrashView   75% 24 6 0   64% 14 5   71%
documents/views.py TrashView._TrashPermittedObjectsFilter   100% 0 0 0   100% 0 0   100%
documents/views.py (no class)   93% 722 47 0   27% 30 4   91%
documents/workflows/__init__.py (no class)   100% 0 0 0   100% 0 0   100%
documents/workflows/actions.py (no class)   23% 108 83 0   0% 36 0   17%
documents/workflows/ai.py (no class)   0% 125 125 0   0% 50 0   0%
documents/workflows/mutations.py (no class)   10% 142 128 0   0% 116 0   5%
documents/workflows/utils.py (no class)   64% 14 5 0   0% 2 0   56%
documents/workflows/webhooks.py (no class)   31% 29 20 0   0% 4 0   27%
manage.py (no class)   100% 6 0 0   50% 2 1   88%
paperless/__init__.py (no class)   100% 6 0 0   100% 0 0   100%
paperless/adapter.py CustomAccountAdapter   19% 31 25 0   8% 12 1   16%
paperless/adapter.py CustomSocialAccountAdapter   0% 15 15 0   0% 2 0   0%
paperless/adapter.py DrfTokenStrategy   0% 4 4 0   0% 2 0   0%
paperless/adapter.py (no class)   100% 29 0 0   100% 0 0   100%
paperless/admin.py PaperlessUserForm   0% 6 6 0   0% 2 0   0%
paperless/admin.py PaperlessUserForm.Meta   100% 0 0 0   100% 0 0   100%
paperless/admin.py PaperlessUserAdmin   0% 3 3 0   100% 0 0   0%
paperless/admin.py (no class)   100% 14 0 0   100% 0 0   100%
paperless/apps.py PaperlessConfig   100% 5 0 0   100% 0 0   100%
paperless/apps.py (no class)   100% 8 0 0   100% 0 0   100%
paperless/asgi.py (no class)   100% 13 0 0   100% 0 0   100%
paperless/auth.py AutoLoginMiddleware   0% 7 7 0   0% 2 0   0%
paperless/auth.py AngularApiAuthenticationOverride   0% 5 5 0   0% 2 0   0%
paperless/auth.py HttpRemoteUserMiddleware   0% 3 3 0   0% 2 0   0%
paperless/auth.py PaperlessRemoteUserAuthentication   100% 0 0 0   100% 0 0   100%
paperless/auth.py PaperlessBasicAuthentication   90% 10 1 0   75% 4 1   86%
paperless/auth.py (no class)   100% 23 0 0   100% 0 0   100%
paperless/celery.py (no class)   87% 15 2 0   100% 0 0   87%
paperless/checks.py (no class)   78% 147 33 0   58% 50 19   73%
paperless/config.py BaseConfig   100% 5 0 0   100% 2 0   100%
paperless/config.py OutputTypeConfig   0% 2 2 0   100% 0 0   0%
paperless/config.py OcrConfig   0% 22 22 0   0% 4 0   0%
paperless/config.py BarcodeConfig   0% 14 14 0   100% 0 0   0%
paperless/config.py GeneralConfig   100% 3 0 0   100% 0 0   100%
paperless/config.py RemoteOCRConfig   83% 6 1 0   100% 0 0   83%
paperless/config.py AIConfig   100% 17 0 0   100% 0 0   100%
paperless/config.py (no class)   100% 84 0 0   100% 0 0   100%
paperless/consumers.py StatusConsumer   0% 39 39 0   0% 18 0   0%
paperless/consumers.py (no class)   78% 27 6 0   50% 2 1   76%
paperless/db_cache.py (no class)   0% 10 10 0   100% 0 0   0%
paperless/filters.py UserFilterSet   100% 0 0 0   100% 0 0   100%
paperless/filters.py UserFilterSet.Meta   100% 0 0 0   100% 0 0   100%
paperless/filters.py GroupFilterSet   100% 0 0 0   100% 0 0   100%
paperless/filters.py GroupFilterSet.Meta   100% 0 0 0   100% 0 0   100%
paperless/filters.py (no class)   100% 12 0 0   100% 0 0   100%
paperless/logging.py ConsumeTaskFormatter   100% 4 0 0   100% 0 0   100%
paperless/logging.py (no class)   100% 7 0 0   100% 0 0   100%
paperless/middleware.py StreamAwareCompressionMiddleware   75% 4 1 0   50% 2 1   67%
paperless/middleware.py ApiVersionMiddleware   100% 7 0 0   100% 2 0   100%
paperless/middleware.py (no class)   100% 8 0 0   100% 0 0   100%
paperless/models.py AbstractSingletonModel   100% 2 0 0   100% 0 0   100%
paperless/models.py AbstractSingletonModel.Meta   100% 0 0 0   100% 0 0   100%
paperless/models.py OutputTypeChoices   100% 0 0 0   100% 0 0   100%
paperless/models.py ModeChoices   100% 0 0 0   100% 0 0   100%
paperless/models.py ArchiveFileGenerationChoices   100% 0 0 0   100% 0 0   100%
paperless/models.py CleanChoices   100% 0 0 0   100% 0 0   100%
paperless/models.py ColorConvertChoices   100% 0 0 0   100% 0 0   100%
paperless/models.py RemoteOCREngine   100% 0 0 0   100% 0 0   100%
paperless/models.py RemoteOCRMode   100% 0 0 0   100% 0 0   100%
paperless/models.py LLMEmbeddingBackend   100% 0 0 0   100% 0 0   100%
paperless/models.py LLMBackend   100% 0 0 0   100% 0 0   100%
paperless/models.py ApplicationConfiguration   0% 1 1 0   100% 0 0   0%
paperless/models.py ApplicationConfiguration.Meta   100% 0 0 0   100% 0 0   100%
paperless/models.py (no class)   100% 101 0 0   100% 0 0   100%
paperless/network.py PinnedHostHTTPTransport   0% 4 4 0   100% 0 0   0%
paperless/network.py PinnedHostAsyncHTTPTransport   0% 4 4 0   100% 0 0   0%
paperless/network.py (no class)   28% 85 61 0   4% 26 1   23%
paperless/parsers/__init__.py MetadataEntry   100% 0 0 0   100% 0 0   100%
paperless/parsers/__init__.py ParserContext   100% 0 0 0   100% 0 0   100%
paperless/parsers/__init__.py ParserProtocol   0% 14 14 0   100% 0 0   0%
paperless/parsers/__init__.py (no class)   94% 48 3 0   50% 2 1   92%
paperless/parsers/mail.py MailDocumentParser   1% 216 215 0   0% 68 0   1%
paperless/parsers/mail.py (no class)   94% 70 4 0   50% 2 1   93%
paperless/parsers/registry.py ParserRegistry   58% 52 22 0   45% 22 4   54%
paperless/parsers/registry.py (no class)   78% 40 9 0   62% 8 1   75%
paperless/parsers/remote.py RemoteEngineConfig   100% 7 0 0   100% 0 0   100%
paperless/parsers/remote.py RemoteDocumentParser   5% 75 71 0   6% 18 1   5%
paperless/parsers/remote.py (no class)   90% 51 5 0   50% 2 1   89%
paperless/parsers/tesseract.py NoTextFoundException   100% 0 0 0   100% 0 0   100%
paperless/parsers/tesseract.py RtlLanguageException   100% 0 0 0   100% 0 0   100%
paperless/parsers/tesseract.py RasterisedDocumentParser   1% 236 233 0   1% 80 1   1%
paperless/parsers/tesseract.py (no class)   95% 74 4 0   50% 2 1   93%
paperless/parsers/text.py TextDocumentParser   9% 32 29 0   25% 4 1   11%
paperless/parsers/text.py (no class)   91% 44 4 0   50% 2 1   89%
paperless/parsers/tika.py TikaDocumentParser   1% 79 78 0   0% 24 0   1%
paperless/parsers/tika.py (no class)   92% 51 4 0   50% 2 1   91%
paperless/parsers/utils.py (no class)   18% 106 87 0   6% 18 1   16%
paperless/serialisers.py PasswordValidationMixin   100% 7 0 0   100% 2 0   100%
paperless/serialisers.py PaperlessAuthTokenSerializer   9% 11 10 0   0% 6 0   6%
paperless/serialisers.py UserSerializer   84% 25 4 0   75% 12 3   81%
paperless/serialisers.py UserSerializer.Meta   100% 0 0 0   100% 0 0   100%
paperless/serialisers.py GroupSerializer   100% 0 0 0   100% 0 0   100%
paperless/serialisers.py GroupSerializer.Meta   100% 0 0 0   100% 0 0   100%
paperless/serialisers.py SocialAccountSerializer   0% 4 4 0   100% 0 0   0%
paperless/serialisers.py SocialAccountSerializer.Meta   100% 0 0 0   100% 0 0   100%
paperless/serialisers.py ProfileSerializer   100% 3 0 0   100% 0 0   100%
paperless/serialisers.py ProfileSerializer.Meta   100% 0 0 0   100% 0 0   100%
paperless/serialisers.py ApplicationConfigurationSerializer   71% 56 16 0   81% 32 2   75%
paperless/serialisers.py ApplicationConfigurationSerializer.Meta   100% 0 0 0   100% 0 0   100%
paperless/serialisers.py (no class)   100% 89 0 0   100% 0 0   100%
paperless/settings/__init__.py (no class)   92% 375 31 0   52% 54 26   87%
paperless/settings/custom.py (no class)   58% 90 38 0   32% 38 8   50%
paperless/settings/parsers.py (no class)   56% 127 56 0   19% 74 32   42%
paperless/signals.py (no class)   29% 49 35 0   8% 26 2   21%
paperless/signed_pickle.py SignedPickleError   100% 0 0 0   100% 0 0   100%
paperless/signed_pickle.py (no class)   60% 25 10 0   0% 4 0   52%
paperless/urls.py (no class)   100% 96 0 0   100% 0 0   100%
paperless/utils.py (no class)   16% 32 27 0   0% 10 0   12%
paperless/validators.py (no class)   22% 63 49 0   0% 36 0   14%
paperless/version.py (no class)   100% 4 0 0   100% 0 0   100%
paperless/views.py PaperlessObtainAuthTokenView   100% 0 0 0   100% 0 0   100%
paperless/views.py StandardPagination   63% 19 7 0   33% 6 2   56%
paperless/views.py FaviconView   0% 5 5 0   100% 0 0   0%
paperless/views.py UserViewSet   70% 37 11 0   45% 20 7   61%
paperless/views.py GroupViewSet   100% 0 0 0   100% 0 0   100%
paperless/views.py ProfileView   100% 14 0 0   100% 4 0   100%
paperless/views.py TOTPView   67% 21 7 0   33% 6 2   59%
paperless/views.py GenerateAuthTokenView   0% 6 6 0   0% 2 0   0%
paperless/views.py ApplicationConfigurationViewSet   95% 19 1 0   50% 2 1   90%
paperless/views.py DisconnectSocialAccountView   62% 8 3 0   100% 0 0   62%
paperless/views.py SocialAccountProvidersView   83% 6 1 0   50% 2 1   75%
paperless/views.py (no class)   100% 124 0 0   100% 0 0   100%
paperless/wsgi.py (no class)   0% 8 8 0   100% 0 0   0%
paperless_ai/__init__.py (no class)   100% 0 0 0   100% 0 0   100%
paperless_ai/ai_classifier.py (no class)   35% 105 68 0   0% 14 0   31%
paperless_ai/base_model.py DocumentClassifierSchema   0% 1 1 0   100% 0 0   0%
paperless_ai/base_model.py TaxonomyChoiceDict   100% 0 0 0   100% 0 0   100%
paperless_ai/base_model.py ClassificationSuggestions   100% 0 0 0   100% 0 0   100%
paperless_ai/base_model.py (no class)   71% 51 15 0   0% 4 0   65%
paperless_ai/chat.py (no class)   30% 97 68 0   0% 20 0   25%
paperless_ai/client.py AIClient   0% 59 59 0   0% 18 0   0%
paperless_ai/client.py (no class)   94% 33 2 0   50% 2 1   91%
paperless_ai/db.py (no class)   56% 9 4 0   100% 0 0   56%
paperless_ai/embedding.py (no class)   36% 56 36 0   8% 12 1   31%
paperless_ai/exceptions.py LLMTimeoutError   100% 0 0 0   100% 0 0   100%
paperless_ai/exceptions.py LLMProviderError   100% 0 0 0   100% 0 0   100%
paperless_ai/exceptions.py (no class)   100% 3 0 0   100% 0 0   100%
paperless_ai/indexing.py MigrationCheckResult   100% 0 0 0   100% 0 0   100%
paperless_ai/indexing.py (no class)   22% 279 217 0   1% 68 1   18%
paperless_ai/matching.py (no class)   45% 65 36 0   0% 10 0   39%
paperless_ai/prompts/__init__.py (no class)   100% 0 0 0   100% 0 0   100%
paperless_ai/prompts/context.py TaxonomyBlockPromptContext   100% 0 0 0   100% 0 0   100%
paperless_ai/prompts/context.py ClassificationPromptContext   100% 0 0 0   100% 0 0   100%
paperless_ai/prompts/context.py RagContextPromptContext   100% 0 0 0   100% 0 0   100%
paperless_ai/prompts/context.py LocalizationPromptContext   100% 0 0 0   100% 0 0   100%
paperless_ai/prompts/context.py ChatQaPromptContext   100% 0 0 0   100% 0 0   100%
paperless_ai/prompts/context.py ChatRefinePromptContext   100% 0 0 0   100% 0 0   100%
paperless_ai/prompts/context.py (no class)   100% 22 0 0   100% 0 0   100%
paperless_ai/prompts/render.py PromptName   100% 0 0 0   100% 0 0   100%
paperless_ai/prompts/render.py PromptContext   100% 0 0 0   100% 0 0   100%
paperless_ai/prompts/render.py (no class)   89% 19 2 0   100% 0 0   89%
paperless_ai/tables.py ChunkRow   100% 0 0 0   100% 0 0   100%
paperless_ai/tables.py DocumentMetaRow   100% 0 0 0   100% 0 0   100%
paperless_ai/tables.py DocumentChunksTable   0% 7 7 0   100% 0 0   0%
paperless_ai/tables.py DocumentMetaTable   0% 8 8 0   0% 2 0   0%
paperless_ai/tables.py IndexMetaTable   0% 16 16 0   100% 0 0   0%
paperless_ai/tables.py (no class)   0% 56 56 0   100% 0 0   0%
paperless_ai/taxonomy.py TaxonomyCandidate   100% 0 0 0   100% 0 0   100%
paperless_ai/taxonomy.py SimilarDocument   100% 0 0 0   100% 0 0   100%
paperless_ai/taxonomy.py TaxonomyCandidates   100% 0 0 0   100% 0 0   100%
paperless_ai/taxonomy.py (no class)   40% 67 40 0   5% 20 1   32%
paperless_ai/vector_store.py _Row   100% 0 0 0   100% 0 0   100%
paperless_ai/vector_store.py PaperlessSqliteVecVectorStore   0% 198 198 0   0% 68 0   0%
paperless_ai/vector_store.py (no class)   0% 130 130 0   0% 20 0   0%
paperless_mail/__init__.py (no class)   100% 0 0 0   100% 0 0   100%
paperless_mail/admin.py MailAccountAdminForm   100% 0 0 0   100% 0 0   100%
paperless_mail/admin.py MailAccountAdminForm.Meta   100% 0 0 0   100% 0 0   100%
paperless_mail/admin.py MailAccountAdmin   100% 0 0 0   100% 0 0   100%
paperless_mail/admin.py MailRuleAdmin   100% 0 0 0   100% 0 0   100%
paperless_mail/admin.py ProcessedMailAdmin   100% 0 0 0   100% 0 0   100%
paperless_mail/admin.py ProcessedMailAdmin.Meta   100% 0 0 0   100% 0 0   100%
paperless_mail/admin.py (no class)   100% 39 0 0   100% 0 0   100%
paperless_mail/apps.py PaperlessMailConfig   100% 0 0 0   100% 0 0   100%
paperless_mail/apps.py (no class)   100% 5 0 0   100% 0 0   100%
paperless_mail/filters.py ProcessedMailFilterSet   100% 0 0 0   100% 0 0   100%
paperless_mail/filters.py ProcessedMailFilterSet.Meta   100% 0 0 0   100% 0 0   100%
paperless_mail/filters.py (no class)   100% 6 0 0   100% 0 0   100%
paperless_mail/mail.py MailError   100% 0 0 0   100% 0 0   100%
paperless_mail/mail.py BaseMailAction   0% 2 2 0   100% 0 0   0%
paperless_mail/mail.py DeleteMailAction   0% 1 1 0   100% 0 0   0%
paperless_mail/mail.py MarkReadMailAction   0% 2 2 0   100% 0 0   0%
paperless_mail/mail.py MoveMailAction   0% 1 1 0   100% 0 0   0%
paperless_mail/mail.py FlagMailAction   0% 2 2 0   100% 0 0   0%
paperless_mail/mail.py TagMailAction   0% 25 25 0   0% 16 0   0%
paperless_mail/mail.py PinnedIMAP4   26% 19 14 0   12% 8 1   22%
paperless_mail/mail.py PinnedClientMixin   100% 3 0 0   100% 0 0   100%
paperless_mail/mail.py PinnedMailBox   100% 1 0 0   100% 0 0   100%
paperless_mail/mail.py PinnedMailBoxUnencrypted   100% 1 0 0   100% 0 0   100%
paperless_mail/mail.py PinnedMailBoxStartTls   40% 5 3 0   50% 2 1   43%
paperless_mail/mail.py MailAccountHandler   0% 235 235 0   0% 98 0   0%
paperless_mail/mail.py (no class)   61% 206 80 0   16% 44 3   53%
paperless_mail/management/__init__.py (no class)   100% 0 0 0   100% 0 0   100%
paperless_mail/management/commands/__init__.py (no class)   100% 0 0 0   100% 0 0   100%
paperless_mail/management/commands/mail_fetcher.py Command   0% 1 1 0   100% 0 0   0%
paperless_mail/management/commands/mail_fetcher.py (no class)   0% 5 5 0   100% 0 0   0%
paperless_mail/models.py MailAccount   0% 1 1 0   100% 0 0   0%
paperless_mail/models.py MailAccount.Meta   100% 0 0 0   100% 0 0   100%
paperless_mail/models.py MailAccount.ImapSecurity   100% 0 0 0   100% 0 0   100%
paperless_mail/models.py MailAccount.MailAccountType   100% 0 0 0   100% 0 0   100%
paperless_mail/models.py MailRule   0% 1 1 0   100% 0 0   0%
paperless_mail/models.py MailRule.Meta   100% 0 0 0   100% 0 0   100%
paperless_mail/models.py MailRule.ConsumptionScope   100% 0 0 0   100% 0 0   100%
paperless_mail/models.py MailRule.AttachmentProcessing   100% 0 0 0   100% 0 0   100%
paperless_mail/models.py MailRule.PdfLayout   100% 0 0 0   100% 0 0   100%
paperless_mail/models.py MailRule.MailAction   100% 0 0 0   100% 0 0   100%
paperless_mail/models.py MailRule.TitleSource   100% 0 0 0   100% 0 0   100%
paperless_mail/models.py MailRule.CorrespondentSource   100% 0 0 0   100% 0 0   100%
paperless_mail/models.py ProcessedMail   100% 0 0 0   100% 0 0   100%
paperless_mail/models.py (no class)   100% 96 0 0   100% 0 0   100%
paperless_mail/oauth.py PaperlessMailOAuth2Manager   0% 33 33 0   0% 10 0   0%
paperless_mail/oauth.py (no class)   100% 27 0 0   100% 0 0   100%
paperless_mail/preprocessor.py MailMessagePreprocessor   100% 0 0 0   100% 0 0   100%
paperless_mail/preprocessor.py MailMessageDecryptor   0% 30 30 0   0% 14 0   0%
paperless_mail/preprocessor.py (no class)   100% 27 0 0   100% 0 0   100%
paperless_mail/serialisers.py ObfuscatedPasswordField   100% 2 0 0   100% 0 0   100%
paperless_mail/serialisers.py MailAccountSerializer   100% 4 0 0   100% 2 0   100%
paperless_mail/serialisers.py MailAccountSerializer.Meta   100% 0 0 0   100% 0 0   100%
paperless_mail/serialisers.py AccountField   67% 6 2 0   50% 4 2   60%
paperless_mail/serialisers.py MailRuleSerializer   89% 18 2 0   75% 8 2   85%
paperless_mail/serialisers.py MailRuleSerializer.Meta   100% 0 0 0   100% 0 0   100%
paperless_mail/serialisers.py ProcessedMailSerializer   100% 0 0 0   100% 0 0   100%
paperless_mail/serialisers.py ProcessedMailSerializer.Meta   100% 0 0 0   100% 0 0   100%
paperless_mail/serialisers.py (no class)   100% 43 0 0   100% 0 0   100%
paperless_mail/tasks.py (no class)   42% 33 19 0   0% 8 0   34%
paperless_mail/views.py DeleteProcessedMailPermissions   100% 1 0 0   100% 0 0   100%
paperless_mail/views.py MailAccountViewSet   46% 41 22 0   36% 14 3   44%
paperless_mail/views.py ProcessedMailViewSet   88% 8 1 0   75% 4 1   83%
paperless_mail/views.py MailRuleViewSet   100% 0 0 0   100% 0 0   100%
paperless_mail/views.py OauthCallbackView   22% 32 25 0   20% 10 2   21%
paperless_mail/views.py (no class)   100% 79 0 0   100% 0 0   100%
Total     47% 18742 9898 0   21% 5106 475   42%

No items found using the specified filter.