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>