A supercharged version of paperless: scan, index and archive all your physical documents

Overview

ci Ansible Role Crowdin Documentation Status Gitter Docker Hub Pulls Coverage Status

Paperless-ng

Paperless (click me) is an application by Daniel Quinn and contributors that indexes your scanned documents and allows you to easily search for documents and store metadata alongside your documents.

Paperless-ng is a fork of the original project, adding a new interface and many other changes under the hood. These key points should help you decide whether Paperless-ng is something you would prefer over Paperless:

  • Interface: The new front end is the main interface for Paperless-ng, the old interface still exists but most customizations (such as thumbnails for the document list) have been removed.0
  • Encryption: Paperless-ng does not support GnuPG anymore, since storing your data on encrypted file systems (that you optionally mount on demand) achieves about the same result.
  • Resource usage: Paperless-ng does use a bit more resources than Paperless. Running the web server requires about 300MB of RAM or more, depending on the configuration. While adding documents, it requires about 300MB additional RAM, depending on the document. It still runs on Raspberry Pi (many users do that), but it has been generally geared to better use the resources of more powerful systems.
  • API changes: If you rely on the REST API of paperless, some of its functionality has been changed.

For a detailed list of changes, have a look at the change log in the documentation, especially the section about the 0.9.0 release.

How it Works

Paperless does not control your scanner, it only helps you deal with what your scanner produces.

  1. Buy a document scanner that can write to a place on your network. If you need some inspiration, have a look at the scanner recommendations page. Set it up to "scan to FTP" or something similar. It should be able to push scanned images to a server without you having to do anything. Of course if your scanner doesn't know how to automatically upload the file somewhere, you can always do that manually. Paperless doesn't care how the documents get into its local consumption directory.

    • Alternatively, you can use any of the mobile scanning apps out there. We have an app that allows you to share documents with paperless, if you're on Android. See the section on affiliated projects below.
  2. Wait for paperless to process your files. OCR is expensive, and depending on the power of your machine, this might take a bit of time.

  3. Use the web frontend to sift through the database and find what you want.

  4. Download the PDF you need/want via the web interface and do whatever you like with it. You can even print it and send it as if it's the original. In most cases, no one will care or notice.

Here's what you get:

Dashboard

If you want to see paperless-ng in action, more screenshots are available in the documentation.

Features

  • Performs OCR on your documents, adds selectable text to image only documents and adds tags, correspondents and document types to your documents.
  • Supports PDF documents, images, plain text files, and Office documents (Word, Excel, Powerpoint, and LibreOffice equivalents).
    • Office document support is optional and provided by Apache Tika (see configuration)
  • Paperless stores your documents plain on disk. Filenames and folders are managed by paperless and their format can be configured freely.
  • Single page application front end.
    • Includes a dashboard that shows basic statistics and has document upload.
    • Filtering by tags, correspondents, types, and more.
    • Customizable views can be saved and displayed on the dashboard.
  • Full text search helps you find what you need.
    • Auto completion suggests relevant words from your documents.
    • Results are sorted by relevance to your search query.
    • Highlighting shows you which parts of the document matched the query.
    • Searching for similar documents ("More like this")
  • Email processing: Paperless adds documents from your email accounts.
    • Configure multiple accounts and filters for each account.
    • When adding documents from mail, paperless can move these mail to a new folder, mark them as read, flag them as important or delete them.
  • Machine learning powered document matching.
    • Paperless learns from your documents and will be able to automatically assign tags, correspondents and types to documents once you've stored a few documents in paperless.
  • Optimized for multi core systems: Paperless-ng consumes multiple documents in parallel.
  • The integrated sanity checker makes sure that your document archive is in good health.

Getting started

The recommended way to deploy paperless is docker-compose. The files in the /docker/compose directory are configured to pull the image from Docker Hub.

Read the documentation on how to get started.

Alternatively, you can install the dependencies and setup apache and a database server yourself. The documenation has a step by step guide on how to do it. Consider giving the Ansible role a shot, this essentially automates the entire bare metal installation process.

Migrating from Paperless to Paperless-ng

Read the section about migration in the documentation. Its also entirely possible to go back to Paperless by reverting the database migrations.

Documentation

The documentation for Paperless-ng is available on ReadTheDocs.

Translation

Paperless is available in many different languages. Translation is coordinated at crowdin. If you want to help out by translating paperless into your language, please head over to https://github.com/jonaswinkler/paperless-ng/issues/212 for details!

Feature Requests

Feature requests can be submitted via GitHub Discussions, you can search for existing ideas, add your own and vote for the ones you care about! Note that some older feature requests can also be found under issues.

Questions? Something not working?

For bugs please open an issue or start a discussion if you have questions.

Feel like helping out?

