github.com/tendermint/tmlibs@v0.9.0/README.md (about)

     1  # TMLIBS
     2  
     3  This repo is a home for various small packages.
     4  
     5  ## autofile
     6  
     7  Autofile is file access with automatic log rotation. A group of files is maintained and rotation happens
     8  when the leading file gets too big. Provides a reader for reading from the file group.
     9  
    10  ## cli
    11  
    12  CLI wraps the `cobra` and `viper` packages and handles some common elements of building a CLI like flags and env vars for the home directory and the logger.
    13  
    14  ## clist
    15  
    16  Clist provides a linekd list that is safe for concurrent access by many readers.
    17  
    18  ## common
    19  
    20  Common provides a hodgepodge of useful functions.
    21  
    22  ## db
    23  
    24  DB provides a database interface and a number of implementions, including ones using an in-memory map, the filesystem directory structure,
    25  an implemention of LevelDB in Go, and the official LevelDB in C.
    26  
    27  ## events
    28  
    29  Events is a synchronous PubSub package.
    30  
    31  ## flowrate
    32  
    33  Flowrate is a fork of https://github.com/mxk/go-flowrate that added a `SetREMA` method.
    34  
    35  ## log
    36  
    37  Log is a log package structured around key-value pairs that allows logging level to be set differently for different keys.
    38  
    39  ## merkle
    40  
    41  Merkle provides a simple static merkle tree and corresponding proofs.
    42  
    43  ## process
    44  
    45  Process is a simple utility for spawning OS processes.
    46  
    47  ## pubsub
    48  
    49  PubSub is an asynchronous PubSub package.