I have been working for a while on a crate registry.
Meuse fully implements the alternative registries RFC/API. You can publish your crates on it, download dependencies from it etc... like you do with
crates.io (all Cargo commands like
search should work with Meuse).
Meuse also exposes an API to manage users, roles, crates, categories, tokens.
Meuse can store the crates binary files in 2 stores currently: on the local filesystem, or on an S3-compatible storage. Meuse is also able to mirror
crates.io (crates will be downloaded by Meuse from
crates.io, and then cached in the Meuse store).
I've also started working on a frontend to browse/search crates and categories.
Meuse is built with Clojure + Postgres. I chose Clojure for several reasons:
- I really like the language and I'm very productive with it.
- The JVM is a good platform to develop/deploy apps (the ecosystem is huge, launching Meuse is only
java -jar meuse.jar, performances are great etc...).
Of course, the project is not finished (I still have some internal refactoring to do, especially around error handling for example).
I'm looking for people to try the project/give me feedbacks. How to build/run the project is explained in the documentation. Don't hesitate to ask questions.