Little asynchronous client for Paperless-ngx, written in Python. You should at least use Python >=3.12
.
- Depends on aiohttp, works in async environments.
- Token authentication preferred (credentials possible using a URL like https://user:pass@example.com)
- Request single resource items.
- Iterate over all resource items or request them page by page.
- Create, update and delete resource items.
- Add, remove and update custom fields on documents.
- Almost feature complete.
- pypaperless is designed to transport data only. Your code must organize it.
Find out more about Paperless-ngx here:
- Project: https://docs.paperless-ngx.com
- API Docs: https://docs.paperless-ngx.com/api/
- Source Code: https://github.com/paperless-ngx/paperless-ngx
pip install pypaperless
Please check out the docs for detailed instructions and examples.
Choosing the right version of pypaperless for your Paperless-ngx instance can be tricky. This little matrix is here to help.
pypaperless | Paperless-ngx |
---|---|
>= 5.1 | >= 2.17 |
>= 5.0 | >= 2.17 |
>= 4.1 | >= 2.16 |
>= 4.0 | >= 2.15 |
< 4.0 | < 2.15 |
- pypaperless
<4.0
is not compatible with Paperless-ngx>=2.15
due to breaking server changes. - pypaperless
>=5.0
implements date changes in the document API and is therefore not compatible with Paperless-ngx<2.17
. - pypaperless
>=5.1
will drop support for all Paperless-ngx versions without the Open API schema, introduced in2.15
.
Consider keeping both Paperless-ngx and pypaperless always updated.
pypaperless is written by Tobias Schulz. Its his first Python project. Feedback appreciated.
Check out all contributors here.