2 min read

Earlier this month, iqlusion, an infrastructure provider for next-generation cryptocurrency technologies, announced the release of Abscissa 0.1, a security-oriented microframework for building Rust applications. Yesterday, the team announced the release of Abscissa 0.2.

Tony Arcieri, the co-founder of iqlusion, wrote in a blog post, “After releasing v0.1, we’ve spent the past few weeks further polishing it up in tandem with this blog post, and just released a follow-up v0.2.”

After developing a lot of Rust applications ranging from CLI to network services and managing a lot of the same copy/paste boilerplate, iqlusion decided to create the Abscissa framework. It aims to maximize functionality while minimizing the number of dependencies.

What features does Abscissa come with?

Command-line option parsing

Abscissa comes with simple declarative option parser, which is based on the gumdrop crate. The option parser encompasses several improvements to provide better UX and tighter integration with the other parts of the framework, for example, overriding configuration settings using command-line options.

Uses component architecture

It uses a component architecture for extensibility, with a minimalist implementation and still is able to offer features like calculating dependency ordering and providing hooks into the application lifecycle.

Configuration

Allows simple parsing of Tom’s Obvious, Minimal Language (TOML) configurations to serde-parsed configuration types that can be dynamically updated at runtime.

Error handling

Abscissa has a generic ‘Error’ type based on the ‘failure’ crate and a unified error-handling subsystem.

Logging

It uses the ‘log’ crate to provide application-level logging.

Secrets management

The optional ‘secrets’ module contains a ‘Secret’ type that derives serde’s Deserialize, which can be used for representing secret values parsed from configuration files or elsewhere.

Terminal interactions

It supports colored terminal output and is useful for Cargo-like status messages with easy-to-use macros.

Read the official announcement for more details on Abscissa. You can also check out its GitHub repository.

Read Next

Introducing Ballista, a distributed compute platform based on Kubernetes and Rust

Fastly CTO Tyler McMullen on Lucet and the future of WebAssembly and Rust [Interview]

Rust 1.36.0 releases with a stabilized ‘Future’ trait, NLL for Rust 2015, and more