#progress-bar #learning #projects #mini

zung_mini

Mini rust projects that target specific features of rust

7 unstable releases (3 breaking)

0.4.0 Oct 10, 2024
0.3.1 Oct 2, 2024
0.2.1 Oct 1, 2024
0.2.0 Sep 30, 2024
0.1.2 Sep 30, 2024

#521 in Algorithms

Download history 208/week @ 2024-09-24 432/week @ 2024-10-01 115/week @ 2024-10-08 12/week @ 2024-10-15

418 downloads per month
Used in zung

MIT license

60KB
1K SLoC

Zung Mini - Mini Rust Projects

This Library consists of varouis small rust projects that target different features of rust such as traits, lifetimes, type system etc. Each project is separated out in different modules as listed out in Table of Contents below.

Zung Family

This library is part of the zung family. Install the zung binary with cargo install zung to try out some of the features of this library.

Disclaimer

This library is intended for learning purposes only. While I will do my best to write the most professional code I can (with my limited coding knowledge), it is not my intention for this library to be used in any production environment.

Ateast not yet...

Table of Contents

Mini Project 1 - ProgBar

Implementation of a progress bar over iterators based on "Type-Driven API Design in Rust" by Will Crichton

The ProgBar module is a lightweight and customizable progress bar library for Rust iterators. It allows you to easily track the progress of any iterator in your terminal with visual feedback. Whether your iterator is bounded (has a known size) or unbounded (infinite loop), ProgBar adapts to display the progress accordingly.

Features

  • Easily add progress bars to any iterator with minimal code changes.
  • Progress can be tracked for both finite and infinite iterators.
  • Modify the style and delimiters of the progress bar.
  • Live updates of the progress bar in the terminal as your iterator progresses.

Mini Project 2 - Strsplit

A custom string splitting utility targeting lifetimes in rust following Crust of Rust: Lifetime Annotations

The Strsplit module provides an efficient, iterator-based string splitting utility for Rust. It extends both String and &str types with a strsplit method, allowing users to split strings based on a specified delimiter and iterate over the resulting substrings lazily or collect them all at once. This is particularly useful when you need efficient and flexible string splitting behavior.

Features

  • It splits stuff.
  • Not much more than that.

Mini Project 3 - Orst

_ Implementation of custom sorting algorithms along with a benchmark following Crust of Rust: Sorting Algorithms

The Orst module provides an custom implementations of sorting algorithms along with a simple algorithm.

Features

  • It sorts stuff.
  • Easy to use.

Usage

See the docs for how to use each module of this library.

Dependencies

~6–17MB
~158K SLoC