Paperwork for MacOS

I recently switched to MacOS (blame me) and I really miss Paperwork on that platform. A quick Google search told me that I’m not the only one.

I’ve tried to build the source code but it fails with some GTK-Error. Then I saw that you can build GTK-Applications for MacOS (see here) but couldn’t get that to work either.

In the meantime, I created a simple SwiftUI Application which uses the Paperwork directory structure and imports PDF/JPEGs with the Apple Text Recognition. It’s all very basic but it shows my old documents and I can import new documents, preserving the folder structure. Here’s a screenshot of the app:

What do you think about offer a MacOS version of Paperwork, either by using the existing python code or as a Swift application?

Hello,

Sorry, but I have no plan to port Paperwork to MacOS. Porting to MacOS requires Apple computers. I have no intention of wasting my money (and my time) on proprietary hardware and software.

However if someone else want to port it, please go ahead ! :slight_smile: . I’ll do my best to help you (keeping in mind I know very little about MacOS).

If someone is willing, there is a bit of good news. Paperwork 2 has been designed to be portable (the intended target is Android):

  • It is modular. It is made of a very small core and a lot of plugins. Plugins can be disabled if required.
  • The logic has been separated from the user interfaces has much as possible. The logic is in paperwork-backend/ whereas the user interfaces are in paperwork-gtk/ and paperwork-shell/ (paperwork-shell = paperwork-json + paperwork-cli).

Now the bad news:

  • I haven’t ported Libinsane to MacOS. And while Libinsane is modular too, it looks like a huge work. As a first step, I think the simplest thing to do would be to disable scanning on MacOS (see below).
  • I’m not going to publish officially a Paperwork version for MacOS unless I have a gitlab-runner running on a MacOS computer to run the tests and make the builds. MacOS VM are remarkably painful to create and maintain (Apple does obviously everything they can to prevent you from making a VM) and as mentioned before, I’m not going to spend money for a MacOS port. So it’s up to the person doing the port to provide the test/build runner.

To disable scanning in Paperwork:

# Linux/Windows
paperwork-gtk plugins remove paperwork_backend.docscan.libinsane
paperwork-json plugins remove paperwork_backend.docscan.libinsane

# Linux only:
paperwork-cli plugins remove paperwork_backend.docscan.libinsane

If you can’t run Paperwork (because you’re porting it to MacOS for instance), the simplest thing to do is to remove paperwork_backend.docscan.libinsane from the plugin list in paperwork-backend/src/paperwork_backend/__init__.py.

Best regards,

Hi jflesch,

Thanks for your quick reply. I think I start with getting the paperwork-cli to work on Mac and then continue with GTK. I hope it will work with scanning disabled.

I’ve never setup a github-runner for MacOS but I’m sure there is a way.

I’ll keep you posted in this thread about my progress.