pkg.re/essentialkaos/ek.10@v12.41.0+incompatible/README.md (about)

     1  <p align="center"><a href="#readme"><img src="https://gh.kaos.st/go-ek.svg"/></a></p>
     2  
     3  <p align="center">
     4    <a href="https://kaos.sh/g/ek.v12?docs"><img src="https://gh.kaos.st/godoc.svg" alt="PkgGoDev"></a>
     5    <a href="https://kaos.sh/r/ek"><img src="https://kaos.sh/r/ek.svg" alt="GoReportCard" /></a>
     6    <a href="https://kaos.sh/b/ek"><img src="https://kaos.sh/b/3649d737-e5b9-4465-9765-b9f4ebec60ec.svg" alt="Codebeat badge" /></a>
     7    <a href="https://kaos.sh/w/ek/ci"><img src="https://kaos.sh/w/ek/ci.svg" alt="GitHub Actions CI Status" /></a>
     8    <a href="https://kaos.sh/w/ek/codeql"><img src="https://kaos.sh/w/ek/codeql.svg" alt="GitHub Actions CodeQL Status" /></a>
     9    <a href="#license"><img src="https://gh.kaos.st/apache2.svg" /></a>
    10  </p>
    11  
    12  <p align="center"><a href="#platform-support">Platform support</a> • <a href="#installation">Installation</a> • <a href="#sub-packages">Sub-packages</a> • <a href="#projects-with-ek">Projects with EK</a> • <a href="#build-status">Build Status</a> • <a href="#contributing">Contributing</a> • <a href="#license">License</a></p>
    13  
    14  <br/>
    15  
    16  Auxiliary packages for Go.
    17  
    18  ### Platform support
    19  
    20  Currently we support Linux and macOS (_except some packages_). All packages have stubs for unsupported platforms (_for autocomplete_).
    21  
    22  <details><summary><b>More info about stubs</b></summary><p>
    23  
    24  > Some packages cannot be used on some platforms, like `fsutil` package, which cannot be used on Windows due to using syscalls, or `system` sub-packages which require [procfs](https://en.wikipedia.org/wiki/Procfs). But you can write code on these platforms with no problem because almost all packages have stubs with information about all constants, variables, and functions available on other platforms. So, for example, Sublime with [LSP](https://lsp.sublimetext.io) on Windows will show all information about methods available only on the Linux platform. All descriptions from stubs contain symbol ❗ at the beginning as a mark of unsupported code. Code with stubs can be compiled, but any method invocation from stubs will lead to panic.
    25  
    26  </p></details>
    27  
    28  ### Installation
    29  
    30  Make sure you have a working Go 1.16+ workspace (_[instructions](https://golang.org/doc/install)_), then:
    31  
    32  ```
    33  go get pkg.re/essentialkaos/ek.v12
    34  ```
    35  
    36  If you want to update `EK` to latest stable release, do:
    37  
    38  ```
    39  go get -u pkg.re/essentialkaos/ek.v12
    40  ```
    41  
    42  ### Sub-packages
    43  
    44  * [`ansi`](https://pkg.re/essentialkaos/ek.v12/ansi?docs) - Package provides methods for working with ANSI/VT100 control sequences
    45  * [`cache`](https://pkg.re/essentialkaos/ek.v12/cache?docs) - Package provides a simple in-memory key:value cache
    46  * [`color`](https://pkg.re/essentialkaos/ek.v12/color?docs) - Package provides methods for working with colors
    47  * [`cron`](https://pkg.re/essentialkaos/ek.v12/cron?docs) - Package provides methods for working with cron expressions
    48  * [`csv`](https://pkg.re/essentialkaos/ek.v12/csv?docs) - Package with simple (without any checks) CSV parser compatible with default Go parser
    49  * [`easing`](https://pkg.re/essentialkaos/ek.v12/easing?docs) - Package with easing functions (Back, Bounce, Circ, Cubic, Elastic, Expo, Linear, Quad, Quint, Sine)
    50  * [`emoji`](https://pkg.re/essentialkaos/ek.v12/emoji?docs) - Package provides methods for working with emojis
    51  * [`env`](https://pkg.re/essentialkaos/ek.v12/env?docs) - Package provides methods for working with environment variables
    52  * [`errutil`](https://pkg.re/essentialkaos/ek.v12/errutil?docs) - Package provides methods for working with errors
    53  * [`events`](https://pkg.re/essentialkaos/ek.v12/events?docs) - Package provides methods and structs for creating event-driven systems
    54  * [`directio`](https://pkg.re/essentialkaos/ek.v12/directio?docs) - Package provides methods for reading/writing files with direct io
    55  * [`fmtc`](https://pkg.re/essentialkaos/ek.v12/fmtc?docs) - Package provides methods similar to fmt for colored output
    56  * [`fmtc/lscolors`](https://pkg.re/essentialkaos/ek.v12/fmtc/lscolors?docs) - Package provides methods for colorizing file names based on colors from dircolors
    57  * [`fmtutil`](https://pkg.re/essentialkaos/ek.v12/fmtutil?docs) - Package provides methods for output formatting
    58  * [`fmtutil/table`](https://pkg.re/essentialkaos/ek.v12/fmtutil/table?docs) - Package contains methods and structs for rendering data in tabular format
    59  * [`fsutil`](https://pkg.re/essentialkaos/ek.v12/fsutil?docs) - Package provides methods for working with files on POSIX compatible systems (BSD/Linux/macOS)
    60  * [`hash`](https://pkg.re/essentialkaos/ek.v12/hash?docs) - Package hash contains different hash algorithms and utilities
    61  * [`httputil`](https://pkg.re/essentialkaos/ek.v12/httputil?docs) - Package provides methods for working with HTTP request/responses
    62  * [`initsystem`](https://pkg.re/essentialkaos/ek.v12/initsystem?docs) - Package provides methods for working with different init systems (sysv, upstart, systemd)
    63  * [`jsonutil`](https://pkg.re/essentialkaos/ek.v12/jsonutil?docs) - Package provides methods for working with JSON data
    64  * [`knf`](https://pkg.re/essentialkaos/ek.v12/knf?docs) - Package provides methods for working with configuration files in [KNF format](https://kaos.sh/knf-spec)
    65  * [`log`](https://pkg.re/essentialkaos/ek.v12/log?docs) - Package with an improved logger
    66  * [`mathutil`](https://pkg.re/essentialkaos/ek.v12/mathutil?docs) - Package provides some additional math methods
    67  * [`netutil`](https://pkg.re/essentialkaos/ek.v12/netutil?docs) - Package provides methods for working with network
    68  * [`options`](https://pkg.re/essentialkaos/ek.v12/options?docs) - Package provides methods for working with command-line options
    69  * [`passwd`](https://pkg.re/essentialkaos/ek.v12/passwd?docs) - Package contains methods for working with passwords
    70  * [`path`](https://pkg.re/essentialkaos/ek.v12/path?docs) - Package for working with paths (fully compatible with base path package)
    71  * [`pid`](https://pkg.re/essentialkaos/ek.v12/pid?docs) - Package for working with PID files
    72  * [`pluralize`](https://pkg.re/essentialkaos/ek.v12/pluralize?docs) - Package provides methods for pluralization
    73  * [`progress`](https://pkg.re/essentialkaos/ek.v12/progress?docs) - Package provides methods and structs for creating terminal progress bar
    74  * [`rand`](https://pkg.re/essentialkaos/ek.v12/rand?docs) - Package for generating random data
    75  * [`req`](https://pkg.re/essentialkaos/ek.v12/req?docs) - Package simplify working with an HTTP requests
    76  * [`secstr`](https://pkg.re/essentialkaos/ek.v12/secstr?docs) - Package provides methods and structs for working with protected (secure) strings
    77  * [`signal`](https://pkg.re/essentialkaos/ek.v12/signal?docs) - Package provides methods for handling POSIX signals
    78  * [`sliceutil`](https://pkg.re/essentialkaos/ek.v12/sliceutil?docs) - Package provides methods for working with slices
    79  * [`sortutil`](https://pkg.re/essentialkaos/ek.v12/sortutil?docs) - Package provides methods for sorting slices
    80  * [`spellcheck`](https://pkg.re/essentialkaos/ek.v12/spellcheck?docs) - Package provides spellcheck based on Damerau–Levenshtein distance algorithm
    81  * [`spinner`](https://pkg.re/essentialkaos/ek.v12/spinner?docs) - Package provides methods for creating spinner animation for long-running tasks
    82  * [`strutil`](https://pkg.re/essentialkaos/ek.v12/strutil?docs) - Package provides methods for working with strings
    83  * [`system/exec`](https://pkg.re/essentialkaos/ek.v12/system/exec?docs) - Package provides methods for executing commands
    84  * [`system/process`](https://pkg.re/essentialkaos/ek.v12/system/process?docs) - Package provides methods for gathering information about active processes
    85  * [`system/procname`](https://pkg.re/essentialkaos/ek.v12/system/procname?docs) - Package provides methods for changing process name in the process tree
    86  * [`system/sensors`](https://pkg.re/essentialkaos/ek.v12/system/sensors?docs) - Package provide methods for collecting sensors information
    87  * [`system`](https://pkg.re/essentialkaos/ek.v12/system?docs) - Package provides methods for working with system data (metrics/users)
    88  * [`terminal`](https://pkg.re/essentialkaos/ek.v12/terminal?docs) - Package provides methods for working with user input
    89  * [`terminal/window`](https://pkg.re/essentialkaos/ek.v12/terminal/window?docs) - Package provides methods for working terminal window
    90  * [`timeutil`](https://pkg.re/essentialkaos/ek.v12/timeutil?docs) - Package provides methods for working with time and date
    91  * [`tmp`](https://pkg.re/essentialkaos/ek.v12/tmp?docs) - Package provides methods for working with temporary data
    92  * [`usage`](https://pkg.re/essentialkaos/ek.v12/usage?docs) - Package usage provides methods and structs for generating usage info for command-line tools
    93  * [`usage/update`](https://pkg.re/essentialkaos/ek.v12/usage/update?docs) - Package contains update checkers for different services
    94  * [`usage/completion/bash`](https://pkg.re/essentialkaos/ek.v12/usage/completion/bash?docs) - Package provides methods for generating bash completion
    95  * [`usage/completion/fish`](https://pkg.re/essentialkaos/ek.v12/usage/completion/fish?docs) - Package provides methods for generating fish completion
    96  * [`usage/completion/zsh`](https://pkg.re/essentialkaos/ek.v12/usage/completion/zsh?docs) - Package provides methods for generating zsh completion
    97  * [`uuid`](https://pkg.re/essentialkaos/ek.v12/uuid?docs) - Package provides methods for generating version 4 and 5 UUID's
    98  * [`version`](https://pkg.re/essentialkaos/ek.v12/version?docs) - Package version provides methods for working with semver version info
    99  
   100  ### Projects with `EK`
   101  
   102  * [aligo](https://kaos.sh/aligo) - Utility for checking and viewing Golang struct alignment info
   103  * [Bastion](https://kaos.sh/bastion) - Utility for temporary disabling access to server
   104  * [bibop](https://kaos.sh/bibop) - Utility for testing command-line tools
   105  * [bop](https://kaos.sh/bop) - Utility for generating bibop tests for RPM packages
   106  * [Deadline](https://kaos.sh/deadline) - Simple utility for controlling application working time
   107  * [fz](https://kaos.sh/fz) - Simple tool for formatting `go-fuzz` output
   108  * [GoHeft](https://kaos.sh/goheft) - Utility for listing sizes of all used static libraries compiled into golang binary
   109  * [GoMakeGen](https://kaos.sh/gomakegen) - Utility for generating makefiles for golang applications
   110  * [icecli](https://kaos.sh/icecli) - Command-line tools for Icecast
   111  * [IMC](https://kaos.sh/imc) - Simple terminal dashboard for Icecast
   112  * [init-exporter](https://github.com/funbox/init-exporter) - Utility for exporting services described by Procfile to init system
   113  * [jira-reindex-runner](https://kaos.sh/jira-reindex-runner) - Application for periodical running Jira re-index process
   114  * [knf](https://kaos.sh/knf) - Simple utility for reading values from KNF files
   115  * [MDToc](https://kaos.sh/mdtoc) - Utility for generating table of contents for markdown files
   116  * [Mockka](https://kaos.sh/mockka) - Mockka is a simple utility for mocking HTTP API's
   117  * [perfecto](https://kaos.sh/perfecto) - Tool for checking perfectly written RPM specs
   118  * [pkg.re Morpher](https://kaos.sh/pkgre) - Part of [pkg.re](https://pkg.re) service (_provides versioned URLs for Go_)
   119  * [RBInstall](https://kaos.sh/rbinstall) - Utility for installing prebuilt ruby to RBEnv
   120  * [Redis CLI Monitor](https://kaos.sh/redis-cli-monitor) - Tiny redis client for renamed MONITOR commands
   121  * [Redis Latency Monitor](https://kaos.sh/redis-latency-monitor) - Tiny Redis client for latency measurement
   122  * [Redis Monitor Top](https://kaos.sh/redis-monitor-top) - Tiny Redis client for aggregating stats from MONITOR flow
   123  * [rsz](https://kaos.sh/rsz) - Simple utility for image resizing
   124  * [scratch](https://kaos.sh/scratch) - Simple utility for generating blank files for Go apps, utilities and packages
   125  * [SHDoc](https://kaos.sh/shdoc) - Tool for viewing and exporting docs for shell scripts
   126  * [Sonar](https://kaos.sh/sonar) - Utility for showing user Slack status in Atlassian Jira
   127  * [SourceIndex](https://kaos.sh/source-index) - Utility for generating an index for source archives
   128  * [SSLScan Client](https://kaos.sh/sslcli) - Pretty awesome command-line client for public SSLLabs API
   129  * [swptop](https://kaos.sh/swptop) - Simple utility for viewing swap consumption of processes
   130  * [uc](https://kaos.sh/uc) - Simple utility for counting unique lines
   131  * [updown-badge-server](https://kaos.sh/updown-badge-server) - Service for generating badges for updown.io checks
   132  * [Yo](https://kaos.sh/yo) - Command-line YAML processor
   133  
   134  ### Build Status
   135  
   136  | Branch | Status |
   137  |--------|----------|
   138  | `master` | [![CI](https://kaos.sh/w/ek/ci.svg?branch=master)](https://kaos.sh/w/ek/ci?query=branch:master) |
   139  | `develop` | [![CI](https://kaos.sh/w/ek/ci.svg?branch=develop)](https://kaos.sh/w/ek/ci?query=branch:develop) |
   140  
   141  ### Contributing
   142  
   143  Before contributing to this project please read our [Contributing Guidelines](https://github.com/essentialkaos/contributing-guidelines#contributing-guidelines).
   144  
   145  ### License
   146  
   147  [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0)
   148  
   149  <p align="center"><a href="https://essentialkaos.com"><img src="https://gh.kaos.st/ekgh.svg"/></a></p>