pubgrub
crates.io
pubgrub | crates.io | |
---|---|---|
6 | 662 | |
316 | 2,811 | |
5.4% | 1.5% | |
8.2 | 10.0 | |
3 days ago | 1 day ago | |
Rust | Rust | |
Mozilla Public License 2.0 | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
pubgrub
-
The magic of dependency resolution
I initially spend quite some time investigating PubGrub for conda (using the awesome rust implementation) but gave up after some time. The biggest issue was that the primitive used in the pubgrub algorithm is the concept of a range and the mathematical operations you can apply to it. This makes the algorithm very good at reasoning about whether or not a particular spec is worth considering. However, it requires that you can express a set of versions as a continuous range. This is often the case when you talk about things like semver, but in conda there are many more factors to consider, for instance, a spec (matchspec in condas case) might, besides referring to a version also refer to a build string in the form of globs ("*cuda") or build numbers, different platforms, features, hashes and you can even use regular expressions in there. I have not been able to figure out a way to map conda matchspecs into a range primitive that works for pubgrub.
-
Compiling Rust is NP-hard
Note that the type system is turing complete, so NP-Hard is not so bad. :-) Also if you are interested in working on a useful NP-Hard problem in rust, we would love help with the PubGrub project!
-
Announcing version 0.2.1 of pubgrub, a dependency solver.
Thanks! it's still a bit fuzzy for me but I've added an issue for this: https://github.com/pubgrub-rs/pubgrub/issues/101 and when we have the time we'll try to implement it!
-
Announcing elm-test-rs 1.0.0, a new tests runner for the Elm language, built in Rust
I am pleased to announce elm-test-rs 1.0.0, a tests runner for the Elm language, like elm-test, mostly built in Rust. This has been a long road and it also included the implementation of the pubgrub dependency solver in Rust to re-conciliate normal and tests dependencies.
-
Criterion.rs v0.3.4 And Iai 0.1.0
If a major pro of Iai is that it can be run in CI, then a guide to setting that up would be great! I would love to use pubgrubs as a guinea pig, if that helps.
crates.io
-
Create a Custom GitHub Action in Rust
Rust has a rich ecosystem of frameworks and libraries that let you read, parse, and manipulate text files, interact with cloud services and databases, and perform any other job that your project's development workflow may require. And because of its strong typing and tight memory management, you are much less likely to write programs that behave unexpectedly in production.
-
Rust Keyword Extraction: Creating the YAKE! algorithm from scratch
All the code discussed in this article can be accessed through this repository. For integration with existing projects consider using keyword_extraction crate available on crates.io.
-
Migrating a JavaScript frontend to Leptos, a Rust framework
So, be sure to double-check your critical libraries and be sure their alternatives exist in the Rust ecosystem. Thereβs a good chance the crates you need are available in Rust's crates.io repository.
-
Learning Rust: A clean start
The previous section was very simple, this section is also very simple but introduces us to cargo which is Rust's package manager, as a JS dev my mind goes straight to NPM.
-
#2 Rust - Cargo Package Manager
Now, there has to be a place where all these packages come from. Similar to npmjs registry, where all node packages are registered, stored and retrieved, Rust also has something called crates.io where many helpful packages and dependencies are registered.
-
Rust π¦ Installation + Hello World
Before proceeding, let's check https://crates.io/, the official Rust package registry.
-
Underestimating rust for my Project.
The most thrilling aspect has been the joy of writing the backend. It's like every struct, enum, and method in Rust forms this interconnected Multiverse of code , which you can see in crates.io which is best Documentation experience I Ever Had.
-
Top 10 Rusty Repositories for you to start your Open Source Journey
5. Crates.io
-
Project Structure Clarification Coming From Python - With Example
When using crates from eg. crates.io, and also things like std and core
-
Cargo has never frustrated me like npm or pip has. Does Cargo ever get frustrating? Does anyone ever find themselves in dependency hell?
Vendoring your packages was very tedious to even remotely get to work with Cargo. I spent a very long time getting Cargo to work together with cargo-local-registry. We vendor crates from crates.io and a custom internal registry.
What are some alternatives?
stabilizer - Stabilizer: Rigorous Performance Evaluation
docs.rs - crates.io documentation generator
elm-solve-deps - A dependency solver for the elm ecosystem
plotters - A rust drawing library for high quality data plotting for both WASM and native, statically and realtimely π¦ ππ
rattler - Rust crates to work with the Conda ecosystem.
Cargo - The Rust package manager
trunk - Build, bundle & ship your Rust WASM application to the web.
gtk4-rs - Rust bindings of GTK 4
Rocket - A web framework for Rust.
embassy - Modern embedded framework, using Rust and async.
cargo-crev - A cryptographically verifiable code review system for the cargo (Rust) package manager.
rust - Empowering everyone to build reliable and efficient software.