refactor: integrate immichpy client#259
Conversation
|
Hi, thank you for work! By consciously not relying on any API libraries I tried to minimize dependencies and maintenance effort, while hoping that using only a few API calls with specific parameters would make the API implementation more resilient against changes, keeping compatibility over a bigger range of Immich Server versions. Don't get me wrong, your project looks great, it's got proper documentation and tests! But it's very young, you seem to be the only contributor and I don't know how long it will exist. So can you convince me that the Folder Album Creator can rely on immich-py as long as there's still a use case for it? Maybe with the introduction of Immich workflows Immich will be able to do natively what this script does, who knows? Kind Regards |
|
Hi, Thanks for the thoughtful reply – your hesitation makes complete sense, and honestly I'd have the same concern introducing a single-maintainer dependency into a small, focused project like this. A few points that might help clarify how I see immichpy in this context:
Regarding workflows: I've asked the team for more insight into what that feature is expected to cover, so it'll be interesting to see how that evolves. If Immich eventually handles this kind of use case natively, that's honestly a good outcome – in that case the script (and the importance of this dependency decision) likely becomes smaller anyway. If you'd prefer to keep the current approach for now, I completely understand. I'm happy to revisit later or help in other ways – my main aim is just to reduce duplicated API maintenance effort where it makes sense, not to force a dependency. Best, |
|
our dialog motivated me to write the rationale for immichpy |
|
Alright, you convinced me. Points 2 and 3 are essentially what I'm after as well, and points 5 and 6 do help :) Thanks again for the work you put into this! |
Salvoxia
left a comment
There was a problem hiding this comment.
Sorry it took me a while. 90% if your changes are pretty straight forward (if one is familiar with the DTOs).
Salvoxia
left a comment
There was a problem hiding this comment.
My default test runs worked as expected, except for album sharing. Could you please take a look at that?
|
Quick update: Please bear with me, I hope to find more time to complete this towards or at the next weekend! |
Salvoxia
left a comment
There was a problem hiding this comment.
Thanks for your patience! I've managed to put in another round of testing, hit another snag with album sharing when using album property inheritance
Salvoxia
left a comment
There was a problem hiding this comment.
You know what? I can't find anything else. If you can fix the linting errors we're good to go!
|
okay should be good |
|
Thanks for the great iterative work on this from both sides! |
|
Right back at you, thanks for the great collaboration. Here's to |
This change removes legacy API compatibility and standardizes all API interaction through the immichpy client.
What changed
User impact
Compatibility
https://github.com/timonrieger/immichpy/blob/main/COMPATIBILITY.csv
Because backward compatibility has been removed, this should ship as a major version bump.
Manual testing completed; results attached.
Test Details
after step 7

after 11

after 21

after 22

after 23:

after 26
