kimono-koans / dano

A hashdeep/md5tree (but much more) for media files
https://crates.io/crates/dano
Mozilla Public License 2.0
139 stars 0 forks source link

[Question]: Library usage #8

Closed sandersantema closed 1 year ago

sandersantema commented 1 year ago

I'd like to use dano as a library. Is this possible? If so do you have some tips on how to do so?

kimono-koans commented 1 year ago

Most generally, it really isn't well suited to be a library right now.

Why? First, it's written to be a CLI app, that is, it has no stable interfaces and wasn't written according to that kind of pattern. Second, its a very thin shim over the FFMPEG for the juicy bits. Third, because dano stores state the way it does, its a hard thing to get right. It works, but I worry about someone relying upon it working as it would have to in a library. Fourth, I don't personally want to offer the sort of soft guarantees you might expect from a library (like, I don't intend for this internal feature to break).

But, fifth, do what you want, it's open source, only remember to submit your PRs according to the terms of the license!

I'm interested -- do you have some intended use case?

Thanks.

sandersantema commented 1 year ago

I've been working on a personal project for a while and decided I really couldn't put up with python anymore and switched to rust (damn those pesky None values!). But being so inexperienced (2 days) with rust I couldn't determine whether dano would be usable as a library or not. In the end I just need the xattr value so using dano as a command line tool at first and then reading the written values out using a xattr library should do. But if it were possible I would've wanted to use dano as a library directly just for ease of use.

I'll close the question since I've got my answer, thanks for the quick reply!

kimono-koans commented 1 year ago

Good luck. Interested to see what you come up with if/when you choose to share!