There's still lots of things to be done, just have a look at open issues & discussions. If you feel like contributing to the project, please do! Bug fixes and improvements to the front end (I just can't seem to get some of these CSS things right) are always welcome. The documentation has some basic information on how to get started.

If you want to implement something big: Please start a discussion about that! Maybe I've already had something similar in mind and we can make it happen together. However, keep in mind that the general roadmap is to make the existing features stable and get them tested.

Affiliated Projects

Paperless has been around a while now, and people are starting to build stuff on top of it. If you're one of those people, we can add your project to this list:

  • Paperless App: An Android/iOS app for Paperless. Updated to work with paperless-ng.
  • Paperless Share. Share any files from your Android application with paperless. Very simple, but works with all of the mobile scanning apps out there that allow you to share scanned documents.
  • Scan to Paperless: Scan and prepare (crop, deskew, OCR, ...) your documents for Paperless.

These projects also exist, but their status and compatibility with paperless-ng is unknown.

  • paperless-cli: A golang command line binary to interact with a Paperless instance.

This project also exists, but needs updates to be compatile with paperless-ng.

  • Paperless Desktop: A desktop UI for your Paperless installation. Runs on Mac, Linux, and Windows. Known issues on Mac: (Could not load reminders and documents)

Important Note

Document scanners are typically used to scan sensitive documents. Things like your social insurance number, tax records, invoices, etc. Everything is stored in the clear without encryption. This means that Paperless should never be run on an untrusted host. Instead, I recommend that if you do want to use it, run it locally on a server in your own home.

