Open JeromeSchmied opened 1 month ago
That's honestly a fair question. First, I will have to mention that if you take a look at the commit history of this project and compare it to lichess-api
, you can see that I started this project about 6 months prior to lichess-api
coming to existence. Back in 2022 this seemed like a good project to take on since a Lichess API wrapper had not been fully implemented (there had been some attempts but they were very much incomplete and unmaintained). I wasn't even aware of this "competitor" until about 2 months ago and by that time I was back to developing this at full speed after a long period of inactivity. I decided that I want to finish what I started and see how these two libraries will shape out eventually. The question "why" is a bit hard to answer because of all this, especially since licheszter
and lichess-api
mostly implement the same features at the moment (or lichess-api
already supporting features that licheszter
does not support yet). However, it seems that in terms of developer experience these two are more or less different. licheszter
is also slighty more lightweight, using about 100 total dependencies compared to lichess-api
s 140-ish. Keeping this library as lightweight as possible will stay to be a big focus of mine.
okay, I completely understand. although it might be slightly more beneficial for the community, if the two lichess api wrappers united and there would only be one, which does implement everything.
It's just a vision, which is probably pretty hard to make actually happen, as the two apis differ in many implementation details, and one should give their dream up and kinda lose loads of work.
It would indeed be better if these two projects just merged into one, but due to very different designs in the DX, licheszter
and lichess-api
are totally incompatible with each other. You are indeed correct in that uniting these two would be hard: it would essentially require a complete code overhaul from either this project or lichess-api
and that would not only take a lot of time, but would also cause the project to kind of lose its identity. As of yet, I don't think such a process can take place, but as they say: never say never.
But for now, I will continue working on licheszter
since I haven't talked to the author of lichess-api
(actually I'm not even sure if he is aware of this project at all). While lichess-api
seems to be a much more popular option currently, licheszter
has also passed 1000 downloads recently on crates.io, which suggests that some people might be actually using it and because of that, I need and want to keep maintaining this on my spare time.
nice
shall I close this issue now?
Yes, you can close it if you have no more questions 👍
oh, wait! maybe if you could provide a blocking version (maybe crate feature), with a very minimal set of dependencies (maybe ureq
instead reqwest
, no tokio
, no futures
, ... I'd be very happy!
Oh yeah, I have thought about implementing it as a separate crate feature. It will come eventually but it is really a super massive feature to implement so it will take quite some time. But if you want to help with the implementation, you're more than welcome to do so ;)
why a new library, when a Rust lichess-api with kinda same goals exists?