41 releases

0.13.2 Sep 14, 2022
0.13.1 Jul 20, 2022
0.12.0 Dec 13, 2021
0.11.3 Mar 15, 2021
0.1.2 Mar 30, 2018

#1727 in Development tools

MIT license

8KB
102 lines

See crate docs.


lib.rs:

Shkeleton is a skeleton Rust project which defines some default dependencies and contains some common API's. The idea behind Shkeleton is that you don't need to update all the dependencies by hand for every your library or binary, you could just update Shkeleton version and get all updates.

Dependencies

  • log - logging facade
  • byteorder - dealing with data reading/writing
  • lazy_static - macro to define a lazy static constants
  • array_tool - utilities for dealing with arrays
  • itertools - utilities for dealing with iterators
  • iterator-ext - extension for iterators
  • regex - regular expressions
  • lazy-regex - regular expressions macros
  • url - handling URLs
  • percent_encoding - URL encoding
  • derive_more & derive_deref - more derive implementations
  • chrono - dealing with time and date
  • fstrings - string interpolation macros
  • sherr - error signalling and logger helpers
  • log - logging API (through sherr)
  • anyhow - flexible error signalling (through sherr)
  • backtrace - backtrace routines (through sherr)

Features

Shkeleton also defines a few features which extend the dependencies list and APIs.

cli

Additional dependencies:

  • clap - define your command line arguments parser
  • glob - dealing with glob patterns
  • dirs - dealing with system paths
  • fern - logging implementation (through sherr)

concurrency

Additional dependencies:

  • crossbeam - multi-threading utils
  • num_cpus - get the number of CPUs and cores available
  • parking_lot - faster synchronization primitives Concurrency feature also defines a facade for RwLock, which allows to hide an implementation (std::sync::RwLock or parking_lot::RwLock) behind this facade and switch implementation without need to update sources.

deadlock_detection

Enables parking_lot deadlock_detection feature.

Dependencies

~9–21MB
~310K SLoC