Comments
  • Automatically build container images with CI/CD

    Automatically build container images with CI/CD

    I would love to see multiple architectures supported with the docker container. Sadly it currently only supports amd64 which is probably because the image is built on a PC. I would suggest automatic builds and deployments of various images using a CI/CD platform (for example GitLab CI).

    Notably I would suggest the following CPU architectures for the image(s):

    • amd64
    • armv7 (e.g. Raspberry Pi 1 through 2)
    • aarch64 (e.g. Raspberry Pi 3 through 4)

    Maybe we could also throw a x86 build in there if anyone wants it.

    Open questions

    1. What CI to use?
    2. Which Container Registry to use? (As Docker Hub is getting more and more restrictive, we might be able to use an alternative like quay.io or GitLab Container Registry)
    3. Should we provide an Alpine-based image in addition to the Debian-based image?
    opened by Scrumplex 43
  • Consumer status on the dashboard

    Consumer status on the dashboard

    Add ability to see the status of the document consumer per document on the dashboard

    • with progress bars
    • with error messages when consumption fails
    • with success messages and buttons / links to open documents when consumption finished

    This will not work with Apache mod_wsgi, since this change requires me to use web sockets and make paperless an asgi application. mod_wsgi will continue to work, you'll simply not get the status notifications in the front end.

    feature request fixed in next release 
    opened by jonaswinkler 33
  • Support bulk editing

    Support bulk editing

    I haven't found a way to edit several documents at once (f.e. adding a document type or a tag to all of them). This would be very helpful, especially after importing or migrating a large number of documents.

    feature request 
    opened by fdw 29
  • Show documenttype at lists

    Show documenttype at lists

    The documenttype is only visible at the detailed listview, but not on the other 2 styles. Unfortunately the same, if you pin searches on the dashboard, which makes it IMHO hard to understand the nature of a document. As the documenttype labels might be to long, we might use emojis as shortcuts?

    feature request fixed in next release 
    opened by Matthias84 25
  • [BUG] paperless-ng installation fails, folders not writable

    [BUG] paperless-ng installation fails, folders not writable

    I wanted to set up my raspberry 4 and started with a fresh image (Raspberry Pi OS lite) installed all updates and continued with the following steps:

    curl -sSL https://get.docker.com | sh sudo usermod -aG docker pi sudo reboot

    docker run --rm hello-world sudo apt-get install -y libffi-dev libssl-dev sudo apt-get install -y python3 python3-pip sudo apt-get remove python-configparser sudo pip3 -v install docker-compose sudo reboot

    (Next steps found in #879 [BUG] Webserver not starting after upgrade to 1.4.0) wget http://ftp.us.debian.org/debian/pool/main/libs/libseccomp/libseccomp2_2.4.4-1~bpo10+1_armhf.deb sudo dpkg -i libseccomp2_2.4.4-1~bpo10+1_armhf.deb sudo reboot

    wget https://raw.githubusercontent.com/jonaswinkler/paperless-ng/master/install-paperless-ng.sh chmod +x install-paperless-ng.sh ./install-paperless-ng.sh

    The last step results in following error-messages: fehlermeldung paperless

    The second strange thing what happes too: The folders are created by the user "root" and not the standard user "pi" WhatsApp Image 2021-05-24 at 20 13 22

    Also the sub-folder "logs" is missing: WhatsApp Image 2021-05-24 at 20 14 13

    Any Idea what could cause this? And how to fix it?

    Relevant information

    • Host OS of the machine running paperless: Raspberry Pi OS lite (Raspberry Pi 4B)
    • Version: Master (ng-1.4.4)
    • Installation method: docker (docker version 20.10.6, docker-compose version 1.29.2)
    • no configuration changes performed
    opened by snowy-1 24
  • Search bar styling

    Search bar styling

    Just installed paperless-ng using the Docker method. It works fine, however, search seems to only apply to the document title? If I type something into the "Filter by" search bar it finds 0 results even though the word I've typed in is one of the documents' "Content" tab.

    feature request fixed in next release 
    opened by jonashaag 24
  • Mail parser not working for PDF: mime type detected is application/octet-stream

    Mail parser not working for PDF: mime type detected is application/octet-stream

    I configured the paperless mail plugin to connect to a new mailbox. I forwarded a single mail with a PDF in attachment to that mailbox. After figuring out the correct connection settings, I saw this error coming up:

    Rule documents.document parsing: Processing mail [mail subject] from [my mail address] with 1 attachment(s) Rule documents.document parsing: Skipping attachment filename.pdf since guessed mime type application/octet-stream is not supported by paperless

    Anyone knows what silly mistake I made?

    I selected "Use attachment filename as title", all other options are default or not relevant at this stage...

    bug fixed in next release 
    opened by jovandeginste 24
  • Quick filters

    Quick filters

    Hey @jonaswinkler I got inspired form our discussion in (closes #110, closes #127) . This PR includes a pretty functional and speedy UI like we talked about.

    • Quick access to Tags / Correspondents / Document Types. All lists scroll if they're very long and can be filtered using optional search field
    • Can build up filter components using click to toggle on / off
    • Quick "Clear" button
    • Hooked up to existing components so using this UI correctly sets the "Filter Editor" (I named it that =) and then can still be saved as a view, etc.
    • Video below (I fixed a couple small things after video was made). ezgif com-video-to-gif

    Welcome your thoughts & testing!

    opened by shamoon 24
  • [BUG] 1012_fix_archive_files migration fails

    [BUG] 1012_fix_archive_files migration fails

    Describe the bug

    After updating the paperless-ng docker container from v1.1.0 to v1.1.1 the container stops with the following exception in the docker logs:

    Paperless-ng docker container starting...
    Mapping UID and GID for paperless:paperless to 99:100
    creating directory /tmp/paperless
    Apply database migrations...
    Operations to perform:
    Apply all migrations: admin, auth, authtoken, contenttypes, django_q, documents, paperless_mail, sessions
    Running migrations:
    Traceback (most recent call last):
    File "manage.py", line 11, in <module>
    execute_from_command_line(sys.argv)
    File "/usr/local/lib/python3.7/site-packages/django/core/management/__init__.py", line 401, in execute_from_command_line
    utility.execute()
    File "/usr/local/lib/python3.7/site-packages/django/core/management/__init__.py", line 395, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
    File "/usr/local/lib/python3.7/site-packages/django/core/management/base.py", line 330, in run_from_argv
    self.execute(*args, **cmd_options)
    File "/usr/local/lib/python3.7/site-packages/django/core/management/base.py", line 371, in execute
    output = self.handle(*args, **options)
    File "/usr/local/lib/python3.7/site-packages/django/core/management/base.py", line 85, in wrapped
    res = handle_func(*args, **kwargs)
    File "/usr/local/lib/python3.7/site-packages/django/core/management/commands/migrate.py", line 245, in handle
    fake_initial=fake_initial,
    File "/usr/local/lib/python3.7/site-packages/django/db/migrations/executor.py", line 117, in migrate
    state = self._migrate_all_forwards(state, plan, full_plan, fake=fake, fake_initial=fake_initial)
    File "/usr/local/lib/python3.7/site-packages/django/db/migrations/executor.py", line 147, in _migrate_all_forwards
    state = self.apply_migration(state, migration, fake=fake, fake_initial=fake_initial)
    File "/usr/local/lib/python3.7/site-packages/django/db/migrations/executor.py", line 227, in apply_migration
    state = migration.apply(state, schema_editor)
    File "/usr/local/lib/python3.7/site-packages/django/db/migrations/migration.py", line 124, in apply
    operation.database_forwards(self.app_label, schema_editor, old_state, project_state)
    File "/usr/local/lib/python3.7/site-packages/django/db/migrations/operations/special.py", line 190, in database_forwards
    self.code(from_state.apps, schema_editor)
    File "/usr/src/paperless/src/documents/migrations/1012_fix_archive_files.py", line 244, in move_old_to_new_locations
    f"Archived document ID:{doc.id} does not exist at: "
    ValueError: Archived document ID:191 does not exist at: /usr/src/paperless/src/../media/documents/archive/2018-02-01-Acorrespondent-ATitle.pdf
    Applying documents.1012_fix_archive_files...*Paperless-ng docker container starting...
    creating directory /tmp/paperless
    Apply database migrations...
    Operations to perform:
    Apply all migrations: admin, auth, authtoken, contenttypes, django_q, documents, paperless_mail, sessions
    Running migrations:
    Traceback (most recent call last):
    File "manage.py", line 11, in <module>
    execute_from_command_line(sys.argv)
    File "/usr/local/lib/python3.7/site-packages/django/core/management/__init__.py", line 401, in execute_from_command_line
    utility.execute()
    File "/usr/local/lib/python3.7/site-packages/django/core/management/__init__.py", line 395, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
    File "/usr/local/lib/python3.7/site-packages/django/core/management/base.py", line 330, in run_from_argv
    self.execute(*args, **cmd_options)
    File "/usr/local/lib/python3.7/site-packages/django/core/management/base.py", line 371, in execute
    output = self.handle(*args, **options)
    File "/usr/local/lib/python3.7/site-packages/django/core/management/base.py", line 85, in wrapped
    res = handle_func(*args, **kwargs)
    File "/usr/local/lib/python3.7/site-packages/django/core/management/commands/migrate.py", line 245, in handle
    fake_initial=fake_initial,
    File "/usr/local/lib/python3.7/site-packages/django/db/migrations/executor.py", line 117, in migrate
    state = self._migrate_all_forwards(state, plan, full_plan, fake=fake, fake_initial=fake_initial)
    File "/usr/local/lib/python3.7/site-packages/django/db/migrations/executor.py", line 147, in _migrate_all_forwards
    state = self.apply_migration(state, migration, fake=fake, fake_initial=fake_initial)
    File "/usr/local/lib/python3.7/site-packages/django/db/migrations/executor.py", line 227, in apply_migration
    state = migration.apply(state, schema_editor)
    File "/usr/local/lib/python3.7/site-packages/django/db/migrations/migration.py", line 124, in apply
    operation.database_forwards(self.app_label, schema_editor, old_state, project_state)
    File "/usr/local/lib/python3.7/site-packages/django/db/migrations/operations/special.py", line 190, in database_forwards
    self.code(from_state.apps, schema_editor)
    File "/usr/src/paperless/src/documents/migrations/1012_fix_archive_files.py", line 244, in move_old_to_new_locations
    f"Archived document ID:{doc.id} does not exist at: "
    ValueError: Archived document ID:191 does not exist at: /usr/src/paperless/src/../media/documents/archive/2018-02-01-Acorrespondent-ATitle.pdf
    Applying documents.1012_fix_archive_files...
    
    [email protected]:~# ls /mnt/user/paperless-ng/media/documents/archive/ | grep Acorrespondent
    2015-12-31-Acorrespondent-other1.pdf
    2018-02-01-Acorrespondent-ATitle.pdf
    2018-10-06-Acorrespondent-other2.pdf
    

    To Reproduce Steps to reproduce the behavior:

    1. Upgraded the docker container from v1.1.0 to v1.1.1
    2. Start the container
    3. Check the docker logs

    Same behavior every time I restart the container

    Expected behavior

    The container starts successfully

    Relevant information

    • Host OS of the machine running paperless: Unraid 6.8.3
    • Browser: Firefox
    • Version: v1.1.1
    • Installation method: docker
    • Any configuration changes you made in docker-compose.yml, docker-compose.env or paperless.conf: PAPERLESS_FILENAME_FORMAT={created}-{correspondent}-{title}
    opened by Tooa 21
  • Paperless-ng crashes webbrowser Safari (MacOS) when clicking the edit-icon

    Paperless-ng crashes webbrowser Safari (MacOS) when clicking the edit-icon

    When I click the edit icon while using Safari, it seems that paperless-ng fully hangs, even a refresh of the site hangs/loads forever. Weird thing is, everything works fine in Edge of Chrome.

    bug help needed 
    opened by mikkelnl 21
  • docker-entrypoint.sh: don't crash on chown errors

    docker-entrypoint.sh: don't crash on chown errors

    This pull request adds a new environment variable (PAPERLESS_NO_CHOWN) to control whether paperless-ng tries to chown it's home directory.

    If set to a non-empty string, it causes paperless-ng to skip chowning it's home directory.

    This is required when using NFS, because you can't safely allow remote users to chown things on an NFS share (at least as far as I know).

    opened by sbrl 20
Releases(ng-1.5.0)
  • ng-1.5.0(Aug 22, 2021)

  • ng-1.4.5(Jun 13, 2021)

  • ng-1.4.4(May 20, 2021)

  • ng-1.4.3(May 15, 2021)

  • ng-1.4.2(Apr 27, 2021)

  • ng-1.4.1(Apr 18, 2021)

  • ng-1.4.0(Apr 6, 2021)

  • ng-1.3.2(Mar 18, 2021)

  • ng-1.3.1(Mar 14, 2021)

  • ng-1.3.0(Mar 6, 2021)

  • ng-1.2.1(Feb 25, 2021)

  • ng-1.2.0(Feb 22, 2021)

  • ng-1.1.4(Feb 17, 2021)

  • ng-1.1.3(Feb 15, 2021)

  • ng-1.1.2(Feb 14, 2021)

  • ng-1.1.1(Feb 12, 2021)

  • ng-1.1.0(Feb 6, 2021)

  • ng-1.0.0(Jan 21, 2021)

  • ng-0.9.14(Jan 14, 2021)

  • ng-0.9.13(Jan 8, 2021)

  • ng-0.9.12(Jan 8, 2021)

    • Paperless localization

      • Thanks to the combined efforts of many users, Paperless is now available in English, Dutch, French and German.
    • Thanks to Jo Vandeginste, Paperless has optional support for Office documents such as .docx, .doc, .odt and more.

      • See https://paperless-ng.readthedocs.io/en/latest/configuration.html#tika-settings on how to enable this feature. This feature requires two additional services (one for parsing Office documents and metadata extraction and another for converting Office documents to PDF), and is therefore not enabled on default installations.
      • As with all other documents, paperless converts Office documents to PDF and stores both the original as well as the archived PDF.
    • Dark mode

      • Thanks to Michael Shamoon, paperless now has a dark mode. Configuration is available in the settings.
    • Other changes and additions

      • The PDF viewer now uses a local copy of some dependencies instead of fetching them from the internet. Thanks to slorenz.
      • Revamped search bar styling thanks to Michael Shamoon.
      • Sorting in the document list by clicking on table headers.
      • A button was added to the document detail page that assigns a new ASN to a document.
      • Form field validation: When providing invalid input in a form (such as a duplicate ASN or no name), paperless now has visual indicators and clearer error messages about what's wrong.
      • Paperless disables buttons with network actions (such as save and delete) when a network action is active. This indicates that something is happening and prevents double clicking.
      • When using "Save & next", the title field is focussed automatically to better support keyboard editing.
      • E-Mail: Added filter rule parameters to allow inline attachments (watch out for mails with inlined images!) and attachment filename filters with wildcards.
      • Support for remote user authentication thanks to Michael Shamoon. This is useful for hiding Paperless behind single sign on applications such as authelia https://www.authelia.com/.
      • "Clear filters" has been renamed to "Reset filters" and now correctly restores the default filters on saved views. Thanks to Michael Shamoon.
    • Fixes

      • Paperless was unable to save views when "Not assigned" was chosen in one of the filter dropdowns.
      • Clearer error messages when pre and post consumption scripts do not exist.
      • The post consumption script is executed later in the consumption process. Before the change, an ID was passed to the script referring to a document that did not yet exist in the database.
    Source code(tar.gz)
    Source code(zip)
    paperless-ng-0.9.12-dockerfiles.tar.xz(1.54 KB)
    paperless-ng-0.9.12.tar.xz(5.88 MB)
  • ng-0.9.11(Dec 31, 2020)

  • ng-0.9.10(Dec 31, 2020)

    • Bulk editing

      • Thanks to Michael Shamoon, we've got a new interface for the bulk editor.
      • There are some configuration options in the settings to alter the behavior.
    • Other changes and additions

      • Thanks to zjean, paperless now publishes a webmanifest, which is useful for adding the application to home screens on mobile devices.
      • The Paperless-ng logo now navigates to the dashboard.
      • Filter for documents that don't have any correspondents, types or tags assigned.
      • Tags, types and correspondents are now sorted case insensitive.
      • Lots of preparation work for localization support.
    • Fixes

      • Added missing dependencies for Raspberry Pi builds.
      • Fixed an issue with plain text file consumption: Thumbnail generation failed due to missing fonts.
      • An issue with the search index reporting missing documents after bulk deletes was fixed.
      • Issue with the tag selector not clearing input correctly.
      • The consumer used to stop working when encountering an incomplete classifier model file.

    Note:

    The bulk delete operations did not update the search index. Therefore, documents that you deleted remained in the index and caused the search to return messages about missing documents when searching. Further bulk operations will properly update the index.

    However, this change is not retroactive: If you used the delete method of the bulk editor, you need to reindex your search index by running the management command document_index with the argument reindex.

    Source code(tar.gz)
    Source code(zip)
  • ng-0.9.9(Dec 22, 2020)

    Christmas release!

    • Bulk editing

      • Paperless now supports bulk editing.
      • The following operations are available: Add and remove correspondents, tags, document types from selected documents, as well as mass-deleting documents.
      • We've got a more fancy UI in the works that makes these features more accessible, but that's not quite ready yet.
    • Searching

      • Paperless now supports searching for similar documents ("More like this") both from the document detail page as well as from individual search results.
      • A search score indicates how well a document matches the search query, or how similar a document is to a given reference document.
    • Other additions and changes

      • Clarification in the UI that the fields "Match" and "Is insensitive" are not relevant for the Auto matching algorithm.
      • New select interface for tags, types and correspondents allows filtering. This also improves tag selection. Thanks again to Michael Shamoon!
      • Page navigation controls for the document viewer, thanks to Michael Shamoon.
      • Layout changes to the small cards document list.
      • The dashboard now displays the username (or full name if specified in the admin) on the dashboard.
    • Fixes

      • An error that caused the document importer to crash was fixed.
      • An issue with changes not being possible when PAPERLESS_COOKIE_PREFIX is used was fixed.
      • The date selection filters now allow manual entry of dates.
    • Feature Removal

      • Most of the guesswork features have been removed. Paperless no longer tries to extract correspondents and tags from file names.
    Source code(tar.gz)
    Source code(zip)
    paperless-ng-0.9.9-dockerfiles.tar.xz(1.41 KB)
    paperless-ng-0.9.9.tar.xz(9.96 MB)
  • ng-0.9.8(Dec 16, 2020)

  • ng-0.9.7(Dec 16, 2020)

    This release contained some issues with not being able to delete correspondents, tags or types and some issues with certain admin pages. Therefore, I've decided to remove this release. There's no need to downgrade. Changelog below.

    • Front end

      • Thanks to the hard work of Michael Shamoon, paperless now comes with a much more streamlined UI for filtering documents.
      • Michael Shamoon replaced the document preview with another component. This should fix compatibility with Safari browsers.
      • Added buttons to the management pages to quickly show all documents with one specific tag, correspondent, or title.
      • Paperless now stores your saved views on the server and associates them with your user account. This means that you can access your views on multiple devices and have separate views for different users. You will have to recreate your views.
      • The GitHub and documentation links now open in new tabs/windows. Thanks to rYR79435.
      • Paperless now generates default saved view names when saving views with certain filter rules.
      • Added a small version indicator to the front end.
    • Other additions and changes

      • The new filename format field {tag_list} inserts a list of tags into the filename, separated by comma.
      • The document_retagger no longer removes inbox tags or tags without matching rules.
      • The new configuration option PAPERLESS_COOKIE_PREFIX allows you to run multiple instances of paperless on different ports. This option enables you to be logged in into multiple instances by specifying different cookie names for each instance.
    • Fixes

      • Sometimes paperless would assign dates in the future to newly consumed documents.
      • The filename format fields {created_month} and {created_day} now use a leading zero for single digit values.
      • The filename format field {tags} can no longer be used without arguments.
      • Paperless was not able to consume many images (especially images from mobile scanners) due to missing DPI information. Paperless now assumes A4 paper size for PDF generation if no DPI information is present.
      • Documents with empty titles could not be opened from the table view due to the link being empty.
      • Fixed an issue with filenames containing special characters such as : not being accepted for upload.
      • Fixed issues with thumbnail generation for plain text files.
    Source code(tar.gz)
    Source code(zip)
  • ng-0.9.6(Dec 10, 2020)

    This release focuses primarily on many small issues with the UI.

    • Front end

      • Paperless now has proper window titles.
      • Fixed an issue with the small cards when more than 7 tags were used.
      • Navigation of the "Show all" links adjusted. They navigate to the saved view now, if available in the sidebar.
      • Some indication on the document lists that a filter is active was added.
      • There's a new filter to filter for documents that do not have a certain tag.
      • The file upload box now shows upload progress.
      • The document edit page was reorganized.
      • The document edit page shows various information about a document.
      • An issue with the height of the preview was fixed.
      • Table issues with too long document titles fixed.
    • API

      • The API now serves file names with documents.
      • The API now serves various metadata about documents.
      • API documentation updated.
    • Other

      • Fixed an issue with the docker image when a non-standard PostgreSQL port was used.
      • The docker image was trying check for installed languages before actually installing them.
      • FILENAME_FORMAT placeholder for document types.
      • The filename formatter is now less restrictive with file names and tries to conserve the original correspondents, types and titles as much as possible.
      • The filename formatter does not include the document ID in filenames anymore. It will rather append _01, _02, etc when it detects duplicate filenames.

    Note:

    The changes to the filename format will apply to newly added documents and changed documents. If you want all files to reflect these changes, execute the document_renamer management command.

    Source code(tar.gz)
    Source code(zip)
    paperless-ng-0.9.6-dockerfiles.tar.xz(1.41 KB)
    paperless-ng-0.9.6.tar.xz(9.87 MB)
  • ng-0.9.5(Dec 5, 2020)

    This release concludes the big changes I wanted to get rolled into paperless. The next releases before 1.0 will focus on fixing issues, primarily.

    • OCR

      • Paperless now uses OCRmyPDF to perform OCR on documents. It still uses tesseract under the hood, but the PDF parser of Paperless has changed considerably and will behave different for some douments.
      • OCRmyPDF creates archived PDF/A documents with embedded text that can be selected in the front end.
      • Paperless stores archived versions of documents alongside with the originals. The originals can be accessed on the document edit page. If available, a dropdown menu will appear next to the download button.
      • Many of the configuration options regarding OCR have changed. See the documentation for details.
      • Paperless no longer guesses the language of your documents. It always uses the language that you specified with PAPERLESS_OCR_LANGUAGE. Be sure to set this to the language the majority of your documents are in. Multiple languages can be specified, but that requires more CPU time.
      • The management command document_archiver can be used to create archived versions for already existing documents.
    • Tags from consumption folder.

      • Thanks to jayme-github, paperless now consumes files from sub folders in the consumption folder and is able to assign tags based on the sub folders a document was found in. This can be configured with PAPERLESS_CONSUMER_RECURSIVE and PAPERLESS_CONSUMER_SUBDIRS_AS_TAGS.
    • API

      • The API now offers token authentication.
      • The endpoint for uploading documents now supports specifying custom titles, correspondents, tags and types. This can be used by clients to override the default behavior of paperless. See the documentation on file uploads.
      • The document endpoint of API now serves documents in this form:
        • correspondents, document types and tags are referenced by their ID in the fields correspondent, document_type and tags. The *_id versions are gone. These fields are read/write.
        • paperless does not serve nested tags, correspondents or types anymore.
    • Front end

      • Paperless does some basic caching of correspondents, tags and types and will only request them from the server when necessary or when entirely reloading the page.
      • Document list fetching is about 10%-30% faster now, especially when lots of tags/correspondents are present.
      • Some minor improvements to the front end, such as document count in the document list, better highlighting of the current page, and improvements to the filter behavior.
    • Fixes:

      • A bug with the generation of filenames for files with unsupported types caused the exporter and document saving to crash.
      • Mail handling no longer exits entirely when encountering errors. It will skip the account/rule/message on which the error ocured.
      • Assigning correspondents from mail sender names failed for very long names. Paperless no longer assigns correspondents in these cases.
    Source code(tar.gz)
    Source code(zip)
    paperless-ng-0.9.5-dockerfiles.tar.xz(1.41 KB)
    paperless-ng-0.9.5.tar.xz(9.86 MB)
  • ng-0.9.4(Nov 30, 2020)

    • Searching:

      • Paperless now supports searching by tags, types, dates and correspondents. In order to have this applied to your existing documents, you need to perform a document_index reindex management command (see Documentation) that adds the data to the search index. You only need to do this once, since the schema of the search index changed. Paperless keeps the index updated after that whenever something changes.
      • Paperless now has spelling corrections ("Did you mean") for miss-typed queries.
      • The documentation contains information about the search syntax.
    • Front end:

      • Clickable tags, correspondents and types allow quick filtering for related documents.
      • Saved views are now editable.
      • Preview documents directly in the browser.
      • Navigation from the dashboard to saved views.
    • Fixes:

      • A severe error when trying to use post consume scripts.
      • An error in the consumer that cause invalid messages of missing files to show up in the log.
    • The documentation now contains information about bare metal installs and a section about how to setup the development environment.

    Source code(tar.gz)
    Source code(zip)
    paperless-ng-0.9.4-dockerfiles.tar.xz(1.50 KB)
    paperless-ng-0.9.4.tar.xz(9.84 MB)
  • ng-0.9.3(Nov 27, 2020)

    • Setting PAPERLESS_AUTO_LOGIN_USERNAME replaces PAPERLESS_DISABLE_LOGIN. You have to specify your username.
    • Added a simple sanity checker that checks your documents for missing or orphaned files, files with wrong checksums, inaccessible files, and documents with empty content.
    • It is no longer possible to encrypt your documents. For the time being, paperless will continue to operate with already encrypted documents.
    • Fixes:
      • Paperless now uses inotify again, since the watchdog was causing issues which I was not aware of.
      • Issue with the automatic classifier not working with only one tag.
      • A couple issues with the search index being opened to eagerly.
    • Added lots of tests for various parts of the application.
    Source code(tar.gz)
    Source code(zip)
    paperless-ng-0.9.3-dockerfiles.tar.xz(1.50 KB)
    paperless-ng-0.9.3.tar.xz(9.83 MB)
Owner
Jonas Winkler
IT Consultant and hobby software engineer.
Jonas Winkler
Scripts to integrate DFIR-IRIS, MISP and TimeSketch

Scripts to integrate DFIR-IRIS, MISP and TimeSketch

Koen Van Impe 20 Dec 16, 2022
Hy - A dialect of Lisp that's embedded in Python

Hy Lisp and Python should love each other. Let's make it happen. Hy is a Lisp dialect that's embedded in Python. Since Hy transforms its Lisp code int

Hy Society 4.4k Jan 02, 2023
A basic DIY-project made using Python and MySQL

Banking-Using-Python-MySQL This is a basic DIY-project made using Python and MySQL. Pre-Requisite needed:-- MySQL command Line:- creating a database

ABHISHEK 0 Jul 03, 2022
Keep your company's passwords behind the firewall

TeamVault TeamVault is an open-source web-based shared password manager for behind-the-firewall installation. It requires Python 3.3+ and Postgres (wi

//SEIBERT/MEDIA GmbH 38 Feb 20, 2022
An useful scripts for Misskey

misskey-scripts This place storing useful scripts which made by me. icon-repair Repair broken remote user's icon.

CyberRex 5 Sep 09, 2022
Black-Scholes library implemented as a Cairo smart contract

Cairo Black-Scholes Library Black-Scholes library implemented as a Cairo smart contract. All inputs, outputs, and internal calculations use 27-digit f

Aditya Raghavan 47 Dec 19, 2022
AMTIO aka All My Tools in One

AMTIO AMTIO aka All My Tools In One. I plan to put a bunch of my tools in this one repo since im too lazy to make one big tool. Installation git clone

osintcat 3 Jul 29, 2021
A data driven app for bicycle hiring in London(UK)

bicycle_hiring_app_deployed A data driven app for bicycle hiring in London(UK). It predicts expected number of bicycle hire in London. It asks users t

Rajarshi Roy Raju 1 Dec 10, 2021
Probably the best way to simulate block scopes in Python

This is a package, as it says on the tin, to emulate block scoping in Python, the lack of which being a clever design choice yet sometimes a trouble.

88 Oct 26, 2022
Ellipitical Curve Table Generator

Ellipitical-Curve-Table-Generator This script generates a table of elliptical po

Nishaant Goswamy 1 Jan 02, 2022
We want to check several batch of web URLs (1~100 K) and find the phishing website/URL among them.

We want to check several batch of web URLs (1~100 K) and find the phishing website/URL among them. This module is designed to do the URL/web attestation by using the API from NUS-Phishperida-Project.

3 Dec 28, 2022
Snek-test - An operating system kernel made in python and assembly

pythonOS An operating system kernel made in python and assembly Wait what? It us

TechStudent10 2 Jan 25, 2022
Start and stop your NiceHash miners using this script.

NiceHash Mining Scheduler Use this script to schedule your NiceHash Miner(s). Electricity costs between 4-9pm are high in my area and I want NiceHash

SeaRoth 2 Sep 30, 2022
Streamlit — The fastest way to build data apps in Python

Welcome to Streamlit 👋 The fastest way to build and share data apps. Streamlit lets you turn data scripts into sharable web apps in minutes, not week

Streamlit 22k Jan 06, 2023
NFT generator for Solana!

Solseum NFT Generator for Solana! Check this guide here! Creating your randomized uniques NFTs, getting rarity information and displaying it on a webp

Solseumâ„¢ VR NFTs 145 Dec 30, 2022
An open source server for Super Mario Bros. 35

SMB35 A custom server for Super Mario Bros. 35 This server is highly experimental. Do not expect it to work without flaws.

Yannik Marchand 162 Dec 07, 2022
A Brainfuck interpreter written in Python.

A Brainfuck interpreter written in Python.

Ethan Evans 1 Dec 05, 2021
Sailwind Mod Manager

Sailwind Mod Manager The Sailwind Mod Manager is an open source mod manager for the Sailwind community. It currently allows you to browse and download

Max 3 Jul 15, 2022
Create a program for generator Truth Table

Python-Truth-Table-Ver-1.0 Create a program for generator Truth Table in here you have to install truth-table-generator module for python modules inst

JehanKandy 10 Jul 13, 2022
a simple functional programming language compiler written in python

Functional Programming Language A compiler for my small functional language. Written in python with SLY lexer/parser generator library. Requirements p

Ashkan Laei 3 Nov 05, 2021