Are there any plans to extract the Paperless Go Client lib (living in pkg/client) into its own repository?
This would have a couple of benefits:
- Discovery: When someone (like me) is looking for a Go client lib for Paperless, right now, it is not easy to find that the paperhooks repository has it as a sub-package. While this being an own repository, It would be easier to find (primarily via Google)
- Increased contribution/docs: Additional discovery may lead to increased contribution and its own documentation
- Independent development and release cycles: While the API of paperless evolves, the client lib evolves. Such feature development may not touch the webhook functionality of paperless (what paperhooks is mostly covering) - A new client endpoint in the client lib would require a new release without having additional features for paperhooks itself
- Dependency management: While other implementations (e.g. https://github.com/hansmi/prometheus-paperless-exporter) may require only the client lib and not the paperhooks functionality, a full dependency/download is required (with all its downsides of having dependencies and non used code)
Switching it would also have a couple of downsides:
- Additional development step: While you (@hansmi) maintain paperhooks, the paperless exporter and the client lib, an additional development step and additional maintenance overhead
- Breaking change: Folks who are importing
pkg/client already may suffer from a breaking change -- This might be Okayish if you raise the major version for this change
Both lists may not be complete, just first thoughts from my side.
What do you think about this?
Are there any plans to extract the Paperless Go Client lib (living in
pkg/client) into its own repository?This would have a couple of benefits:
Switching it would also have a couple of downsides:
pkg/clientalready may suffer from a breaking change -- This might be Okayish if you raise the major version for this changeBoth lists may not be complete, just first thoughts from my side.
What do you think about this?