Crate of the Week


#324

I just found out about bark: Dynamically choose between Arc or Rc

Although still in research mode, it looks like a great idea.


#325

I’d like to nominate rust-ipfs-api (crates.io).


#326

I’ve read that in the latest Rust Weekly there was no crate to nominate.

I am submitting my own crate here, not sure this is allowed: https://crates.io/crates/printpdf

It’s supposed to be a pure-Rust replacement for Apache PDFBox, etc.

  • ~ 3K LOC
  • Compiles on stable Rust
  • Good documentation and examples
  • All issues closed except for feature requests
  • No issues with clippy

So this is why I’d nominate it, instead of nominating no crate at all. Not sure if this is allowed, though.


#327

I will nominate Wither. An ODM for MongoDB written in Rust.

A few awesome things about this crate:

  • extremely simple to get started with.
  • provides a model first approach to interfacing with your MongoDB data.
  • you get to deal with your structs as opposed to BSON documents.
  • well tested.
  • has a nice schema migrations system.

#328

I’d like to nominate Zbox. A zero-details, privacy-focused embeddable file system.

Unlike other system-level file systems, Zbox is a file system that runs inside your application. It only provides access to one process at a time.

Some of its features:

  • Metadata encryption
  • Advanced crypto
  • Content-based data chunk deduplication and file-based deduplication
  • Data compression
  • File contents versioning
  • Copy-on-write (COW :cow:) semantics
  • ACID transactional operations
  • Snapshot
  • Support multiple storages, including memory and OS file system

#329

smallvec is so great I think it should be in the std. It is useful for any time you need to store a small amount of items and an allocation is overkill. It is also great as a part of larger data structures because of data locality.


#330

state_machine_future - Easily create type-safe Futures from state machines — without the boilerplate.


#331

I nominate cargo-audit which checks all dependencies for known vulnerabilities in the RustSec Advisory Database.


#332

I’d like to nominate sec - simple and useful


#333

interesting crate

Rusty Object Notation


#334

I think the “disclaimer” there is important:

While sec usually does a good job from preventing accidentally leaks through logging mistakes, it currently does not protect the actual memory (while not impossible, this requires a lot of extra effort due to heap allocations).

If protecting cryptographic secrets in-memory from stackdumps and similar is a concern, have a look at the secrets crate or similar crates.

Besides the secrets crate, there’s also secstr that does something similar.


#335

@imp do you know where the repo for sec is? I’m wanting to open a couple issues/PRs but the owner never filled in the repository or homepage fields in his Cargo.toml. I wasn’t able to find it on GitHub either.


#336

@Michael-F-Bryan I believe this is the one


#337

I’d like to nominate crossbeam-channel. It’s young and in active development, but deserves more hype.


#338

Whoa!! Super nice! I’ll integrate this into my project to replace mpsc and see how it does.


#339

This looks awesome! I will definitely check it out for usage in my project(s)


#340

YEW - a framework for making Elm/React/Angular-like client web-apps with Rust


#341

An awesome Cassowary UI layout implementation. Super useful for the GUI frameworks.


#342

I propose artifact for next week!

It is the open source design documentation tool for everybody.


What's everyone working on this week (2/2018)?
#343

I’d very much like to nominate https://github.com/autozimu/LanguageClient-neovim. It’s not on crates.io, but in my book that doesn’t matter. What really makes this outstanding is @autozimu’s support, fast response time and time-to-bugfix, his willingness to dive into problems from the interaction with other plugins and the language servers, and to raise issues and interact with the maintainers of those. Three thumbs up!